diff --git a/100_core/src/gplx/core/criterias/Criteria.java b/100_core/src/gplx/core/criterias/Criteria.java index 4c62e4061..18f209c53 100644 --- a/100_core/src/gplx/core/criterias/Criteria.java +++ b/100_core/src/gplx/core/criterias/Criteria.java @@ -19,6 +19,6 @@ package gplx.core.criterias; import gplx.*; import gplx.core.*; public interface Criteria extends XtoStrAble { byte Tid(); boolean Matches(Object obj); - void Val_from_args(HashAdp args); + void Val_from_args(Hash_adp args); void Val_as_obj_(Object obj); } diff --git a/100_core/src/gplx/core/criterias/Criteria_between.java b/100_core/src/gplx/core/criterias/Criteria_between.java index ec7eeb399..bd13af01b 100644 --- a/100_core/src/gplx/core/criterias/Criteria_between.java +++ b/100_core/src/gplx/core/criterias/Criteria_between.java @@ -20,7 +20,7 @@ public class Criteria_between implements Criteria { public Criteria_between(boolean negate, Comparable lhs, Comparable rhs) {this.negate = negate; this.lhs = lhs; this.rhs = rhs;} public byte Tid() {return Criteria_.Tid_between;} public boolean Negated() {return negate;} private final boolean negate; - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public void Val_as_obj_(Object v) { Object[] ary = (Object[])v; lhs = (Comparable)ary[0]; diff --git a/100_core/src/gplx/core/criterias/Criteria_bool_base.java b/100_core/src/gplx/core/criterias/Criteria_bool_base.java index 226603bdc..d9ad874ab 100644 --- a/100_core/src/gplx/core/criterias/Criteria_bool_base.java +++ b/100_core/src/gplx/core/criterias/Criteria_bool_base.java @@ -20,7 +20,7 @@ public abstract class Criteria_bool_base implements Criteria { @gplx.Internal protected void Ctor(String op_literal, Criteria lhs, Criteria rhs) {this.op_literal = op_literal; this.lhs = lhs; this.rhs = rhs;} public abstract byte Tid(); public abstract boolean Matches(Object curVal); - public void Val_from_args(HashAdp args) {lhs.Val_from_args(args); rhs.Val_from_args(args);} + public void Val_from_args(Hash_adp args) {lhs.Val_from_args(args); rhs.Val_from_args(args);} public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} public String XtoStr() {return String_.Concat(lhs.XtoStr(), " ", this.op_literal, " ", rhs.XtoStr());} public String Op_literal() {return op_literal;} private String op_literal; @@ -42,7 +42,7 @@ class Criteria_const implements Criteria { public Criteria_const(boolean val) {this.val = val;} public byte Tid() {return Criteria_.Tid_const;} public boolean Matches(Object comp) {return val;} private final boolean val; - public void Val_from_args(HashAdp args) {;} + public void Val_from_args(Hash_adp args) {;} public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));} } @@ -51,7 +51,7 @@ class Criteria_not implements Criteria { public Criteria_not(Criteria v) {this.criteria = v;} public byte Tid() {return Criteria_.Tid_not;} public boolean Matches(Object obj) {return !criteria.Matches(obj);} - public void Val_from_args(HashAdp args) {criteria.Val_from_args(args);} + public void Val_from_args(Hash_adp args) {criteria.Val_from_args(args);} public void Val_as_obj_(Object v) {criteria.Val_as_obj_(v);} public String XtoStr() {return String_.Concat_any(" NOT ", criteria.XtoStr());} } diff --git a/100_core/src/gplx/core/criterias/Criteria_comp.java b/100_core/src/gplx/core/criterias/Criteria_comp.java index ac59d5b56..ccfc30f97 100644 --- a/100_core/src/gplx/core/criterias/Criteria_comp.java +++ b/100_core/src/gplx/core/criterias/Criteria_comp.java @@ -21,7 +21,7 @@ public class Criteria_comp implements Criteria { @gplx.Internal protected Criteria_comp(int comp_mode, Comparable val) {this.comp_mode = comp_mode; this.val = val;} public byte Tid() {return Criteria_.Tid_comp;} public Comparable Val() {return val;} private Comparable val; - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public void Val_as_obj_(Object v) {val = (Comparable)v;} public boolean Matches(Object compObj) { Comparable comp = CompareAble_.as_(compObj); diff --git a/100_core/src/gplx/core/criterias/Criteria_eq.java b/100_core/src/gplx/core/criterias/Criteria_eq.java index 412f6cdb3..22d0ec189 100644 --- a/100_core/src/gplx/core/criterias/Criteria_eq.java +++ b/100_core/src/gplx/core/criterias/Criteria_eq.java @@ -22,7 +22,7 @@ public class Criteria_eq implements Criteria { public boolean Negated() {return negated;} private final boolean negated; public Object Val() {return val;} private Object val; public void Val_as_obj_(Object v) {this.val = v;} - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public boolean Matches(Object comp) { Class val_type = ClassAdp_.ClassOf_obj(val); if (!ClassAdp_.Eq_typeSafe(comp, val_type)) throw Err_.type_mismatch_(val_type, comp); diff --git a/100_core/src/gplx/core/criterias/Criteria_fld.java b/100_core/src/gplx/core/criterias/Criteria_fld.java index ad78cc5cf..14b322544 100644 --- a/100_core/src/gplx/core/criterias/Criteria_fld.java +++ b/100_core/src/gplx/core/criterias/Criteria_fld.java @@ -22,8 +22,8 @@ public class Criteria_fld implements Criteria { public String Key() {return key;} private final String key; public Criteria Crt() {return crt;} private final Criteria crt; public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} - public void Val_from_args(HashAdp args) { - ListAdp list = (ListAdp)args.Fetch(key); if (list == null) throw Err_.new_("criteria.fld key not found; key={0}", key); + public void Val_from_args(Hash_adp args) { + List_adp list = (List_adp)args.Get_by(key); if (list == null) throw Err_.new_("criteria.fld key not found; key={0}", key); Object o = Fill_val(key, crt.Tid(), list); crt.Val_as_obj_(o); } @@ -37,7 +37,7 @@ public class Criteria_fld implements Criteria { public static final String Key_null = null; public static Criteria_fld as_(Object obj) {return obj instanceof Criteria_fld ? (Criteria_fld)obj : null;} public static Criteria_fld new_(String key, Criteria crt) {return new Criteria_fld(key, crt);} - public static Object Fill_val(String key, byte tid, ListAdp list) { + public static Object Fill_val(String key, byte tid, List_adp list) { int len = list.Count(); switch (tid) { case Criteria_.Tid_eq: @@ -45,13 +45,13 @@ public class Criteria_fld implements Criteria { case Criteria_.Tid_like: case Criteria_.Tid_iomatch: if (len != 1) throw Err_.new_("list.len should be 1; key={0} tid={1} len={2}", key, tid, len); - return list.FetchAt(0); + return list.Get_at(0); case Criteria_.Tid_between: if (len != 2) throw Err_.new_("list.len should be 2; key={0} tid={1} len={2}", key, tid, len); - return new Object[] {list.FetchAt(0), list.FetchAt(1)}; + return new Object[] {list.Get_at(0), list.Get_at(1)}; case Criteria_.Tid_in: if (len == 0) throw Err_.new_("list.len should be > 0; key={0} tid={1} len={2}", key, tid, len); - return list.Xto_obj_ary(); + return list.To_obj_ary(); case Criteria_.Tid_const: case Criteria_.Tid_not: case Criteria_.Tid_and: diff --git a/100_core/src/gplx/core/criterias/Criteria_in.java b/100_core/src/gplx/core/criterias/Criteria_in.java index 90a962429..120f18216 100644 --- a/100_core/src/gplx/core/criterias/Criteria_in.java +++ b/100_core/src/gplx/core/criterias/Criteria_in.java @@ -27,7 +27,7 @@ public class Criteria_in implements Criteria { ary_type = ary_len == 0 ? Object.class : ClassAdp_.ClassOf_obj(ary[0]); } public void Val_as_obj_(Object v) {Val_as_obj_ary_((Object[])v);} - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public boolean Matches(Object comp) { if (ary_len == 0) return false; // empty array never matches if (!ClassAdp_.Eq_typeSafe(comp, ary_type)) throw Err_.type_mismatch_(ary_type, comp); diff --git a/100_core/src/gplx/core/criterias/Criteria_ioMatch.java b/100_core/src/gplx/core/criterias/Criteria_ioMatch.java index 9a8ee9bc4..de5450d74 100644 --- a/100_core/src/gplx/core/criterias/Criteria_ioMatch.java +++ b/100_core/src/gplx/core/criterias/Criteria_ioMatch.java @@ -21,7 +21,7 @@ public class Criteria_ioMatch implements Criteria { // EX: url IOMATCH '*.xml|*. public Criteria_ioMatch(boolean match, RegxPatn_cls_ioMatch pattern) {this.match = match; this.pattern = pattern;} public byte Tid() {return Criteria_.Tid_iomatch;} public boolean Negated() {return !match;} private final boolean match; - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public void Val_as_obj_(Object v) {this.pattern = (RegxPatn_cls_ioMatch)v;} public RegxPatn_cls_ioMatch Pattern() {return pattern;} private RegxPatn_cls_ioMatch pattern; public boolean Matches(Object compObj) { diff --git a/100_core/src/gplx/core/criterias/Criteria_like.java b/100_core/src/gplx/core/criterias/Criteria_like.java index 653196a7b..4a33ccdd4 100644 --- a/100_core/src/gplx/core/criterias/Criteria_like.java +++ b/100_core/src/gplx/core/criterias/Criteria_like.java @@ -24,7 +24,7 @@ public class Criteria_like implements Criteria { public byte Tid() {return Criteria_.Tid_like;} public boolean Negated() {return negated;} private final boolean negated; public RegxPatn_cls_like Pattern() {return pattern;} private RegxPatn_cls_like pattern; - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public void Val_as_obj_(Object v) {this.pattern = (RegxPatn_cls_like)v;} public boolean Matches(Object compObj) { String comp = String_.as_(compObj); if (comp == null) throw Err_.type_mismatch_(String.class, compObj); diff --git a/100_core/src/gplx/core/strings/String_bldr.java b/100_core/src/gplx/core/strings/String_bldr.java index c97eb6b36..0099a2506 100644 --- a/100_core/src/gplx/core/strings/String_bldr.java +++ b/100_core/src/gplx/core/strings/String_bldr.java @@ -92,7 +92,7 @@ class String_bldr_thread_single extends String_bldr_base { @Override public String XtoStr() {return sb.toString();} @Override public int Count() {return sb.length();} @Override public String_bldr Add_at(int idx, String s) {sb.insert(idx, s); return this;} - @Override public String_bldr Add(byte[] v) {sb.append(String_.new_utf8_(v)); return this;} + @Override public String_bldr Add(byte[] v) {sb.append(String_.new_u8(v)); return this;} @Override public String_bldr Add(String s) {sb.append(s); return this;} @Override public String_bldr Add(char c) {sb.append(c); return this;} @Override public String_bldr Add(int i) {sb.append(i); return this;} @@ -105,7 +105,7 @@ class String_bldr_thread_multiple extends String_bldr_base { @Override public String XtoStr() {return sb.toString();} @Override public int Count() {return sb.length();} @Override public String_bldr Add_at(int idx, String s) {sb.insert(idx, s); return this;} - @Override public String_bldr Add(byte[] v) {sb.append(String_.new_utf8_(v)); return this;} + @Override public String_bldr Add(byte[] v) {sb.append(String_.new_u8(v)); return this;} @Override public String_bldr Add(String s) {sb.append(s); return this;} @Override public String_bldr Add(char c) {sb.append(c); return this;} @Override public String_bldr Add(int i) {sb.append(i); return this;} diff --git a/100_core/src_000_err/gplx/Err.java b/100_core/src_000_err/gplx/Err.java index 1fdd0b121..8c9ee18a0 100644 --- a/100_core/src_000_err/gplx/Err.java +++ b/100_core/src_000_err/gplx/Err.java @@ -20,10 +20,10 @@ public class Err extends RuntimeException { @Override public String getMessage() {return Message_gplx();} public String Key() {return key;} public Err Key_(String v) {key = v; return this;} private String key = ""; public String Hdr() {return hdr;} public Err Hdr_(String v) {hdr = v; return this;} private String hdr = ""; - public ListAdp Args() {return args;} ListAdp args = ListAdp_.new_(); + public List_adp Args() {return args;} List_adp args = List_adp_.new_(); public Err Add(String k, Object o) {args.Add(KeyVal_.new_(k, o)); return this;} @gplx.Internal protected ErrProcData Proc() {return proc;} ErrProcData proc = ErrProcData.Null; - public OrderedHash CallStack() {return callStack;} OrderedHash callStack = OrderedHash_.new_(); + public Ordered_hash CallStack() {return callStack;} Ordered_hash callStack = Ordered_hash_.new_(); public int CallLevel() {return callLevel;} public Err CallLevel_(int val) {callLevel = val; return this;} public Err CallLevel_1_() {return CallLevel_(1);} int callLevel; public Err Inner() {return inner;} Err inner; @gplx.Internal protected static Err hdr_(String hdr) { @@ -35,7 +35,7 @@ public class Err extends RuntimeException { Err rv = hdr_(hdr + ":" + Err_.Message_lang(thrown)); // add a better error description; DATE:2014-08-15 rv.inner = convert_(thrown); for (int i = 0; i < rv.inner.callStack.Count(); i++) { - ErrProcData itm = (ErrProcData)rv.inner.callStack.FetchAt(i); + ErrProcData itm = (ErrProcData)rv.inner.callStack.Get_at(i); rv.callStack.Add(itm.Raw(), itm); } return rv; diff --git a/100_core/src_000_err/gplx/ErrMsgWtr.java b/100_core/src_000_err/gplx/ErrMsgWtr.java index 386a63036..e43447a60 100644 --- a/100_core/src_000_err/gplx/ErrMsgWtr.java +++ b/100_core/src_000_err/gplx/ErrMsgWtr.java @@ -56,7 +56,7 @@ public class ErrMsgWtr { sb.Add("\t").Add(err.Proc().SignatureRaw()).Add_char_crlf(); // WriteKeyValAry(sb, err.ProcArgs()); } - void WriteKeyValAry(String_bldr sb, ListAdp ary) { + void WriteKeyValAry(String_bldr sb, List_adp ary) { // calc keyMax for valIndentLen int keyMax = 0; for (Object o : ary) { @@ -78,10 +78,10 @@ public class ErrMsgWtr { Err first = errAry[0]; boolean onlyOne = len == 1; sb.Add_str_w_crlf(String_.Repeat("-", 80)); - ListAdp tmp = ListAdp_.new_(); - OrderedHash callStack = first.CallStack(); int callStackCount = callStack.Count(); + List_adp tmp = List_adp_.new_(); + Ordered_hash callStack = first.CallStack(); int callStackCount = callStack.Count(); for (int i = 0; i < callStackCount ; i++) { - ErrProcData proc = (ErrProcData)callStack.FetchAt(i); + ErrProcData proc = (ErrProcData)callStack.Get_at(i); // get procIndex int idx = -1; for (int j = 0; j < len; j++) { @@ -100,13 +100,13 @@ public class ErrMsgWtr { sb.Add_str_w_crlf((String)o); } static Err[] InnerAsAry(Err err) { - ListAdp errAry = ListAdp_.new_(); + List_adp errAry = List_adp_.new_(); Err cur = Err_.as_(err); while (cur != null) { errAry.Add(cur); cur = cur.Inner(); } - return (Err[])errAry.Xto_ary(Err.class); + return (Err[])errAry.To_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 f14b989ec..8195e360f 100644 --- a/100_core/src_000_err/gplx/ErrProcData.java +++ b/100_core/src_000_err/gplx/ErrProcData.java @@ -37,7 +37,7 @@ class ErrProcData { */ if (stackTrace == null) return new ErrProcData[0]; String[] lines = String_.SplitLines_any(stackTrace); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int len = Array_.Len(lines); for (int i = 0; i < len; i++) { ErrProcData md = ErrProcData.parse_(lines[i]); @@ -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.Xto_ary(ErrProcData.class); + return (ErrProcData[])list.To_ary(ErrProcData.class); } public static ErrProcData parse_(String raw) { ErrProcData rv = new ErrProcData().Raw_(raw); diff --git a/100_core/src_000_err/gplx/Err_mgr.java b/100_core/src_000_err/gplx/Err_mgr.java index 17ce4eb73..bb31595a6 100644 --- a/100_core/src_000_err/gplx/Err_mgr.java +++ b/100_core/src_000_err/gplx/Err_mgr.java @@ -21,9 +21,9 @@ public class Err_mgr { public Err not_implemented_() {return Err_.new_(Msg_not_implemented.Gen_str_none());} public Err unhandled_(Object obj) {return Err_.new_(Msg_unhandled.Gen_str_one(obj));} public Err cast_(Exception e, Class obj_class, Object obj) {return Err_.new_(Msg_cast.Gen_str_many(ClassAdp_.NameOf_type(obj_class), Object_.Xto_str_strict_or_null_mark(obj)));} - public Err parse_(Class type , byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(ClassAdp_.NameOf_type(type), String_.new_utf8_len_safe_(raw, 0, 255)));} - public Err parse_obj_(Object o , byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(ClassAdp_.NameOf_obj(o), String_.new_utf8_len_safe_(raw, 0, 255)));} - public Err parse_(String type_name, byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(type_name, String_.new_utf8_len_safe_(raw, 0, 255)));} + public Err parse_(Class type , byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(ClassAdp_.NameOf_type(type), String_.new_u8_by_len(raw, 0, 255)));} + public Err parse_obj_(Object o , byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(ClassAdp_.NameOf_obj(o), String_.new_u8_by_len(raw, 0, 255)));} + public Err parse_(String type_name, byte[] raw) {return Err_.new_(Msg_parse.Gen_str_many(type_name, String_.new_u8_by_len(raw, 0, 255)));} public Err parse_(String type_name, String raw) {return Err_.new_(Msg_parse.Gen_str_many(type_name, String_.MidByLenSafe(raw, 0, 255)));} public Err fmt_auto_(String grp, String key, Object... vals) {return fmt_(grp, key, Bry_fmtr.New_fmt_str(key, vals), vals);} public Err fmt_(String grp, String key, String fmt, Object... vals) { 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 b6419ff9b..1106ed587 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_grp.java +++ b/100_core/src_000_err/gplx/Gfo_msg_grp.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; public class Gfo_msg_grp implements Gfo_msg_obj { public Gfo_msg_grp(Gfo_msg_grp owner, int uid, byte[] key) { - this.owner = owner; this.uid = uid; this.key = key; this.key_str = String_.new_ascii_(key); + this.owner = owner; this.uid = uid; this.key = key; this.key_str = String_.new_a7(key); if (owner != null) { owner.subs.Add(this); path = Gfo_msg_grp_.Path(owner.path, key); @@ -32,15 +32,15 @@ public class Gfo_msg_grp implements Gfo_msg_obj { public byte[] Key() {return key;} private byte[] key; public String Key_str() {return key_str;} private String key_str; public byte[] Path() {return path;} private byte[] path; - public String Path_str() {return String_.new_ascii_(path);} + public String Path_str() {return String_.new_a7(path);} public Gfo_msg_obj Subs_get_by_key(String sub_key) { int subs_len = subs.Count(); for (int i = 0; i < subs_len; i++) { - Gfo_msg_obj sub = (Gfo_msg_obj)subs.FetchAt(i); + Gfo_msg_obj sub = (Gfo_msg_obj)subs.Get_at(i); if (String_.Eq(sub_key, sub.Key_str())) return sub; } return null; } public void Subs_add(Gfo_msg_itm item) {subs.Add(item);} - ListAdp subs = ListAdp_.new_(); + List_adp subs = List_adp_.new_(); } 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 4e4e71ca7..cae3e8c9a 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_grp_.java +++ b/100_core/src_000_err/gplx/Gfo_msg_grp_.java @@ -17,10 +17,10 @@ along with this program. If not, see . */ package gplx; public class Gfo_msg_grp_ { - public static final Gfo_msg_grp Root_gplx = new Gfo_msg_grp(null, Gfo_msg_grp_.Uid_next(), Bry_.new_ascii_("gplx")); + public static final Gfo_msg_grp Root_gplx = new Gfo_msg_grp(null, Gfo_msg_grp_.Uid_next(), Bry_.new_a7("gplx")); public static final Gfo_msg_grp Root = new Gfo_msg_grp(null, Gfo_msg_grp_.Uid_next(), Bry_.Empty); - public static Gfo_msg_grp prj_(String key) {return new Gfo_msg_grp(Root , Gfo_msg_grp_.Uid_next(), Bry_.new_ascii_(key));} - public static Gfo_msg_grp new_(Gfo_msg_grp owner, String key) {return new Gfo_msg_grp(owner , Gfo_msg_grp_.Uid_next(), Bry_.new_ascii_(key));} + public static Gfo_msg_grp prj_(String key) {return new Gfo_msg_grp(Root , Gfo_msg_grp_.Uid_next(), Bry_.new_a7(key));} + public static Gfo_msg_grp new_(Gfo_msg_grp owner, String key) {return new Gfo_msg_grp(owner , Gfo_msg_grp_.Uid_next(), Bry_.new_a7(key));} 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" 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 8c9b224a5..65c61278f 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_itm.java +++ b/100_core/src_000_err/gplx/Gfo_msg_itm.java @@ -19,14 +19,14 @@ package gplx; public class Gfo_msg_itm implements Gfo_msg_obj { public Gfo_msg_itm(Gfo_msg_grp owner, int uid, byte cmd, byte[] key_bry, byte[] fmt, boolean add_to_owner) { this.owner = owner; this.uid = uid; this.cmd = cmd; this.key_bry = key_bry; this.fmt = fmt; - this.key_str = String_.new_ascii_(key_bry); + this.key_str = String_.new_a7(key_bry); this.path_bry = Gfo_msg_grp_.Path(owner.Path(), key_bry); if (add_to_owner) owner.Subs_add(this); } public Gfo_msg_grp Owner() {return owner;} Gfo_msg_grp owner; public int Uid() {return uid;} int uid; public byte[] Path_bry() {return path_bry;} private byte[] path_bry; - public String Path_str() {return String_.new_utf8_(path_bry);} + public String Path_str() {return String_.new_u8(path_bry);} public byte[] Key_bry() {return key_bry;} private byte[] key_bry; public String Key_str() {return key_str;} private String key_str; public Gfo_msg_obj Subs_get_by_key(String sub_key) {return null;} @@ -41,7 +41,7 @@ public class Gfo_msg_itm implements Gfo_msg_obj { return tmp_bfr.Xto_str_and_clear(); } else - return String_.new_utf8_(fmt); + return String_.new_u8(fmt); } public String Gen_str_one(Object val) { if (fmtr == null) fmtr = Bry_fmtr.new_bry_(fmt).Compile(); @@ -50,7 +50,7 @@ public class Gfo_msg_itm implements Gfo_msg_obj { return tmp_bfr.Xto_str_and_clear(); } else - return String_.new_utf8_(fmt); + return String_.new_u8(fmt); } public String Gen_str_none() {return key_str;} static Bry_bfr tmp_bfr = Bry_bfr.reset_(255); 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 d7cc728a7..f3321d6b0 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_itm_.java +++ b/100_core/src_000_err/gplx/Gfo_msg_itm_.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx; public class Gfo_msg_itm_ { public static final byte Cmd_null = 0, Cmd_log = 1, Cmd_note = 2, Cmd_warn = 3, Cmd_stop = 4, Cmd_fail = 5; - public static final byte[][] CmdBry = new byte[][] {Bry_.new_ascii_("null"), Bry_.new_ascii_("log"), Bry_.new_ascii_("note"), Bry_.new_ascii_("warn"), Bry_.new_ascii_("stop"), Bry_.new_ascii_("fail")}; + public static final byte[][] CmdBry = new byte[][] {Bry_.new_a7("null"), Bry_.new_a7("log"), Bry_.new_a7("note"), Bry_.new_a7("warn"), Bry_.new_a7("stop"), Bry_.new_a7("fail")}; public static Gfo_msg_itm new_note_(Gfo_msg_grp owner, String key) {return new_(owner, Cmd_note, key, key);} public static Gfo_msg_itm new_fail_(Gfo_msg_grp owner, String key, String fmt) {return new_(owner, Cmd_warn, key, fmt);} public static Gfo_msg_itm new_warn_(Gfo_msg_grp owner, String key) {return new_(owner, Cmd_warn, key, key);} public static Gfo_msg_itm new_warn_(Gfo_msg_grp owner, String key, String fmt) {return new_(owner, Cmd_warn, key, fmt);} - public static Gfo_msg_itm new_(Gfo_msg_grp owner, byte cmd, String key, String fmt) {return new Gfo_msg_itm(owner, Gfo_msg_grp_.Uid_next(), cmd, Bry_.new_ascii_(key), Bry_.new_ascii_(fmt), false);} + public static Gfo_msg_itm new_(Gfo_msg_grp owner, byte cmd, String key, String fmt) {return new Gfo_msg_itm(owner, Gfo_msg_grp_.Uid_next(), cmd, Bry_.new_a7(key), Bry_.new_a7(fmt), false);} } diff --git a/100_core/src_000_err/gplx/Gfo_msg_root.java b/100_core/src_000_err/gplx/Gfo_msg_root.java index 6e3871b33..015646e7f 100644 --- a/100_core/src_000_err/gplx/Gfo_msg_root.java +++ b/100_core/src_000_err/gplx/Gfo_msg_root.java @@ -42,7 +42,7 @@ public class Gfo_msg_root { public Gfo_msg_data Data_new_note_many(String owner_key, String key, String fmt, Object... vals) {return Data_new_many(Gfo_msg_itm_.Cmd_note, Bry_.Empty, -1, -1, owner_key, key, fmt, vals);} public Gfo_msg_data Data_new_many(byte cmd, String owner_key, String key, String fmt, Object[] vals) {return Data_new_many(cmd, Bry_.Empty, -1, -1, owner_key, key, fmt, vals);} public Gfo_msg_data Data_new_many(byte cmd, byte[] src, int bgn, int end, String owner_key, String key, String fmt, Object[] vals) { - Object owner_obj = owners.Fetch(owner_key); + Object owner_obj = owners.Get_by(owner_key); Gfo_msg_grp owner = null; if (owner_obj == null) { owner = New_list_by_key(owner_key); @@ -52,7 +52,7 @@ public class Gfo_msg_root { owner = (Gfo_msg_grp)owner_obj; Gfo_msg_itm itm = (Gfo_msg_itm)owner.Subs_get_by_key(key); if (itm == null) - itm = new Gfo_msg_itm(owner, uid_item_next++, cmd, Bry_.new_utf8_(key), fmt == null ? Bry_.Empty : Bry_.new_ascii_(fmt), false); + itm = new Gfo_msg_itm(owner, uid_item_next++, cmd, Bry_.new_u8(key), fmt == null ? Bry_.Empty : Bry_.new_a7(fmt), false); return Data_new_many(itm, src, bgn, end, vals); } public Gfo_msg_data Data_new_many(Gfo_msg_itm itm, byte[] src, int bgn, int end, Object... vals) {return Data_get().Ctor_src_many(itm, src, bgn, end, vals);} @@ -67,13 +67,13 @@ public class Gfo_msg_root { String seg = segs[i]; Gfo_msg_grp sub_list = (Gfo_msg_grp)cur_list.Subs_get_by_key(seg); if (sub_list == null) - sub_list = new Gfo_msg_grp(cur_list, uid_list_next++, Bry_.new_ascii_(key)); + sub_list = new Gfo_msg_grp(cur_list, uid_list_next++, Bry_.new_a7(key)); cur_list = sub_list; } return cur_list; } Gfo_msg_grp root; - OrderedHash owners = OrderedHash_.new_(); + Ordered_hash owners = Ordered_hash_.new_(); int uid_list_next = 0; int uid_item_next = 0; public static final Gfo_msg_root _ = new Gfo_msg_root("gplx"); diff --git a/100_core/src_110_primitive/gplx/Array_.java b/100_core/src_110_primitive/gplx/Array_.java index ae116add6..465cc95aa 100644 --- a/100_core/src_110_primitive/gplx/Array_.java +++ b/100_core/src_110_primitive/gplx/Array_.java @@ -19,11 +19,11 @@ package gplx; import java.lang.reflect.Array; import gplx.core.strings.*; public class Array_ { - public static void Sort(Object[] obj) {ListAdp_Sorter.new_().Sort(obj, obj.length);} - public static void Sort(Object[] obj, gplx.lists.ComparerAble comparer) {ListAdp_Sorter.new_().Sort(obj, obj.length, true, comparer);} - public static ListAdp XtoList(Object ary) { + public static void Sort(Object[] obj) {List_adp_sorter.new_().Sort(obj, obj.length);} + public static void Sort(Object[] obj, gplx.lists.ComparerAble comparer) {List_adp_sorter.new_().Sort(obj, obj.length, true, comparer);} + public static List_adp XtoList(Object ary) { int aryLen = Array_.Len(ary); - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); for (int i = 0; i < aryLen; i++) rv.Add(Array_.Get(ary, i)); return rv; @@ -71,7 +71,7 @@ public class Array_ { } public static int Len(Object ary) {return Array.getLength(ary);} public static final int LenAry(Object[] ary) {return ary == null ? 0 : ary.length;} - public static Object FetchAt(Object ary, int i) {return Array.get(ary, i); } + public static Object Get_at(Object ary, int i) {return Array.get(ary, i); } public static Object Create(Class t, int count) {return Array.newInstance(t, count);} public static Object Get(Object ary, int i) {return Array.get(ary, i);} public static void Set(Object ary, int i, Object o) {Array.set(ary, i, o);} diff --git a/100_core/src_110_primitive/gplx/Bool_.java b/100_core/src_110_primitive/gplx/Bool_.java index dcb36ecae..a5de6505d 100644 --- a/100_core/src_110_primitive/gplx/Bool_.java +++ b/100_core/src_110_primitive/gplx/Bool_.java @@ -25,7 +25,7 @@ public class Bool_ implements GfoInvkAble { public static final String N_str = "n" , Y_str = "y"; public static final byte[] Y_bry = new byte[] {Byte_ascii.Ltr_y}, N_bry = new byte[] {Byte_ascii.Ltr_n}; public static final String True_str = "true", False_str = "false"; - public static final byte[] True_bry = Bry_.new_ascii_(True_str), False_bry = Bry_.new_ascii_(False_str); + public static final byte[] True_bry = Bry_.new_a7(True_str), False_bry = Bry_.new_a7(False_str); public static boolean cast_(Object obj) {try {return (Boolean)obj;} catch (Exception e) {throw Err_.type_mismatch_exc_(e, boolean.class, obj);}} public static boolean cast_or_(Object obj, boolean v) {try {return (Boolean)obj;} catch (Exception e) {Err_.Noop(e); return v;}} public static boolean By_int(int v) {return v != 0;} diff --git a/100_core/src_110_primitive/gplx/Bry_.java b/100_core/src_110_primitive/gplx/Bry_.java index 4e29ab898..54d98967c 100644 --- a/100_core/src_110_primitive/gplx/Bry_.java +++ b/100_core/src_110_primitive/gplx/Bry_.java @@ -32,7 +32,7 @@ public class Bry_ { rv[i] = (byte)ary[i]; return rv; } - public static byte[] new_ascii_(String str) { + public static byte[] new_a7(String str) { try { if (str == null) return null; int str_len = str.length(); @@ -47,12 +47,18 @@ public class Bry_ { } catch (Exception e) {throw Err_.err_(e, "invalid ASCII sequence; str={0}", str);} } - public static byte[] new_ascii_safe_null_(String s) {return s == null ? null : new_ascii_(s);} - public static byte[] new_ascii_lang(String s) { - try {return s.getBytes("ASCII");} - catch (Exception e) {throw Err_.err_(e, "unsupported encoding");} + public static byte[] new_u8_safe(String str) {return str == null ? null : new_u8(str);} + public static byte[] new_u8(String str) { + try { + int str_len = str.length(); + int bry_len = new_u8_by_len(str, str_len); + byte[] rv = new byte[bry_len]; + new_u8_write(str, str_len, rv, 0); + return rv; + } + catch (Exception e) {throw Err_.err_(e, "invalid UTF-8 sequence; s={0}", str);} } - public static int new_utf8_len(String s, int s_len) { + public static int new_u8_by_len(String s, int s_len) { int rv = 0; for (int i = 0; i < s_len; ++i) { char c = s.charAt(i); @@ -67,7 +73,7 @@ public class Bry_ { } return rv; } - public static void new_utf8_write(String str, int str_len, byte[] bry, int bry_pos) { + public static void new_u8_write(String str, int str_len, byte[] bry, int bry_pos) { for (int i = 0; i < str_len; ++i) { char c = str.charAt(i); if ( c < 128) { @@ -95,21 +101,6 @@ public class Bry_ { } } } - public static byte[] new_utf8__null(String str) {return str == null ? null : new_utf8_(str);} - public static byte[] new_utf8_(String str) { - try { - int str_len = str.length(); - int bry_len = new_utf8_len(str, str_len); - byte[] rv = new byte[bry_len]; - new_utf8_write(str, str_len, rv, 0); - return rv; - } - catch (Exception e) {throw Err_.err_(e, "invalid UTF-8 sequence; s={0}", str);} - } - public static byte[] new_utf8_lang(String s) { - try {return s.getBytes("UTF-8");} - catch (Exception e) {throw Err_.err_(e, "unsupported encoding");} - } public static byte[] Coalesce(byte[] orig, byte[] val_if_not_blank) {return Bry_.Len_eq_0(val_if_not_blank) ? orig : val_if_not_blank;} public static byte Get_at_end_or_fail(byte[] bry) { if (bry == null) throw Err_.new_("bry is null"); @@ -141,7 +132,7 @@ public class Bry_ { byte[][] rv = new byte[ary_len][]; for (int i = 0; i < ary_len; i++) { String itm = ary[i]; - rv[i] = itm == null ? null : Bry_.new_utf8_(itm); + rv[i] = itm == null ? null : Bry_.new_u8(itm); } return rv; } @@ -151,7 +142,7 @@ public class Bry_ { byte[][] rv = new byte[ary_len][]; for (int i = 0; i < ary_len; i++) { Object itm = ary[i]; - rv[i] = itm == null ? null : Bry_.new_utf8_(Object_.Xto_str_strict_or_empty(itm)); + rv[i] = itm == null ? null : Bry_.new_u8(Object_.Xto_str_strict_or_empty(itm)); } return rv; } @@ -190,7 +181,7 @@ public class Bry_ { int strAryLen = strAry.length; byte[][] rv = new byte[strAryLen][]; for (int i = 0; i < strAryLen; i++) - rv[i] = Bry_.new_utf8_(strAry[i]); + rv[i] = Bry_.new_u8(strAry[i]); return rv; } public static byte[] Xto_str_lower(byte[] src, int bgn, int end) { @@ -329,7 +320,7 @@ public class Bry_ { public static String MidByLenToStr(byte[] src, int bgn, int len) { int end = bgn + len; end = Int_.BoundEnd(end, src.length); byte[] ary = Bry_.Mid(src, bgn, end); - return String_.new_utf8_(ary); + return String_.new_u8(ary); } public static byte[] Mid_safe(byte[] src, int bgn, int end) { try {return Mid(src, bgn, end);} @@ -355,7 +346,7 @@ public class Bry_ { return rv; } catch (Exception e) { Err err = Err_.new_("").Add("bgn", bgn).Add("end", end); - if (src != null) err.Add("src", String_.new_utf8_len_safe_(src, bgn, 32)); + if (src != null) err.Add("src", String_.new_u8_by_len(src, bgn, 32)); if (src == null) err.Hdr_("src is null"); else if (bgn < 0 || bgn > src.length) err.Hdr_("invalid bgn"); else if (end < 0 || end > src.length) err.Hdr_("invalid end"); @@ -620,7 +611,7 @@ public class Bry_ { public static int Xto_int(byte[] ary) {return Xto_int_or(ary, null, 0, ary.length, -1);} public static int Xto_int_or_fail(byte[] ary) { int rv = Xto_int_or(ary, null, 0, ary.length, Int_.MinValue); - if (rv == Int_.MinValue) throw Err_.new_fmt_("could not parse to int; val={0}", String_.new_utf8_(ary)); + if (rv == Int_.MinValue) throw Err_.new_fmt_("could not parse to int; val={0}", String_.new_u8(ary)); return rv; } public static boolean Xto_bool_by_int_or_fail(byte[] ary) { @@ -628,7 +619,7 @@ public class Bry_ { switch (rv) { case 0: return false; case 1: return true; - default: throw Err_.new_fmt_("could not parse to boolean int; val={0}", String_.new_utf8_(ary)); + default: throw Err_.new_fmt_("could not parse to boolean int; val={0}", String_.new_u8(ary)); } } public static int Xto_int_or(byte[] ary, int or) {return Xto_int_or(ary, null, 0, ary.length, or);} @@ -717,12 +708,12 @@ public class Bry_ { } return Xto_int_or(ary, bgn, end_num, or); } - public static float XtoFloatByPos(byte[] ary, int bgn, int end) {return Float_.parse_(String_.new_utf8_(ary, bgn, end));} - public static double Xto_double(byte[] bry) {return Double_.parse_(String_.new_utf8_(bry, 0, bry.length));} - public static double Xto_double_or(byte[] bry, double or) {return Double_.parse_or(String_.new_utf8_(bry, 0, bry.length), or);} - public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parse_or(String_.new_utf8_(ary, bgn, end), or);} - public static double XtoDoubleByPos(byte[] ary, int bgn, int end) {return Double_.parse_(String_.new_utf8_(ary, bgn, end));} - public static DecimalAdp XtoDecimalByPos(byte[] ary, int bgn, int end) {return DecimalAdp_.parse_(String_.new_utf8_(ary, bgn, end));} + public static float XtoFloatByPos(byte[] ary, int bgn, int end) {return Float_.parse_(String_.new_u8(ary, bgn, end));} + public static double Xto_double(byte[] bry) {return Double_.parse_(String_.new_u8(bry, 0, bry.length));} + public static double Xto_double_or(byte[] bry, double or) {return Double_.parse_or(String_.new_u8(bry, 0, bry.length), or);} + public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parse_or(String_.new_u8(ary, bgn, end), or);} + public static double XtoDoubleByPos(byte[] ary, int bgn, int end) {return Double_.parse_(String_.new_u8(ary, bgn, end));} + public static DecimalAdp XtoDecimalByPos(byte[] ary, int bgn, int end) {return DecimalAdp_.parse_(String_.new_u8(ary, bgn, end));} public static final byte Dlm_fld = (byte)'|', Dlm_row = (byte)'\n', Dlm_quote = (byte)'"', Dlm_null = 0, Ascii_zero = 48; public static final String Fmt_csvDte = "yyyyMMdd HHmmss.fff"; public static DateAdp ReadCsvDte(byte[] ary, Int_obj_ref posRef, byte lkp) {// ASSUME: fmt = yyyyMMdd HHmmss.fff @@ -745,11 +736,11 @@ public class Bry_ { f += (ary[bgn + 16] - Ascii_zero) * 100; f += (ary[bgn + 17] - Ascii_zero) * 10; f += (ary[bgn + 18] - Ascii_zero); - if (ary[bgn + 19] != lkp) throw Err_.new_("csv date is invalid").Add("txt", String_.new_utf8_len_safe_(ary, bgn, 20)); + if (ary[bgn + 19] != lkp) throw Err_.new_("csv date is invalid").Add("txt", String_.new_u8_by_len(ary, bgn, 20)); posRef.Val_add(19 + 1); // +1=lkp.len return DateAdp_.new_(y, M, d, H, m, s, f); } - public static String ReadCsvStr(byte[] ary, Int_obj_ref posRef, byte lkp) {return String_.new_utf8_(ReadCsvBry(ary, posRef, lkp, true));} + public static String ReadCsvStr(byte[] ary, Int_obj_ref posRef, byte lkp) {return String_.new_u8(ReadCsvBry(ary, posRef, lkp, true));} public static byte[] ReadCsvBry(byte[] ary, Int_obj_ref posRef, byte lkp) {return ReadCsvBry(ary, posRef, lkp, true);} public static byte[] ReadCsvBry(byte[] ary, Int_obj_ref posRef, byte lkp, boolean make) { int bgn = posRef.Val(), aryLen = ary.length; @@ -758,10 +749,10 @@ public class Bry_ { int pos = bgn + 1; // +1 to skip quote if (make) bb = Bry_bfr.new_(16); while (true) { - if (pos == aryLen) throw Err_.new_("endOfAry reached, but no quote found").Add("txt", String_.new_utf8_len_safe_(ary, bgn, pos)); + if (pos == aryLen) throw Err_.new_("endOfAry reached, but no quote found").Add("txt", String_.new_u8_by_len(ary, bgn, pos)); byte b = ary[pos]; if (b == Dlm_quote) { - if (pos == aryLen - 1) throw Err_.new_("endOfAry reached, quote found but lkp not").Add("txt", String_.new_utf8_len_safe_(ary, bgn, pos)); + if (pos == aryLen - 1) throw Err_.new_("endOfAry reached, quote found but lkp not").Add("txt", String_.new_u8_by_len(ary, bgn, pos)); byte next = ary[pos + 1]; if (next == Dlm_quote) { // byte followed by quote if (make) bb.Add_byte(b); @@ -771,7 +762,7 @@ public class Bry_ { posRef.Val_(pos + 2); // 1=endQuote;1=lkp; 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)); + else throw Err_.new_("quote found, but not doubled").Add("txt", String_.new_u8_by_len(ary, bgn, pos + 1)); } else { if (make) bb.Add_byte(b); @@ -786,7 +777,7 @@ public class Bry_ { return make ? Bry_.Mid(ary, bgn, i) : Bry_.Empty; } } - throw Err_.new_("lkp failed").Add("lkp", (char)lkp).Add("txt", String_.new_utf8_len_safe_(ary, bgn, aryLen)); + throw Err_.new_("lkp failed").Add("lkp", (char)lkp).Add("txt", String_.new_u8_by_len(ary, bgn, aryLen)); } } public static int ReadCsvInt(byte[] ary, Int_obj_ref posRef, byte lkp) { @@ -846,7 +837,7 @@ public class Bry_ { public static byte[][] Split(byte[] src, byte dlm, boolean trim) { if (Bry_.Len_eq_0(src)) return Bry_.Ary_empty; int src_len = src.length, src_pos = 0, fld_bgn = 0; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); while (true) { boolean last = src_pos == src_len; byte b = last ? dlm : src[src_pos]; @@ -862,7 +853,7 @@ public class Bry_ { if (last) break; ++src_pos; } - return (byte[][])rv.Xto_ary(byte[].class); + return (byte[][])rv.To_ary(byte[].class); } public static byte[] Replace_create(byte[] src, byte find, byte replace) { byte[] rv = Bry_.Copy(src); @@ -950,7 +941,7 @@ public class Bry_ { public static byte[][] Split(byte[] src, byte[] dlm) { if (Bry_.Len_eq_0(src)) return Bry_.Ary_empty; int cur_pos = 0, src_len = src.length, dlm_len = dlm.length; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); while (true) { int find_pos = Bry_finder.Find_fwd(src, dlm, cur_pos); if (find_pos == Bry_.NotFound) { @@ -961,12 +952,12 @@ public class Bry_ { if (find_pos == src_len) break; cur_pos = find_pos + dlm_len; } - return (byte[][])rv.Xto_ary(byte[].class); + return (byte[][])rv.To_ary(byte[].class); } public static byte[][] Split_lines(byte[] src) { if (Bry_.Len_eq_0(src)) return Bry_.Ary_empty; int src_len = src.length, src_pos = 0, fld_bgn = 0; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); while (true) { boolean last = src_pos == src_len; byte b = last ? Byte_ascii.NewLine : src[src_pos]; @@ -987,7 +978,7 @@ public class Bry_ { if (last) break; src_pos = nxt_bgn; } - return (byte[][])rv.Xto_ary(byte[].class); + return (byte[][])rv.To_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__tst.java b/100_core/src_110_primitive/gplx/Bry__tst.java index e250c5d22..8a069fb90 100644 --- a/100_core/src_110_primitive/gplx/Bry__tst.java +++ b/100_core/src_110_primitive/gplx/Bry__tst.java @@ -23,14 +23,14 @@ public class Bry__tst { tst_MidByPos("abcba", 0, 1, "a"); tst_MidByPos("abcba", 0, 2, "ab"); tst_MidByPos("abcba", 1, 4, "bcb"); - } void tst_MidByPos(String src, int bgn, int end, String expd) {Tfds.Eq(expd, String_.new_utf8_(Bry_.Mid(Bry_.new_utf8_(src), bgn, end)));} + } void tst_MidByPos(String src, int bgn, int end, String expd) {Tfds.Eq(expd, String_.new_u8(Bry_.Mid(Bry_.new_u8(src), bgn, end)));} @Test public void Replace_one() { tst_ReplaceOne("a" , "b" , "c" , "a"); tst_ReplaceOne("b" , "b" , "c" , "c"); tst_ReplaceOne("bb" , "b" , "c" , "cb"); tst_ReplaceOne("abcd" , "bc" , "" , "ad"); tst_ReplaceOne("abcd" , "b" , "ee" , "aeecd"); - } void tst_ReplaceOne(String src, String find, String repl, String expd) {Tfds.Eq(expd, String_.new_utf8_(Bry_.Replace_one(Bry_.new_utf8_(src), Bry_.new_utf8_(find), Bry_.new_utf8_(repl))));} + } void tst_ReplaceOne(String src, String find, String repl, String expd) {Tfds.Eq(expd, String_.new_u8(Bry_.Replace_one(Bry_.new_u8(src), Bry_.new_u8(find), Bry_.new_u8(repl))));} @Test public void XtoStrBytesByInt() { tst_XtoStrBytesByInt(0, 0); tst_XtoStrBytesByInt(9, 9); @@ -56,14 +56,14 @@ public class Bry__tst { tst_HasAtEnd("abc", "bd", false); // n tst_HasAtEnd("a", "ab", false); // exceeds_len } - void tst_HasAtEnd(String src, String find, int bgn, int end, boolean expd) {Tfds.Eq(expd, Bry_.HasAtEnd(Bry_.new_utf8_(src), Bry_.new_utf8_(find), bgn, end));} - void tst_HasAtEnd(String src, String find, boolean expd) {Tfds.Eq(expd, Bry_.HasAtEnd(Bry_.new_utf8_(src), Bry_.new_utf8_(find)));} + void tst_HasAtEnd(String src, String find, int bgn, int end, boolean expd) {Tfds.Eq(expd, Bry_.HasAtEnd(Bry_.new_u8(src), Bry_.new_u8(find), bgn, end));} + void tst_HasAtEnd(String src, String find, boolean expd) {Tfds.Eq(expd, Bry_.HasAtEnd(Bry_.new_u8(src), Bry_.new_u8(find)));} @Test public void HasAtBgn() { tst_HasAtBgn("y_basic" , "a|bcd|e", "b" , 2, 5, true); tst_HasAtBgn("y_many" , "a|bcd|e", "bcd" , 2, 5, true); tst_HasAtBgn("n_long" , "a|bcd|e", "bcde" , 2, 5, false); tst_HasAtBgn("n_pos" , "a|bcd|e", "|bc" , 2, 5, false); - } void tst_HasAtBgn(String tst, String src, String find, int bgn, int end, boolean expd) {Tfds.Eq(expd, Bry_.HasAtBgn(Bry_.new_utf8_(src), Bry_.new_utf8_(find), bgn, end), tst);} + } void tst_HasAtBgn(String tst, String src, String find, int bgn, int end, boolean expd) {Tfds.Eq(expd, Bry_.HasAtBgn(Bry_.new_u8(src), Bry_.new_u8(find), bgn, end), tst);} @Test public void Match() { tst_Match("abc", 0, "abc", true); tst_Match("abc", 2, "c", true); @@ -74,7 +74,7 @@ public class Bry__tst { tst_Match("" , 0, "a", false); tst_Match("" , 0, "", true); tst_Match("ab", 0, "a", false); // FIX: "ab" should not match "a" b/c .length is different - } void tst_Match(String src, int srcPos, String find, boolean expd) {Tfds.Eq(expd, Bry_.Match(Bry_.new_utf8_(src), srcPos, Bry_.new_utf8_(find)));} + } void tst_Match(String src, int srcPos, String find, boolean expd) {Tfds.Eq(expd, Bry_.Match(Bry_.new_u8(src), srcPos, Bry_.new_u8(find)));} @Test public void ReadCsvStr() { tst_ReadCsvStr("a|" , "a"); tst_ReadCsvStr("|a|", 1 , "a"); @@ -109,14 +109,14 @@ public class Bry__tst { tst_XtoInt("", -1); } void tst_XtoInt(String val, int expd) {tst_XtoInt(val, -1, expd);} - void tst_XtoInt(String val, int or, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or(Bry_.new_utf8_(val), or));} + void tst_XtoInt(String val, int or, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or(Bry_.new_u8(val), or));} void tst_XtoIntBy4Bytes(int expd, byte... ary) {Tfds.Eq(expd, Bry_.XtoIntBy4Bytes(ary), "XtoInt"); Tfds.Eq_ary(ary, Bry_.XbyInt(expd), "XbyInt");} void tst_ReadCsvStr(String raw, String expd) {tst_ReadCsvStr(raw, Int_obj_ref.zero_() , expd);} void tst_ReadCsvStr(String raw, int bgn, String expd) {tst_ReadCsvStr(raw, Int_obj_ref.new_(bgn), expd);} void tst_ReadCsvStr(String raw, Int_obj_ref bgnRef, String expd) { int bgn = bgnRef.Val(); boolean rawHasQuotes = String_.CharAt(raw, bgn) == '\''; - String actl = String_.Replace(Bry_.ReadCsvStr(Bry_.new_utf8_(String_.Replace(raw, "'", "\"")), bgnRef, (byte)'|'), "\"", "'"); + String actl = String_.Replace(Bry_.ReadCsvStr(Bry_.new_u8(String_.Replace(raw, "'", "\"")), bgnRef, (byte)'|'), "\"", "'"); Tfds.Eq(expd, actl, "rv"); if (rawHasQuotes) { int quoteAdj = String_.Count(actl, "'"); @@ -126,21 +126,21 @@ public class Bry__tst { Tfds.Eq(bgn + 1 + String_.Len(actl), bgnRef.Val(), "pos"); // +1=lkp.Len } void tst_ReadCsvStr_err(String raw) { - try {Bry_.ReadCsvStr(Bry_.new_utf8_(String_.Replace(raw, "'", "\"")), Int_obj_ref.zero_(), (byte)'|');} + try {Bry_.ReadCsvStr(Bry_.new_u8(String_.Replace(raw, "'", "\"")), Int_obj_ref.zero_(), (byte)'|');} catch (Exception e) {Err_.Noop(e); return;} Tfds.Fail_expdError(); } @Test public void ReadCsvDte() { tst_ReadCsvDte("20110801 221435.987"); - } void tst_ReadCsvDte(String raw) {Tfds.Eq_date(DateAdp_.parse_fmt(raw, Bry_.Fmt_csvDte), Bry_.ReadCsvDte(Bry_.new_utf8_(raw + "|"), Int_obj_ref.zero_(), (byte)'|'));} + } void tst_ReadCsvDte(String raw) {Tfds.Eq_date(DateAdp_.parse_fmt(raw, Bry_.Fmt_csvDte), Bry_.ReadCsvDte(Bry_.new_u8(raw + "|"), Int_obj_ref.zero_(), (byte)'|'));} @Test public void ReadCsvInt() { tst_ReadCsvInt("1234567890"); - } void tst_ReadCsvInt(String raw) {Tfds.Eq(Int_.parse_(raw), Bry_.ReadCsvInt(Bry_.new_utf8_(raw + "|"), Int_obj_ref.zero_(), (byte)'|'));} + } void tst_ReadCsvInt(String raw) {Tfds.Eq(Int_.parse_(raw), Bry_.ReadCsvInt(Bry_.new_u8(raw + "|"), Int_obj_ref.zero_(), (byte)'|'));} @Test public void Trim() { Trim_tst("a b c", 1, 4, "b"); Trim_tst("a c", 1, 3, ""); Trim_tst(" ", 0, 2, ""); - } void Trim_tst(String raw, int bgn, int end, String expd) {Tfds.Eq(expd, String_.new_utf8_(Bry_.Trim(Bry_.new_utf8_(raw), bgn, end)));} + } void Trim_tst(String raw, int bgn, int end, String expd) {Tfds.Eq(expd, String_.new_u8(Bry_.Trim(Bry_.new_u8(raw), bgn, end)));} @Test public void Xto_int_lax() { tst_Xto_int_lax("12a", 12); tst_Xto_int_lax("1", 1); @@ -148,14 +148,14 @@ public class Bry__tst { tst_Xto_int_lax("a", 0); tst_Xto_int_lax("-1", -1); } - private void tst_Xto_int_lax(String val, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or_lax(Bry_.new_utf8_(val), 0, String_.Len(val), 0));} + private void tst_Xto_int_lax(String val, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or_lax(Bry_.new_u8(val), 0, String_.Len(val), 0));} @Test public void Xto_int_or_trim() { tst_Xto_int_trim("123 " , 123); tst_Xto_int_trim(" 123" , 123); tst_Xto_int_trim(" 123 " , 123); tst_Xto_int_trim(" 1 3 " , -1); } - private void tst_Xto_int_trim(String val, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or_trim(Bry_.new_utf8_(val), 0, String_.Len(val), -1));} + private void tst_Xto_int_trim(String val, int expd) {Tfds.Eq(expd, Bry_.Xto_int_or_trim(Bry_.new_u8(val), 0, String_.Len(val), -1));} @Test public void Compare() { tst_Compare("abcde", 0, 1, "abcde", 0, 1, CompareAble_.Same); tst_Compare("abcde", 0, 1, "abcde", 1, 2, CompareAble_.Less); @@ -163,7 +163,7 @@ public class Bry__tst { tst_Compare("abcde", 0, 1, "abcde", 0, 2, CompareAble_.Less); tst_Compare("abcde", 0, 2, "abcde", 0, 1, CompareAble_.More); tst_Compare("abcde", 2, 3, "abçde", 2, 3, CompareAble_.Less); - } void tst_Compare(String lhs, int lhs_bgn, int lhs_end, String rhs, int rhs_bgn, int rhs_end, int expd) {Tfds.Eq(expd, Bry_.Compare(Bry_.new_utf8_(lhs), lhs_bgn, lhs_end, Bry_.new_utf8_(rhs), rhs_bgn, rhs_end));} + } void tst_Compare(String lhs, int lhs_bgn, int lhs_end, String rhs, int rhs_bgn, int rhs_end, int expd) {Tfds.Eq(expd, Bry_.Compare(Bry_.new_u8(lhs), lhs_bgn, lhs_end, Bry_.new_u8(rhs), rhs_bgn, rhs_end));} @Test public void Increment_last() { tst_IncrementLast(ary_(0), ary_(1)); tst_IncrementLast(ary_(0, 255), ary_(1, 0)); @@ -183,14 +183,14 @@ public class Bry__tst { tst_Split("" , Byte_ascii.Pipe); } void tst_Split(String raw_str, byte dlm, String... expd) { - byte[][] actl_bry = Bry_.Split(Bry_.new_ascii_(raw_str), dlm); + byte[][] actl_bry = Bry_.Split(Bry_.new_a7(raw_str), dlm); Tfds.Eq_ary_str(expd, String_.Ary(actl_bry)); } @Test public void Replace_between() { tst_Replace_between("a[0]b" , "[", "]", "0", "a0b"); tst_Replace_between("a[0]b[1]c" , "[", "]", "0", "a0b0c"); tst_Replace_between("a[0b" , "[", "]", "0", "a[0b"); - } public void tst_Replace_between(String src, String bgn, String end, String repl, String expd) {Tfds.Eq(expd, String_.new_ascii_(Bry_.Replace_between(Bry_.new_ascii_(src), Bry_.new_ascii_(bgn), Bry_.new_ascii_(end), Bry_.new_ascii_(repl))));} + } public void tst_Replace_between(String src, String bgn, String end, String repl, String expd) {Tfds.Eq(expd, String_.new_a7(Bry_.Replace_between(Bry_.new_a7(src), Bry_.new_a7(bgn), Bry_.new_a7(end), Bry_.new_a7(repl))));} @Test public void Replace() { Bry_bfr tmp_bfr = Bry_bfr.new_(); tst_Replace(tmp_bfr, "a0b" , "0", "00", "a00b"); // 1 -> 1 @@ -202,14 +202,14 @@ public class Bry__tst { tst_Replace(tmp_bfr, "a0b0" , "b1", "b2", "a0b0"); // false match; EOS } public void tst_Replace(Bry_bfr tmp_bfr, String src, String bgn, String repl, String expd) { - Tfds.Eq(expd, String_.new_ascii_(Bry_.Replace(tmp_bfr, Bry_.new_ascii_(src), Bry_.new_ascii_(bgn), Bry_.new_ascii_(repl)))); + Tfds.Eq(expd, String_.new_a7(Bry_.Replace(tmp_bfr, Bry_.new_a7(src), Bry_.new_a7(bgn), Bry_.new_a7(repl)))); } @Test public void Split_bry() { Split_bry_tst("a|b|c|" , "|" , String_.Ary("a", "b", "c")); Split_bry_tst("a|" , "|" , String_.Ary("a")); } void Split_bry_tst(String src, String dlm, String[] expd) { - String[] actl = String_.Ary(Bry_.Split(Bry_.new_ascii_(src), Bry_.new_ascii_(dlm))); + String[] actl = String_.Ary(Bry_.Split(Bry_.new_a7(src), Bry_.new_a7(dlm))); Tfds.Eq_ary_str(expd, actl); } @Test public void Split_lines() { @@ -219,13 +219,13 @@ public class Bry__tst { Tst_split_lines("a\rb" , "a", "b"); // cr only } void Tst_split_lines(String src, String... expd) { - Tfds.Eq_ary(expd, New_ary(Bry_.Split_lines(Bry_.new_ascii_(src)))); + Tfds.Eq_ary(expd, New_ary(Bry_.Split_lines(Bry_.new_a7(src)))); } String[] New_ary(byte[][] lines) { int len = lines.length; String[] rv = new String[len]; for (int i = 0; i < len; i++) - rv[i] = String_.new_utf8_(lines[i]); + rv[i] = String_.new_u8(lines[i]); return rv; } @Test public void Match_bwd_any() { @@ -237,7 +237,7 @@ public class Bry__tst { Tst_match_bwd_any("abc", 1, 0, "ab", true); } void Tst_match_bwd_any(String src, int src_end, int src_bgn, String find, boolean expd) { - Tfds.Eq(expd, Bry_.Match_bwd_any(Bry_.new_ascii_(src), src_end, src_bgn, Bry_.new_ascii_(find))); + Tfds.Eq(expd, Bry_.Match_bwd_any(Bry_.new_a7(src), src_end, src_bgn, Bry_.new_a7(find))); } private Bry__fxt fxt = new Bry__fxt(); @Test public void Trim_end() { @@ -247,17 +247,17 @@ public class Bry__tst { fxt.Test_trim_end("" , Byte_ascii.Space, ""); // empty } @Test public void new_ascii_() { - fxt.Test_new_ascii_("a" , Bry_.ints_(97)); // one - fxt.Test_new_ascii_("abc" , Bry_.ints_(97, 98, 99)); // many - fxt.Test_new_ascii_("" , Bry_.Empty); // none - fxt.Test_new_ascii_("¢€𤭢" , Bry_.ints_(63, 63, 63, 63)); // non-ascii -> ? + fxt.Test_new_a7("a" , Bry_.ints_(97)); // one + fxt.Test_new_a7("abc" , Bry_.ints_(97, 98, 99)); // many + fxt.Test_new_a7("" , Bry_.Empty); // none + fxt.Test_new_a7("¢€𤭢" , Bry_.ints_(63, 63, 63, 63)); // non-ascii -> ? } - @Test public void new_utf8_() { - fxt.Test_new_utf8_("a" , Bry_.ints_(97)); // one - fxt.Test_new_utf8_("abc" , Bry_.ints_(97, 98, 99)); // many - fxt.Test_new_utf8_("¢" , Bry_.ints_(194, 162)); // bry_len=2; cent - fxt.Test_new_utf8_("€" , Bry_.ints_(226, 130, 172)); // bry_len=3; euro - fxt.Test_new_utf8_("𤭢" , Bry_.ints_(240, 164, 173, 162)); // bry_len=3; example from en.w:UTF-8 + @Test public void new_u8() { + fxt.Test_new_u8("a" , Bry_.ints_(97)); // one + fxt.Test_new_u8("abc" , Bry_.ints_(97, 98, 99)); // many + fxt.Test_new_u8("¢" , Bry_.ints_(194, 162)); // bry_len=2; cent + fxt.Test_new_u8("€" , Bry_.ints_(226, 130, 172)); // bry_len=3; euro + fxt.Test_new_u8("𤭢" , Bry_.ints_(240, 164, 173, 162)); // bry_len=3; example from en.w:UTF-8 } @Test public void Add_w_dlm() { fxt.Test_add_w_dlm(Byte_ascii.Pipe, String_.Ary("a", "b", "c") , "a|b|c"); // basic @@ -270,11 +270,11 @@ public class Bry__tst { } class Bry__fxt { public void Test_trim_end(String raw, byte trim, String expd) { - byte[] raw_bry = Bry_.new_ascii_(raw); - Tfds.Eq(expd, String_.new_utf8_(Bry_.Trim_end(raw_bry, trim, raw_bry.length))); + byte[] raw_bry = Bry_.new_a7(raw); + Tfds.Eq(expd, String_.new_u8(Bry_.Trim_end(raw_bry, trim, raw_bry.length))); } - public void Test_new_utf8_(String raw, byte[] expd) {Tfds.Eq_ary(expd, Bry_.new_utf8_(raw));} - public void Test_new_ascii_(String raw, byte[] expd) {Tfds.Eq_ary(expd, Bry_.new_ascii_(raw));} - public void Test_add_w_dlm(String dlm, String[] itms, String expd) {Tfds.Eq(expd, String_.new_utf8_(Bry_.Add_w_dlm(Bry_.new_utf8_(dlm), Bry_.Ary(itms))));} - public void Test_add_w_dlm(byte dlm, String[] itms, String expd) {Tfds.Eq(expd, String_.new_utf8_(Bry_.Add_w_dlm(dlm, Bry_.Ary(itms))));} + public void Test_new_u8(String raw, byte[] expd) {Tfds.Eq_ary(expd, Bry_.new_u8(raw));} + public void Test_new_a7(String raw, byte[] expd) {Tfds.Eq_ary(expd, Bry_.new_a7(raw));} + public void Test_add_w_dlm(String dlm, String[] itms, String expd) {Tfds.Eq(expd, String_.new_u8(Bry_.Add_w_dlm(Bry_.new_u8(dlm), Bry_.Ary(itms))));} + public void Test_add_w_dlm(byte dlm, String[] itms, String expd) {Tfds.Eq(expd, String_.new_u8(Bry_.Add_w_dlm(dlm, Bry_.Ary(itms))));} } diff --git a/100_core/src_110_primitive/gplx/Bry_bfr.java b/100_core/src_110_primitive/gplx/Bry_bfr.java index 6cbbcaba9..491791db6 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr.java @@ -46,7 +46,7 @@ public class Bry_bfr { this.Clear(); this.Mkr_rls(); } - public String To_str_and_rls() {return String_.new_utf8_(To_bry_and_rls());} + public String To_str_and_rls() {return String_.new_u8(To_bry_and_rls());} public byte[] To_bry_and_rls() { byte[] rv = null; synchronized (bfr) { @@ -89,7 +89,7 @@ public class Bry_bfr { } public Bry_bfr Add_mid(byte[] val, int bgn, int end) { int len = end - bgn; - if (len < 0) throw Err_.new_fmt_("negative len; bgn={0} end={1} excerpt={2}", bgn, end, String_.new_utf8_len_safe_(val, bgn, bgn + 16)); // NOTE: check for invalid end < bgn, else difficult to debug errors later; DATE:2014-05-11 + if (len < 0) throw Err_.new_fmt_("negative len; bgn={0} end={1} excerpt={2}", bgn, end, String_.new_u8_by_len(val, bgn, bgn + 16)); // NOTE: check for invalid end < bgn, else difficult to debug errors later; DATE:2014-05-11 if (bfr_len + len > bfr_max) Resize((bfr_max + len) * 2); Bry_.Copy_by_pos(val, bgn, end, bfr, bfr_len); // Array_.CopyTo(val, bgn, bfr, bfr_len, len); @@ -162,10 +162,10 @@ public class Bry_bfr { public Bry_bfr Add_byte_nl() {return Add_byte(Byte_ascii.NewLine);} public Bry_bfr Add_byte_dot() {return Add_byte(Byte_ascii.Dot);} public Bry_bfr Add_byte(byte val) { - int newPos = bfr_len + 1; - if (newPos > bfr_max) Resize(bfr_len * 2); + int new_pos = bfr_len + 1; + if (new_pos > bfr_max) Resize(bfr_len * 2); bfr[bfr_len] = val; - bfr_len = newPos; + bfr_len = new_pos; return this; } public Bry_bfr Add_byte_repeat(byte b, int len) { @@ -180,13 +180,13 @@ public class Bry_bfr { this.Add_byte(b); return this; } - public Bry_bfr Add_utf8_int(int val) { + public Bry_bfr Add_u8_int(int val) { if (bfr_len + 4 > bfr_max) Resize((bfr_max + 4) * 2); int utf8_len = gplx.intl.Utf16_.Encode_int(val, bfr, bfr_len); bfr_len += utf8_len; return this; } - public Bry_bfr Add_bool(boolean v) {return Add(v ? Const_bool_true : Const_bool_false);} public static final byte[] Const_bool_true = Bry_.new_ascii_("true"), Const_bool_false = Bry_.new_ascii_("false"); + public Bry_bfr Add_bool(boolean v) {return Add(v ? Const_bool_true : Const_bool_false);} public static final byte[] Const_bool_true = Bry_.new_a7("true"), Const_bool_false = Bry_.new_a7("false"); public Bry_bfr Add_int_bool(boolean v) {return Add_int_fixed(v ? 1 : 0, 1);} public Bry_bfr Add_int_variable(int val) { int log10 = Int_.Log10(val); @@ -256,8 +256,6 @@ public class Bry_bfr { } return this; } - public Bry_bfr Add_bry_escape_by_doubling(byte quote_byte, byte[] val) {return Add_bry_escape(quote_byte, quote_byte, val, 0, val.length);} - public Bry_bfr Add_bry_escape(byte quote_byte, byte escape_byte, byte[] val, int bgn, int end) {return Add_bry_escape(quote_byte, new byte[] {escape_byte}, val, bgn, end);} public Bry_bfr Add_bry_escape(byte quote_byte, byte[] escape, byte[] val, int bgn, int end) { // used for xml_wtr; DATE:2015-04-09 boolean clean = true; // add with chunks of bytes instead of one-by-one for (int i = bgn; i < end; ++i) { @@ -267,35 +265,33 @@ public class Bry_bfr { clean = false; this.Add_mid(val, bgn, i); this.Add(escape); - this.Add_byte(quote_byte); } else {} } else { - if (b == quote_byte) - this.Add(escape); - this.Add_byte(b); + if (b == quote_byte) this.Add(escape); + else this.Add_byte(b); } } if (clean) Add(val); return this; } - public Bry_bfr Add_str(String v) {return Add_str_utf8(v);} - public Bry_bfr Add_str_utf8(String str) { + public Bry_bfr Add_str(String v) {return Add_str_u8(v);} + public Bry_bfr Add_str_u8(String str) { try { int str_len = str.length(); - int bry_len = Bry_.new_utf8_len(str, str_len); + int bry_len = Bry_.new_u8_by_len(str, str_len); if (bfr_len + bry_len > bfr_max) Resize((bfr_max + bry_len) * 2); - Bry_.new_utf8_write(str, str_len, bfr, bfr_len); + Bry_.new_u8_write(str, str_len, bfr, bfr_len); bfr_len += bry_len; return this; } catch (Exception e) {throw Err_.err_(e, "invalid UTF-8 sequence; str={0}", str);} } - public Bry_bfr Add_str_ascii(String str) { + public Bry_bfr Add_str_a7(String str) { try { - int bry_len = str.length(); + int bry_len = str.length(); if (bfr_len + bry_len > bfr_max) Resize((bfr_max + bry_len) * 2); for (int i = 0; i < bry_len; ++i) { char c = str.charAt(i); @@ -377,7 +373,7 @@ public class Bry_bfr { public Bry_bfr Add_str_pad_space_bgn(String v, int pad_max) {return Add_str_pad_space(v, pad_max, Bool_.N);} public Bry_bfr Add_str_pad_space_end(String v, int pad_max) {return Add_str_pad_space(v, pad_max, Bool_.Y);} Bry_bfr Add_str_pad_space(String v, int pad_max, boolean pad_end) { - byte[] v_bry = Bry_.new_utf8_(v); + byte[] v_bry = Bry_.new_u8(v); if (pad_end) Add(v_bry); int pad_len = pad_max - v_bry.length; if (pad_len > 0) @@ -493,10 +489,10 @@ public class Bry_bfr { if (reset > 0) Reset_if_gt(reset); return rv; } - 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 String Xto_str() {return String_.new_u8(Xto_bry());} + public String Xto_str_by_pos(int bgn, int end) {return String_.new_u8(Xto_bry(), bgn, end);} + public String Xto_str_and_clear() {return String_.new_u8(Xto_bry_and_clear());} + public String Xto_str_and_clear_and_trim() {return String_.new_u8(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 64d300b24..d10a364ed 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr_tst.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr_tst.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; import org.junit.*; public class Bry_bfr_tst { - Bry_bfr bb = Bry_bfr.new_(16); + private Bry_bfr bb = Bry_bfr.new_(16); @Before public void setup() {bb.Clear();} private ByteAryBfr_fxt fxt = new ByteAryBfr_fxt(); @Test public void AddByte() { bb = Bry_bfr.new_(2); // NOTE: make sure auto-expands @@ -38,8 +38,8 @@ public class Bry_bfr_tst { 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.Xto_bry())); + bb.Add(Bry_.new_u8(s)); + Tfds.Eq(expdStr, String_.new_u8(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.Xto_bry())); + Tfds.Eq(raw, String_.new_u8(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.Xto_bry()))); + Tfds.Eq(v, Float_.parse_(String_.new_u8(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.Xto_bry()))); + Tfds.Eq(val, Int_.parse_(String_.new_u8(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).Xto_bry()));} + void tst_Add_int_fixed(int val, int digits, String expd) {Tfds.Eq(expd, String_.new_u8(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).Xto_bry()));} + void tst_Add_long_fixed(long val, int digits, String expd) {Tfds.Eq(expd, String_.new_u8(bb.Add_long_fixed(val, digits).Xto_bry()));} @Test public void AddDte_short() { tst_AddDte_short("2010-08-26T22:38:36Z"); } @@ -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.Xto_bry_and_clear_and_trim())); + Tfds.Eq(expd, String_.new_u8(bb.Xto_bry_and_clear_and_trim())); } @Test public void XtoInt() { tst_XtoInt("123", 123); @@ -216,11 +216,11 @@ class ByteAryBfr_fxt { } 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).Xto_str_and_clear()); + byte[] val_bry = Bry_.new_u8(val); + Tfds.Eq(expd, bfr.Add_bry_escape(Byte_ascii.Apos, Byte_.Ary(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)).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_Insert_at(String init, int pos, String val, String expd) {Tfds.Eq(expd, bfr.Add_str(init).Insert_at(pos, Bry_.new_u8(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_u8(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_finder_tst.java b/100_core/src_110_primitive/gplx/Bry_finder_tst.java index d6fbd1882..4707ede16 100644 --- a/100_core/src_110_primitive/gplx/Bry_finder_tst.java +++ b/100_core/src_110_primitive/gplx/Bry_finder_tst.java @@ -62,16 +62,16 @@ public class Bry_finder_tst { } } class Bry_finder_fxt { - public void Test_Find_fwd(String src, String lkp, int bgn, int expd) {Tfds.Eq(expd, Bry_finder.Find_fwd(Bry_.new_utf8_(src), Bry_.new_utf8_(lkp), bgn));} - public void Test_Find_bwd(String src, String lkp, int bgn, int expd) {Tfds.Eq(expd, Bry_finder.Find_bwd(Bry_.new_utf8_(src), Bry_.new_utf8_(lkp), bgn));} - public void Test_Find_bwd_1st_ws_tst(String src, int pos, int expd) {Tfds.Eq(expd, Bry_finder.Find_bwd_last_ws(Bry_.new_ascii_(src), pos));} + public void Test_Find_fwd(String src, String lkp, int bgn, int expd) {Tfds.Eq(expd, Bry_finder.Find_fwd(Bry_.new_u8(src), Bry_.new_u8(lkp), bgn));} + public void Test_Find_bwd(String src, String lkp, int bgn, int expd) {Tfds.Eq(expd, Bry_finder.Find_bwd(Bry_.new_u8(src), Bry_.new_u8(lkp), bgn));} + public void Test_Find_bwd_1st_ws_tst(String src, int pos, int expd) {Tfds.Eq(expd, Bry_finder.Find_bwd_last_ws(Bry_.new_a7(src), pos));} public void Test_Trim_bwd_space_tab(String raw_str, int expd) { - byte[] raw_bry = Bry_.new_utf8_(raw_str); + byte[] raw_bry = Bry_.new_u8(raw_str); int actl = Bry_finder.Trim_bwd_space_tab(raw_bry, raw_bry.length, 0); Tfds.Eq(expd, actl, raw_str); } public void Test_Trim_fwd_space_tab(String raw_str, int expd) { - byte[] raw_bry = Bry_.new_utf8_(raw_str); + byte[] raw_bry = Bry_.new_u8(raw_str); int actl = Bry_finder.Trim_fwd_space_tab(raw_bry, 0, raw_bry.length); Tfds.Eq(expd, actl, raw_str); } diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr.java b/100_core/src_110_primitive/gplx/Bry_fmtr.java index bce917ee1..91bc0ab29 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr.java @@ -21,16 +21,16 @@ public class Bry_fmtr { public byte[] Fmt() {return fmt;} private byte[] fmt = Bry_.Empty; public boolean Fmt_null() {return fmt.length == 0;} public Bry_fmtr_eval_mgr Eval_mgr() {return eval_mgr;} public Bry_fmtr Eval_mgr_(Bry_fmtr_eval_mgr v) {eval_mgr = v; return this;} Bry_fmtr_eval_mgr eval_mgr = Bry_fmtr_eval_mgr_gfs._; - public Bry_fmtr Fmt_(byte[] v) {fmt = v; dirty = true; return this;} public Bry_fmtr Fmt_(String v) {return Fmt_(Bry_.new_utf8_(v));} + public Bry_fmtr Fmt_(byte[] v) {fmt = v; dirty = true; return this;} public Bry_fmtr Fmt_(String v) {return Fmt_(Bry_.new_u8(v));} public Bry_fmtr Keys_(String... ary) { - if (keys == null) keys = HashAdp_.new_(); + if (keys == null) keys = Hash_adp_.new_(); else keys.Clear(); int ary_len = ary.length; for (int i = 0; i < ary_len; i++) - keys.Add(Bry_obj_ref.new_(Bry_.new_utf8_(ary[i])), Int_obj_val.new_(i)); + keys.Add(Bry_obj_ref.new_(Bry_.new_u8(ary[i])), Int_obj_val.new_(i)); dirty = true; return this; - } HashAdp keys = null; + } Hash_adp keys = null; public void Bld_bfr(Bry_bfr bfr, byte[]... args) { if (dirty) Compile(); int args_len = args.length; @@ -116,7 +116,7 @@ public class Bry_fmtr { } return rv.XtoStr(); } private Bry_fmtr_itm[] itms; int itms_len; - public byte[] Missing_bgn() {return missing_bgn;} public Bry_fmtr Missing_bgn_(byte[] v) {missing_bgn = v; return this;} private byte[] missing_bgn = missing_bgn_static; static byte[] missing_bgn_static = Bry_.new_utf8_("~{"), missing_end_static = Bry_.new_utf8_("}"); + public byte[] Missing_bgn() {return missing_bgn;} public Bry_fmtr Missing_bgn_(byte[] v) {missing_bgn = v; return this;} private byte[] missing_bgn = missing_bgn_static; static byte[] missing_bgn_static = Bry_.new_u8("~{"), missing_end_static = Bry_.new_u8("}"); public byte[] Missing_end() {return missing_end;} public Bry_fmtr Missing_end_(byte[] v) {missing_end = v; return this;} private byte[] missing_end = missing_end_static; public int Missing_adj() {return missing_adj;} public Bry_fmtr Missing_adj_(int v) {missing_adj = v; return this;} int missing_adj; public boolean Fail_when_invalid_escapes() {return fail_when_invalid_escapes;} public Bry_fmtr Fail_when_invalid_escapes_(boolean v) {fail_when_invalid_escapes = v; return this;} private boolean fail_when_invalid_escapes = true; @@ -127,7 +127,7 @@ public class Bry_fmtr { byte[] trg_bry = new byte[fmt_len]; int trg_pos = 0; boolean lkp_is_active = false, lkp_is_numeric = true; byte nxt_byte, tmp_byte; - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); fmt_args_exist = false; while (true) { if (fmt_pos > fmt_end) break; @@ -138,7 +138,7 @@ public class Bry_fmtr { list.Add(Bry_fmtr_itm.arg_(lkp_bfr.XtoInt(0) - baseInt)); else { byte[] key_fmt = lkp_bfr.Xto_bry(); - Object idx_ref = keys.Fetch(Bry_obj_ref.new_(key_fmt)); + Object idx_ref = keys.Get_by(Bry_obj_ref.new_(key_fmt)); if (idx_ref == null) { int lkp_bfr_len = lkp_bfr.Len(); byte[] lkp_bry = lkp_bfr.Bfr(); @@ -211,15 +211,15 @@ 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.Xto_ary(Bry_fmtr_itm.class); + itms = (Bry_fmtr_itm[])list.To_ary(Bry_fmtr_itm.class); itms_len = itms.length; return this; } } - int Compile_eval_cmd(byte[] fmt, int fmt_len, int eval_lhs_bgn, ListAdp list) { - int eval_lhs_end = Bry_finder.Find_fwd(fmt, char_eval_end, eval_lhs_bgn + Int_.Const_dlm_len, fmt_len); if (eval_lhs_end == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "eval_lhs_end_invalid", "could not find eval_lhs_end: ~{0}", String_.new_utf8_(fmt, eval_lhs_bgn, fmt_len)); + int Compile_eval_cmd(byte[] fmt, int fmt_len, int eval_lhs_bgn, List_adp list) { + int eval_lhs_end = Bry_finder.Find_fwd(fmt, char_eval_end, eval_lhs_bgn + Int_.Const_dlm_len, fmt_len); if (eval_lhs_end == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "eval_lhs_end_invalid", "could not find eval_lhs_end: ~{0}", String_.new_u8(fmt, eval_lhs_bgn, fmt_len)); byte[] eval_dlm = Bry_.Mid(fmt, eval_lhs_bgn , eval_lhs_end + Int_.Const_dlm_len); - int eval_rhs_bgn = Bry_finder.Find_fwd(fmt, eval_dlm , eval_lhs_end + Int_.Const_dlm_len, fmt_len); if (eval_rhs_bgn == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "eval_rhs_bgn_invalid", "could not find eval_rhs_bgn: ~{0}", String_.new_utf8_(fmt, eval_lhs_end, fmt_len)); + int eval_rhs_bgn = Bry_finder.Find_fwd(fmt, eval_dlm , eval_lhs_end + Int_.Const_dlm_len, fmt_len); if (eval_rhs_bgn == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "eval_rhs_bgn_invalid", "could not find eval_rhs_bgn: ~{0}", String_.new_u8(fmt, eval_lhs_end, fmt_len)); byte[] eval_cmd = Bry_.Mid(fmt, eval_lhs_end + Int_.Const_dlm_len, eval_rhs_bgn); byte[] eval_rslt = eval_mgr.Eval(eval_cmd); int eval_rhs_end = eval_rhs_bgn + Int_.Const_dlm_len + eval_dlm.length; diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr_arg_.java b/100_core/src_110_primitive/gplx/Bry_fmtr_arg_.java index d424e244e..53f0121eb 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr_arg_.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr_arg_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; import gplx.brys.*; public class Bry_fmtr_arg_ { - public static Bry_fmtr_arg_bry bry_(String v) {return new Bry_fmtr_arg_bry(Bry_.new_utf8_(v));} + public static Bry_fmtr_arg_bry bry_(String v) {return new Bry_fmtr_arg_bry(Bry_.new_u8(v));} public static Bry_fmtr_arg_bry bry_(byte[] v) {return new Bry_fmtr_arg_bry(v);} public static Bry_fmtr_arg_byt byt_(byte v) {return new Bry_fmtr_arg_byt(v);} public static Bry_fmtr_arg_int int_(int v) {return new Bry_fmtr_arg_int(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 dae413ba6..a013bd25c 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 @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; public class Bry_fmtr_eval_mgr_ { public static Io_url Eval_url(Bry_fmtr_eval_mgr eval_mgr, byte[] fmt) { - if (eval_mgr == null) return Io_url_.new_any_(String_.new_utf8_(fmt)); + if (eval_mgr == null) return Io_url_.new_any_(String_.new_u8(fmt)); Bry_bfr bfr = Bry_bfr.reset_(255); Bry_fmtr fmtr = Bry_fmtr.tmp_(); fmtr.Eval_mgr_(eval_mgr).Fmt_(fmt).Bld_bfr_none(bfr); diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_gfs.java b/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_gfs.java index 6246f1054..c26068df2 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_gfs.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr_eval_mgr_gfs.java @@ -19,7 +19,7 @@ package gplx; public class Bry_fmtr_eval_mgr_gfs implements Bry_fmtr_eval_mgr { public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled; public byte[] Eval(byte[] cmd) { - return enabled ? Bry_.new_utf8_(Object_.Xto_str_strict_or_null_mark(GfsCore._.ExecText(String_.new_utf8_(cmd)))) : null; + return enabled ? Bry_.new_u8(Object_.Xto_str_strict_or_null_mark(GfsCore._.ExecText(String_.new_u8(cmd)))) : null; } public static final Bry_fmtr_eval_mgr_gfs _ = new Bry_fmtr_eval_mgr_gfs(); Bry_fmtr_eval_mgr_gfs() {} } diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr_itm.java b/100_core/src_110_primitive/gplx/Bry_fmtr_itm.java index f12481303..4cbeacdda 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr_itm.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr_itm.java @@ -21,7 +21,7 @@ public class Bry_fmtr_itm { public int ArgIdx; public byte[] Dat; public String DatStr() { - if (datStr == null) datStr = String_.new_utf8_(Dat); + if (datStr == null) datStr = String_.new_u8(Dat); return datStr; } String datStr; public static Bry_fmtr_itm arg_(int idx) {return new Bry_fmtr_itm(true, idx, Bry_.Empty);} diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr_tst.java b/100_core/src_110_primitive/gplx/Bry_fmtr_tst.java index 2045e211c..8367a5d22 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr_tst.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr_tst.java @@ -40,7 +40,7 @@ public class Bry_fmtr_tst { @Test public void Err_missing_idx() {tst_Format("~{0}", "~{0}");} String[] ary_(String... ary) {return ary;} void tst(String fmt, String[] keys, String[] args, String expd) { - Bry_fmtr fmtr = new Bry_fmtr().Fmt_(Bry_.new_utf8_(fmt)); + Bry_fmtr fmtr = new Bry_fmtr().Fmt_(Bry_.new_u8(fmt)); fmtr.Keys_(keys); String actl = fmtr.Bld_str_many(args); Tfds.Eq(expd, actl); @@ -73,6 +73,6 @@ class Bry_fmtr_fxt { public void Bld_bfr_many_and_set_fmt(String fmt, Object[] args, String expd) { fmtr.Fmt_(fmt); fmtr.Bld_bfr_many_and_set_fmt(args); - Tfds.Eq(expd, String_.new_ascii_(fmtr.Fmt())); + Tfds.Eq(expd, String_.new_a7(fmtr.Fmt())); } } diff --git a/100_core/src_110_primitive/gplx/Char_.java b/100_core/src_110_primitive/gplx/Char_.java index b1d9537e4..aa873f9f5 100644 --- a/100_core/src_110_primitive/gplx/Char_.java +++ b/100_core/src_110_primitive/gplx/Char_.java @@ -66,7 +66,7 @@ public class Char_ { return false; } public static String XtoStr(char[] ary, int pos, int length) {return new String(ary, pos, length);} - public static byte[] XtoByteAry(int v) {return Bry_.new_utf8_(Char_.XtoStr((char)v));} + public static byte[] XtoByteAry(int v) {return Bry_.new_u8(Char_.XtoStr((char)v));} public static char XbyInt(int i) {return (char)i;} public static String XtoStr(int b) {return XtoStr((char)b);} public static String XtoStr(char c) {return String.valueOf(c);} diff --git a/100_core/src_110_primitive/gplx/Double_.java b/100_core/src_110_primitive/gplx/Double_.java index 4d7b2587a..b82c78b42 100644 --- a/100_core/src_110_primitive/gplx/Double_.java +++ b/100_core/src_110_primitive/gplx/Double_.java @@ -25,8 +25,8 @@ public class Double_ { , Inf_pos = Double.POSITIVE_INFINITY ; public static final byte[] - NaN_bry = Bry_.new_ascii_("NaN") - , Inf_pos_bry = Bry_.new_ascii_("INF") + NaN_bry = Bry_.new_a7("NaN") + , Inf_pos_bry = Bry_.new_a7("INF") ; public static boolean IsNaN(double v) {return Double.isNaN(v);} public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, double.class, o);}} diff --git a/100_core/src_110_primitive/gplx/Int_.java b/100_core/src_110_primitive/gplx/Int_.java index f6f312a7c..a11fd2eed 100644 --- a/100_core/src_110_primitive/gplx/Int_.java +++ b/100_core/src_110_primitive/gplx/Int_.java @@ -212,7 +212,7 @@ public class Int_ implements GfoInvkAble { return sb.XtoStr(); } public static int[] Ary_parse(String raw_str, int reqd_len, int[] or) { - byte[] raw_bry = Bry_.new_ascii_(raw_str); + byte[] raw_bry = Bry_.new_a7(raw_str); int raw_bry_len = raw_bry.length; int[] rv = new int[reqd_len]; int cur_val = 0, cur_mult = 1, cur_idx = reqd_len - 1; boolean signed = false; @@ -256,5 +256,5 @@ public class Int_ implements GfoInvkAble { rv[i] = Int_.parse_(ary[i]); return rv; } - public static byte[] Xto_bry(int v) {return Bry_.new_ascii_(Xto_str(v));} + public static byte[] Xto_bry(int v) {return Bry_.new_a7(Xto_str(v));} } diff --git a/100_core/src_110_primitive/gplx/Int__tst.java b/100_core/src_110_primitive/gplx/Int__tst.java index 6621bef94..478f8208a 100644 --- a/100_core/src_110_primitive/gplx/Int__tst.java +++ b/100_core/src_110_primitive/gplx/Int__tst.java @@ -98,7 +98,7 @@ public class Int__tst { } @Test public void Xto_int_hex_tst() { Xto_int_hex("007C", 124); - } void Xto_int_hex(String raw, int expd) {Tfds.Eq(expd, Int_.Xto_int_hex(Bry_.new_ascii_(raw)));} + } void Xto_int_hex(String raw, int expd) {Tfds.Eq(expd, Int_.Xto_int_hex(Bry_.new_a7(raw)));} @Test public void Ary_parse() { Ary_parse__tst("1,2,3" , 3, Int_.Ary_empty, 1, 2, 3); Ary_parse__tst("123,321,213" , 3, Int_.Ary_empty, 123, 321, 213); diff --git a/100_core/src_110_primitive/gplx/Int_ary_.java b/100_core/src_110_primitive/gplx/Int_ary_.java index 575802281..01ca75b4e 100644 --- a/100_core/src_110_primitive/gplx/Int_ary_.java +++ b/100_core/src_110_primitive/gplx/Int_ary_.java @@ -40,7 +40,7 @@ public class Int_ary_ { } int add_len = 1; if (itm_is_rng) { - add_len = num - rng_bgn + ListAdp_.Base1; + add_len = num - rng_bgn + List_adp_.Base1; if (add_len == 0) return or; // bgn >= end; } if (add_len + rv_idx > rv_len) { // ary out of space; resize diff --git a/100_core/src_110_primitive/gplx/Int_ary__tst.java b/100_core/src_110_primitive/gplx/Int_ary__tst.java index 30f9978a0..d051ed2b6 100644 --- a/100_core/src_110_primitive/gplx/Int_ary__tst.java +++ b/100_core/src_110_primitive/gplx/Int_ary__tst.java @@ -39,6 +39,6 @@ public class Int_ary__tst { } } class Int_ary__fxt { - public void Test_Parse_list_empty(String raw) {Tfds.Eq_ary(Int_.Ary_empty, Int_ary_.Parse_list_or(Bry_.new_ascii_(raw), Int_.Ary_empty));} - public void Test_Parse_list_or(String raw, int... expd) {Tfds.Eq_ary(expd, Int_ary_.Parse_list_or(Bry_.new_ascii_(raw), Int_.Ary_empty));} + public void Test_Parse_list_empty(String raw) {Tfds.Eq_ary(Int_.Ary_empty, Int_ary_.Parse_list_or(Bry_.new_a7(raw), Int_.Ary_empty));} + public void Test_Parse_list_or(String raw, int... expd) {Tfds.Eq_ary(expd, Int_ary_.Parse_list_or(Bry_.new_a7(raw), Int_.Ary_empty));} } diff --git a/100_core/src_110_primitive/gplx/Object_.java b/100_core/src_110_primitive/gplx/Object_.java index f4df5daea..332f29738 100644 --- a/100_core/src_110_primitive/gplx/Object_.java +++ b/100_core/src_110_primitive/gplx/Object_.java @@ -30,14 +30,14 @@ public class Object_ { private static String ToString_lang(Object v) { Class c = v.getClass(); if (ClassAdp_.Eq(c, String_.Cls_ref_type)) return (String)v; - else if (ClassAdp_.Eq(c, Bry_.Cls_ref_type)) return String_.new_utf8_((byte[])v); + else if (ClassAdp_.Eq(c, Bry_.Cls_ref_type)) return String_.new_u8((byte[])v); else return v.toString(); } public static String Xto_str_loose_or(Object v, String or) { // tries to pretty-print doubles; also standardizes true/false; DATE:2014-07-14 if (v == null) return null; Class c = ClassAdp_.ClassOf_obj(v); if (ClassAdp_.Eq(c, String_.Cls_ref_type)) return (String)v; - else if (ClassAdp_.Eq(c, Bry_.Cls_ref_type)) return String_.new_utf8_((byte[])v); + else if (ClassAdp_.Eq(c, Bry_.Cls_ref_type)) return String_.new_u8((byte[])v); else if (ClassAdp_.Eq(c, Bool_.Cls_ref_type)) return Bool_.cast_(v) ? Bool_.True_str : Bool_.False_str; // always return "true" / "false" else if (ClassAdp_.Eq(c, Double_.Cls_ref_type)) return Double_.Xto_str_loose(Double_.cast_(v)); else return v.toString(); diff --git a/100_core/src_110_primitive/gplx/String_.java b/100_core/src_110_primitive/gplx/String_.java index 723d219cd..6d43d8df6 100644 --- a/100_core/src_110_primitive/gplx/String_.java +++ b/100_core/src_110_primitive/gplx/String_.java @@ -25,8 +25,8 @@ public class String_ implements GfoInvkAble { public static final String Null = null, Empty = "", Null_mark = "<>", Tab = "\t", Lf = "\n", CrLf = "\r\n"; public static String cast_(Object v) {return (String)v;} public static String as_(Object obj) {return obj instanceof String ? (String)obj : null;} - public static String new_ascii_(byte[] v) {return v == null ? null : new_ascii_(v, 0, v.length);} - public static String new_ascii_(byte[] v, int bgn, int end) { + public static String new_a7(byte[] v) {return v == null ? null : new_a7(v, 0, v.length);} + public static String new_a7(byte[] v, int bgn, int end) { try { return v == null ? null @@ -34,9 +34,8 @@ public class String_ implements GfoInvkAble { } catch (Exception e) {throw Err_.err_(e, "unsupported encoding");} } - public static String new_utf8_(byte[] v) {return v == null ? null : new_utf8_(v, 0, v.length);} - public static String new_utf8_mid_safe_(byte[] v, int bgn, int end) {return v == null ? null : new_utf8_(v, bgn, end);} - public static String new_utf8_(byte[] v, int bgn, int end) { + public static String new_u8(byte[] v) {return v == null ? null : new_u8(v, 0, v.length);} + public static String new_u8(byte[] v, int bgn, int end) { try { return v == null ? null @@ -44,10 +43,10 @@ public class String_ implements GfoInvkAble { } catch (Exception e) {throw Err_.err_(e, "unsupported encoding");} } - public static String new_utf8_len_safe_(byte[] v, int bgn, int len) { + public static String new_u8_by_len(byte[] v, int bgn, int len) { int v_len = v.length; if (bgn + len > v_len) len = v_len - bgn; - return new_utf8_(v, bgn, bgn + len); + return new_u8(v, bgn, bgn + len); } public static String[] Ary_add(String[]... arys) { if (arys == null) return String_.Ary_empty; @@ -330,14 +329,14 @@ public class String_ implements GfoInvkAble { public static String[] Ary(String... ary) {return ary;} public static String[] Ary_wo_null(String... ary) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int len = ary.length; for (int i = 0; i < len; ++i) { String itm = ary[i]; if (itm == null) continue; list.Add(itm); } - return list.XtoStrAry(); + return list.To_str_ary(); } public static String AryXtoStr(String... ary) { String_bldr sb = String_bldr_.new_(); @@ -348,7 +347,7 @@ public class String_ implements GfoInvkAble { public static final String[] Ary_empty = new String[0]; public static String[] Split(String raw, char dlm) {return Split(raw, dlm, false);} public static String[] Split(String raw, char dlm, boolean addEmptyIfDlmIsLast) { - ListAdp list = ListAdp_.new_(); String_bldr sb = String_bldr_.new_(); + List_adp list = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); int rawLen = String_.Len(raw); char c = '\0'; for (int i = 0; i < rawLen; i++) { c = String_.CharAt(raw, i); @@ -361,7 +360,7 @@ public class String_ implements GfoInvkAble { } if (sb.Count() > 0) list.Add(sb.Xto_str_and_clear()); - return list.XtoStrAry(); + return list.To_str_ary(); } public static String[] Split(String s, String separator) {return Split_do(s, separator, false);} public static String[] SplitLines_crlf(String s) {return Split(s, Op_sys.Wnt.Nl_str());} @@ -423,7 +422,7 @@ public class String_ implements GfoInvkAble { if (String_.Eq(s, "") // "".Split('a') return array with one member: "" || String_.Eq(spr, "")) // "a".Split('\0') returns array with one member: "a" return new String[] {s}; - ListAdp list = ListAdp_.new_(); String_bldr sb = String_bldr_.new_(); + List_adp list = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); int i = 0, sprPos = 0; boolean sprMatched = false; char spr0 = CharAt(spr, 0); int textLength = Len(s); int sprLength = Len(spr); while (true) { @@ -456,7 +455,7 @@ public class String_ implements GfoInvkAble { i++; } } - return (String[])list.Xto_ary(String.class); + return (String[])list.To_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) { @@ -496,23 +495,23 @@ public class String_ implements GfoInvkAble { int ary_len = ary.length; String[] rv = new String[ary_len]; for (int i = 0; i < ary_len; i++) - rv[i] = String_.new_utf8_(ary[i]); + rv[i] = String_.new_u8(ary[i]); return rv; } public static String [] Ary_filter(String[] src, String[] filter) { - HashAdp hash = HashAdp_.new_(); + Hash_adp hash = Hash_adp_.new_(); int len = filter.length; for (int i = 0; i < len; i++) { String itm = filter[i]; - hash.AddReplace(itm, itm); + hash.Add_if_dupe_use_nth(itm, itm); } - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); len = src.length; for (int i = 0; i < len; i++) { String itm = src[i]; if (hash.Has(itm)) rv.Add(itm); } - return rv.XtoStrAry(); + return rv.To_str_ary(); } public static String[] Ary_flatten(String[][] src_ary) { int trg_len = 0; diff --git a/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time.java b/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time.java index 53f0a614b..d32d51d10 100644 --- a/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time.java +++ b/100_core/src_110_primitive/gplx/brys/Bry_fmtr_arg_time.java @@ -22,10 +22,10 @@ public class Bry_fmtr_arg_time implements Bry_fmtr_arg { } public long Seconds() {return seconds;} public Bry_fmtr_arg_time Seconds_(long v) {seconds = v; return this;} long seconds; byte[][] segs = new byte[][] - { Bry_.new_ascii_("d") - , Bry_.new_ascii_("h") - , Bry_.new_ascii_("m") - , Bry_.new_ascii_("s") + { Bry_.new_a7("d") + , Bry_.new_a7("h") + , Bry_.new_a7("m") + , Bry_.new_a7("s") }; int[] units = new int[] {86400, 3600, 60, 1}; int units_len; diff --git a/100_core/src_120_basicDataType/gplx/DateAdp_parser.java b/100_core/src_120_basicDataType/gplx/DateAdp_parser.java index be109e330..11b653393 100644 --- a/100_core/src_120_basicDataType/gplx/DateAdp_parser.java +++ b/100_core/src_120_basicDataType/gplx/DateAdp_parser.java @@ -19,7 +19,7 @@ package gplx; public class DateAdp_parser { public int[] Parse_iso8651_like(String raw_str) {Parse_iso8651_like(tmp_rv, raw_str); return tmp_rv;} int[] tmp_rv = new int[7]; public void Parse_iso8651_like(int[] rv, String raw_str) { - byte[] raw_bry = Bry_.new_utf8_(raw_str); + byte[] raw_bry = Bry_.new_u8(raw_str); Parse_iso8651_like(rv, raw_bry, 0, raw_bry.length); } public void Parse_iso8651_like(int[] rv, byte[] src, int bgn, int end) { diff --git a/100_core/src_120_basicDataType/gplx/DateAdp_parser_tst.java b/100_core/src_120_basicDataType/gplx/DateAdp_parser_tst.java index a85f2dd31..c36d347c2 100644 --- a/100_core/src_120_basicDataType/gplx/DateAdp_parser_tst.java +++ b/100_core/src_120_basicDataType/gplx/DateAdp_parser_tst.java @@ -27,7 +27,7 @@ public class DateAdp_parser_tst { class DateAdp_parser_fxt { DateAdp_parser parser = DateAdp_parser.new_(); int[] actl = new int[7]; public void Test_Parse_iso8651_like(String s, int... expd) { - byte[] bry = Bry_.new_ascii_(s); + byte[] bry = Bry_.new_a7(s); parser.Parse_iso8651_like(actl, bry, 0, bry.length); Tfds.Eq_ary(expd, actl, s); } diff --git a/100_core/src_120_basicDataType/gplx/EnmMgr.java b/100_core/src_120_basicDataType/gplx/EnmMgr.java index e3ae2e21f..4580eec5d 100644 --- a/100_core/src_120_basicDataType/gplx/EnmMgr.java +++ b/100_core/src_120_basicDataType/gplx/EnmMgr.java @@ -27,7 +27,7 @@ public class EnmMgr { valRegy.Add(val, raw); objRegy.Add(val, o); } - public Object Get(int val) {return objRegy.Fetch(val);} + public Object Get(int val) {return objRegy.Get_by(val);} public int GetVal(String raw) { String[] ary = String_.Split(raw, bitRngSpr); int rv = 0; @@ -38,7 +38,7 @@ public class EnmMgr { if (String_.HasAtBgn(term, "#")) cur = Int_.parse_(String_.Mid(term, 1)); else - cur = Int_.cast_(rawRegy.Fetch(term)); + cur = Int_.cast_(rawRegy.Get_by(term)); rv |= cur; } return rv; @@ -62,11 +62,11 @@ public class EnmMgr { return sb.XtoStr(); } void AppendRaw(String_bldr sb, int key) { - String raw = (String)valRegy.Fetch(key); + String raw = (String)valRegy.Get_by(key); if (sb.Count() > 0) sb.Add(bitRngSpr); if (prefix != null) sb.Add(prefix); sb.Add(raw); } - HashAdp rawRegy = HashAdp_.new_(), valRegy = HashAdp_.new_(), objRegy = HashAdp_.new_(); + Hash_adp rawRegy = Hash_adp_.new_(), valRegy = Hash_adp_.new_(), objRegy = Hash_adp_.new_(); public static EnmMgr new_() {return new EnmMgr();} EnmMgr() {} } diff --git a/100_core/src_120_basicDataType/gplx/Io_url.java b/100_core/src_120_basicDataType/gplx/Io_url.java index 24c12469c..ea3d5c83a 100644 --- a/100_core/src_120_basicDataType/gplx/Io_url.java +++ b/100_core/src_120_basicDataType/gplx/Io_url.java @@ -20,9 +20,9 @@ import gplx.core.strings.*; import gplx.ios.*; /*IoUrlInfo*/ public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_20101005 URL:doc/Io_url.txt public IoUrlInfo Info() {return info;} IoUrlInfo info; public String Raw() {return raw;} final String raw; - public byte[] RawBry() {return Bry_.new_utf8_(raw);} + public byte[] RawBry() {return Bry_.new_u8(raw);} // public byte[] Http_file_bry() { -// try {return Bry_.new_utf8_(String_.Concat(http_file_str, java.net.URLEncoder.encode(raw, "UTF-8")));} +// try {return Bry_.new_u8(String_.Concat(http_file_str, java.net.URLEncoder.encode(raw, "UTF-8")));} // catch (Exception e) {throw Err_.err_(e, "Http_file_bry");} // } public String To_http_file_str() {return Http_file_str + Http_file_str_encoder.Encode_str(raw);} @@ -33,7 +33,7 @@ public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_ public static final String Http_file_str = "file:///"; public static final int Http_file_len = String_.Len(Http_file_str); - public static final byte[] Http_file_bry = Bry_.new_ascii_(Http_file_str); + public static final byte[] Http_file_bry = Bry_.new_a7(Http_file_str); public boolean Type_dir() {return info.IsDir(raw);} public boolean Type_fil() {return !info.IsDir(raw);} public Io_url OwnerDir() {return Io_url_.new_inf_(info.OwnerDir(raw), info);} public Io_url OwnerRoot() {return Io_url_.new_inf_(info.OwnerRoot(raw), info);} @@ -61,8 +61,8 @@ public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_ ? String_.DelBgn(raw, String_.Len(dirRaw)) : String_.Empty; } - public ListAdp XtoNames() { - ListAdp list = ListAdp_.new_(); + public List_adp XtoNames() { + List_adp list = List_adp_.new_(); Io_url cur = this; while (!cur.EqNull()) { list.Add(cur.NameAndExt_noDirSpr()); @@ -73,7 +73,7 @@ public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_ } public Io_url GenParallel(Io_url oldRoot, Io_url newRoot) {return newRoot.GenSubFil_ary(GenRelUrl_orEmpty(oldRoot));} public boolean Eq(Object obj) {if (obj == null) return false; return String_.Eq(raw, ((Io_url)obj).raw);} - public boolean EqNull() {return this.Eq(Io_url_.Null);} + public boolean EqNull() {return this.Eq(Io_url_.Empty);} Io_url GenSub(boolean isFil, String[] ary) { String_bldr sb = String_bldr_.new_().Add(raw); int len = Array_.Len(ary); diff --git a/100_core/src_120_basicDataType/gplx/Io_url_.java b/100_core/src_120_basicDataType/gplx/Io_url_.java index c0f46a8b0..f86ed9c86 100644 --- a/100_core/src_120_basicDataType/gplx/Io_url_.java +++ b/100_core/src_120_basicDataType/gplx/Io_url_.java @@ -18,16 +18,20 @@ along with this program. If not, see . package gplx; import gplx.ios.*; /*IoUrlInfo_*/ public class Io_url_ { - public static final Io_url Null = new Io_url("", IoUrlInfo_.Nil); + public static final Io_url Empty = new Io_url("", IoUrlInfo_.Nil); public static final Io_url NullPtr = null; public static final Io_url Parser = new Io_url("", IoUrlInfo_.Nil); public static Io_url as_(Object obj) {return obj instanceof Io_url ? (Io_url)obj : null;} public static Io_url cast_(Object obj) {try {return (Io_url)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, Io_url.class, obj);}} public static Io_url Usr() { if (usr_dir == null) { - usr_dir = Op_sys.Cur().Tid_is_lnx() - ? Io_url_.new_inf_(String_.Format("/home/{0}/", Env_.UserName()), IoUrlInfo_.Lnx) - : Io_url_.new_inf_("C:\\", IoUrlInfo_.Wnt); + switch (Op_sys.Cur().Tid()) { + case Op_sys.Tid_wnt: usr_dir = Io_url_.new_inf_("C:\\", IoUrlInfo_.Wnt); break; + case Op_sys.Tid_lnx: usr_dir = Io_url_.new_inf_(String_.Format("/home/{0}/", Env_.UserName()), IoUrlInfo_.Lnx); break; + case Op_sys.Tid_osx: usr_dir = Io_url_.new_inf_(String_.Format("/Users/{0}/", Env_.UserName()), IoUrlInfo_.Lnx); break; + case Op_sys.Tid_drd: usr_dir = Io_url_.new_inf_(String_.Format("/mnt/{0}/", Env_.UserName()), IoUrlInfo_.Lnx); break; + default: throw Err_.unhandled(Op_sys.Cur().Tid()); + } } return usr_dir; } static Io_url usr_dir; @@ -44,12 +48,12 @@ public class Io_url_ { public static Io_url new_fil_(String raw) {return new_any_(raw);} public static Io_url new_dir_(String raw) {return new_any_(raw);} // NOTE: for now, same as new_fil; stack overflow when doing new_dir public static Io_url new_any_(String raw) {return new_inf_(raw, IoUrlInfoRegy._.Match(raw));} - public static Io_url new_inf_(String raw, IoUrlInfo info) {return String_.Eq(raw, "") ? Io_url_.Null : new Io_url(raw, info);} + public static Io_url new_inf_(String raw, IoUrlInfo info) {return String_.Eq(raw, "") ? Io_url_.Empty : new Io_url(raw, info);} public static Io_url http_any_(String src, boolean wnt) { return new_any_(parse_http_file(src, wnt)); } private static String parse_http_file(String v, boolean wnt) { - byte[] v_bry = Bry_.new_utf8_(v); + byte[] v_bry = Bry_.new_u8(v); int v_len = v_bry.length; if (Bry_.HasAtBgn(v_bry, Io_url.Http_file_bry, 0, v_len)) { byte[] rv = new byte[v_len - Io_url.Http_file_len]; @@ -58,7 +62,7 @@ public class Io_url_ { if (wnt && b == Byte_ascii.Slash) b = Byte_ascii.Backslash; rv[i] = b; } - return String_.new_utf8_(rv); + return String_.new_u8(rv); } return v; } diff --git a/100_core/src_120_basicDataType/gplx/KeyVal.java b/100_core/src_120_basicDataType/gplx/KeyVal.java index e3eda8e87..9df3f77fb 100644 --- a/100_core/src_120_basicDataType/gplx/KeyVal.java +++ b/100_core/src_120_basicDataType/gplx/KeyVal.java @@ -25,7 +25,7 @@ public class KeyVal implements XtoStrAble { public Object Val() {return val;} public KeyVal Val_(Object v) {val = v; return this;} private Object val; public String Val_to_str_or_empty() {return Object_.Xto_str_strict_or_empty(val);} public String Val_to_str_or_null() {return Object_.Xto_str_strict_or_null(val);} - public byte[] Val_to_bry() {return Bry_.new_utf8_(Object_.Xto_str_strict_or_null(val));} + public byte[] Val_to_bry() {return Bry_.new_u8(Object_.Xto_str_strict_or_null(val));} @Override public String toString() {return XtoStr();} public String XtoStr() {return Key() + "=" + Object_.Xto_str_strict_or_null_mark(val);} } diff --git a/100_core/src_120_basicDataType/gplx/KeyValHash.java b/100_core/src_120_basicDataType/gplx/KeyValHash.java index 0b8f9f277..cd9fcc15e 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValHash.java +++ b/100_core/src_120_basicDataType/gplx/KeyValHash.java @@ -17,22 +17,22 @@ along with this program. If not, see . */ package gplx; public class KeyValHash { - private OrderedHash hash = OrderedHash_.new_(); + private Ordered_hash hash = Ordered_hash_.new_(); public int Count() {return hash.Count();} public KeyValHash Clear() {hash.Clear(); return this;} public boolean Has(String key) {return hash.Has(key);} - public KeyVal FetchAt(int i) {return (KeyVal)hash.FetchAt(i);} + public KeyVal Get_at(int i) {return (KeyVal)hash.Get_at(i);} public Object FetchValOr(String key, Object or) {KeyVal rv = FetchOrNull(key); return rv == null ? or : rv.Val();} public Object FetchValOrNull(String key) {return FetchValOr(key, null);} - public Object FetchValOrFail(String key) {return KeyVal_.as_(hash.FetchOrFail(key)).Val();} + public Object FetchValOrFail(String key) {return KeyVal_.as_(hash.Get_by_or_fail(key)).Val();} public KeyValHash Add(KeyVal kv) {hash.Add(kv.Key(), kv); return this;} 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 KeyValHash Add_if_dupe_use_nth(String key, Object val) {hash.Add_if_dupe_use_nth(key, KeyVal_.new_(key, val)); return this;} public void Del(String key) {hash.Del(key);} public KeyVal[] Xto_bry() { KeyVal[] rv = new KeyVal[this.Count()]; for (int i = 0; i < rv.length; i++) - rv[i] = this.FetchAt(i); + rv[i] = this.Get_at(i); return rv; } public static KeyValHash new_() {return new KeyValHash();} protected KeyValHash() {} @@ -43,7 +43,7 @@ public class KeyValHash { rv.Add(ary[i]); return rv; } - public KeyVal FetchOrNull(String key) {return KeyVal_.as_(hash.Fetch(key));} + public KeyVal FetchOrNull(String key) {return KeyVal_.as_(hash.Get_by(key));} public static KeyValHash strAry_(String[] ary) {// needed for consoleLine int aryLen = Array_.Len(ary); if (aryLen % 2 != 0) throw Err_.new_("array length must be divisible by 2").Add("aryLen", aryLen).Add("ary", String_.Concat_lines_crlf(ary)); KeyValHash rv = new KeyValHash(); diff --git a/100_core/src_120_basicDataType/gplx/KeyValList.java b/100_core/src_120_basicDataType/gplx/KeyValList.java index 3bac36625..e6e3957f2 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValList.java +++ b/100_core/src_120_basicDataType/gplx/KeyValList.java @@ -18,15 +18,15 @@ along with this program. If not, see . package gplx; import gplx.core.strings.*; public class KeyValList {//20101217 - public int Count() {return list.Count();} ListAdp list = ListAdp_.new_(); + public int Count() {return list.Count();} List_adp list = List_adp_.new_(); public void Clear() {list.Clear();} - public KeyVal GetAt(int i) {return (KeyVal)list.FetchAt(i);} + public KeyVal GetAt(int i) {return (KeyVal)list.Get_at(i);} public KeyValList Add(String key, Object val) {list.Add(KeyVal_.new_(key, val)); return this;} - public KeyVal[] Xto_bry() {return (KeyVal[])list.Xto_ary(KeyVal.class);} + public KeyVal[] Xto_bry() {return (KeyVal[])list.To_ary(KeyVal.class);} public String XtoStr() { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < list.Count(); i++) { - KeyVal kv = (KeyVal)list.FetchAt(i); + KeyVal kv = (KeyVal)list.Get_at(i); sb.Add_spr_unless_first(kv.Key(), " ", i); sb.Add("=").Add(kv.Val_to_str_or_empty()); } diff --git a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java index cef7314d3..501e54e66 100644 --- a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java +++ b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java @@ -36,7 +36,7 @@ public class TimeSpanAdp_ { public static TimeSpanAdp from_(long bgn) {return TimeSpanAdp_.fracs_(Env_.TickCount() - bgn);} public static final long parse_null = Long_.MinValue; public static TimeSpanAdp parse_(String raw) { - byte[] bry = Bry_.new_utf8_(raw); + byte[] bry = Bry_.new_u8(raw); long fracs = parse_to_fracs(bry, 0, bry.length, false); return fracs == parse_null ? null : TimeSpanAdp_.fracs_(fracs); } diff --git a/100_core/src_120_basicDataType/gplx/Url_encoder_interface.java b/100_core/src_120_basicDataType/gplx/Url_encoder_interface.java index a5bcc8d93..041ede786 100644 --- a/100_core/src_120_basicDataType/gplx/Url_encoder_interface.java +++ b/100_core/src_120_basicDataType/gplx/Url_encoder_interface.java @@ -22,6 +22,6 @@ public interface Url_encoder_interface { } class Url_encoder_interface_same implements Url_encoder_interface { public String Encode_str(String v) {return v;} - public byte[] Encode_bry(String v) {return Bry_.new_utf8_(v);} + public byte[] Encode_bry(String v) {return Bry_.new_u8(v);} public static final Url_encoder_interface_same _ = new Url_encoder_interface_same(); Url_encoder_interface_same() {} } diff --git a/100_core/src_140_list/gplx/HashAdp_.java b/100_core/src_140_list/gplx/HashAdp_.java deleted file mode 100644 index d8348e8c4..000000000 --- a/100_core/src_140_list/gplx/HashAdp_.java +++ /dev/null @@ -1,46 +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; -import gplx.core.primitives.*; -public class HashAdp_ { - public static HashAdp new_() {return new HashAdp_obj();} - public static HashAdp new_bry_() {return new HashAdp_bry();} - public static final HashAdp Null = new HashAdp_null(); -} -class HashAdp_obj extends gplx.lists.HashAdp_base implements HashAdp {}//_20110428 -class HashAdp_null implements HashAdp { - public int Count() {return 0;} - public boolean Has(Object key) {return false;} - public Object Fetch(Object key) {return null;} - public Object FetchOrFail(Object key) {throw Err_.missing_key_(Object_.Xto_str_strict_or_null_mark(key));} - public Object FetchOrNew(Object key, NewAble proto) {throw Err_.new_("could not add to null hash");} - public void Add(Object key, Object val) {} - public void AddKeyVal(Object val) {} - public void AddReplace(Object key, Object val) {} - public boolean Add_if_new(Object key, Object val) {return false;} - public void Del(Object key) {} - public void Clear() {} - public java.util.Iterator iterator() {return gplx.lists.Iterator_null._;} -} -class HashAdp_bry extends gplx.lists.HashAdp_base implements HashAdp { - Bry_obj_ref key_ref = Bry_obj_ref.null_(); - @Override protected void Add_base(Object key, Object val) {super.Add_base(Bry_obj_ref.new_((byte[])key), val);} - @Override protected void Del_base(Object key) {super.Del_base(key_ref.Val_((byte[])key));} - @Override protected boolean Has_base(Object key) {return super.Has_base(key_ref.Val_((byte[])key));} - @Override protected Object Fetch_base(Object key) {return super.Fetch_base(key_ref.Val_((byte[])key));} -} diff --git a/100_core/src_140_list/gplx/HashAdp.java b/100_core/src_140_list/gplx/Hash_adp.java similarity index 71% rename from 100_core/src_140_list/gplx/HashAdp.java rename to 100_core/src_140_list/gplx/Hash_adp.java index e50f0d478..88461ff32 100644 --- a/100_core/src_140_list/gplx/HashAdp.java +++ b/100_core/src_140_list/gplx/Hash_adp.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; -public interface HashAdp extends gplx.lists.EnumerAble { +public interface Hash_adp extends gplx.lists.EnumerAble { int Count(); boolean Has(Object key); - Object Fetch(Object key); - Object FetchOrFail(Object key); - Object FetchOrNew(Object key, NewAble prototype); + Object Get_by(Object key); + Object Get_by_or_fail(Object key); + Object Get_by_or_new(Object key, NewAble prototype); void Add(Object key, Object val); - void AddKeyVal(Object val); - void AddReplace(Object key, Object val); - boolean Add_if_new(Object key, Object val); + void Add_as_key_and_val(Object val); + boolean Add_if_dupe_use_1st(Object key, Object val); + void Add_if_dupe_use_nth(Object key, Object val); void Del(Object key); void Clear(); } diff --git a/100_core/src_140_list/gplx/Hash_adp_.java b/100_core/src_140_list/gplx/Hash_adp_.java new file mode 100644 index 000000000..a998b6462 --- /dev/null +++ b/100_core/src_140_list/gplx/Hash_adp_.java @@ -0,0 +1,38 @@ +/* +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; +import gplx.core.primitives.*; +public class Hash_adp_ { + public static Hash_adp new_() {return new Hash_adp_obj();} + public static final Hash_adp Noop = new Hash_adp_noop(); +} +class Hash_adp_obj extends gplx.lists.Hash_adp_base implements Hash_adp {}//_20110428 +class Hash_adp_noop implements Hash_adp { + public int Count() {return 0;} + public boolean Has(Object key) {return false;} + public Object Get_by(Object key) {return null;} + public Object Get_by_or_fail(Object key) {throw Err_.missing_key_(Object_.Xto_str_strict_or_null_mark(key));} + public Object Get_by_or_new(Object key, NewAble proto) {throw Err_.new_("could not add to null hash");} + public void Add(Object key, Object val) {} + public void Add_as_key_and_val(Object val) {} + public void Add_if_dupe_use_nth(Object key, Object val) {} + public boolean Add_if_dupe_use_1st(Object key, Object val) {return false;} + public void Del(Object key) {} + public void Clear() {} + public java.util.Iterator iterator() {return gplx.lists.Iterator_null._;} +} diff --git a/100_core/src_140_list/gplx/Hash_adp_bry.java b/100_core/src_140_list/gplx/Hash_adp_bry.java index fd20dc813..6d82b8100 100644 --- a/100_core/src_140_list/gplx/Hash_adp_bry.java +++ b/100_core/src_140_list/gplx/Hash_adp_bry.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; import gplx.core.primitives.*; import gplx.intl.*; -public class Hash_adp_bry extends gplx.lists.HashAdp_base implements HashAdp { +public class Hash_adp_bry extends gplx.lists.Hash_adp_base implements Hash_adp { private final Hash_adp_bry_itm_base proto, key_ref; Hash_adp_bry(Hash_adp_bry_itm_base proto) { this.proto = proto; @@ -32,14 +32,14 @@ public class Hash_adp_bry extends gplx.lists.HashAdp_base implements HashAdp { public Hash_adp_bry Add_bry_byte(byte[] key, byte val) {this.Add_base(key, Byte_obj_val.new_(val)); return this;} public Hash_adp_bry Add_bry_int(byte[] key, int val) {this.Add_base(key, Int_obj_val.new_(val)); return this;} public Hash_adp_bry Add_bry_bry(byte[] key) {this.Add_base(key, key); return this;} - public Hash_adp_bry Add_str_byte(String key, byte val) {this.Add_base(Bry_.new_utf8_(key), Byte_obj_val.new_(val)); return this;} - public Hash_adp_bry Add_str_obj(String key, Object val) {this.Add_base(Bry_.new_utf8_(key), val); return this;} + public Hash_adp_bry Add_str_byte(String key, byte val) {this.Add_base(Bry_.new_u8(key), Byte_obj_val.new_(val)); return this;} + public Hash_adp_bry Add_str_obj(String key, Object val) {this.Add_base(Bry_.new_u8(key), val); return this;} public Hash_adp_bry Add_bry_obj(byte[] key, Object val) {this.Add_base(key, val); return this;} public Hash_adp_bry Add_many_str(String... ary) { int ary_len = ary.length; for (int i = 0; i < ary_len; i++) { String itm = ary[i]; - byte[] bry = Bry_.new_utf8_(itm); + byte[] bry = Bry_.new_u8(itm); Add_bry_bry(bry); } return this; diff --git a/100_core/src_140_list/gplx/Hash_adp_bry_tst.java b/100_core/src_140_list/gplx/Hash_adp_bry_tst.java index 7a5888757..a489e5b81 100644 --- a/100_core/src_140_list/gplx/Hash_adp_bry_tst.java +++ b/100_core/src_140_list/gplx/Hash_adp_bry_tst.java @@ -50,19 +50,19 @@ class Hash_adp_bry_fxt { public void Clear() {} public Hash_adp_bry_fxt New_cs() {hash = Hash_adp_bry.cs_(); return this;} public Hash_adp_bry_fxt New_ci() {hash = Hash_adp_bry.ci_ascii_(); return this;} - public Hash_adp_bry_fxt Add(String key) {byte[] key_bry = Bry_.new_utf8_(key); hash.Add(key_bry, key_bry); return this;} + public Hash_adp_bry_fxt Add(String key) {byte[] key_bry = Bry_.new_u8(key); hash.Add(key_bry, key_bry); return this;} public Hash_adp_bry_fxt Count_tst(int expd) {Tfds.Eq(expd, hash.Count()); return this;} public Hash_adp_bry_fxt Get_bry_tst(String key) {return Get_bry_tst(key, key);} public Hash_adp_bry_fxt Get_bry_tst(String key, String expd) { - byte[] key_bry = Bry_.new_utf8_(key); + byte[] key_bry = Bry_.new_u8(key); byte[] actl_bry = (byte[])hash.Get_by_bry(key_bry); - Tfds.Eq(expd, String_.new_utf8_(actl_bry)); + Tfds.Eq(expd, String_.new_u8(actl_bry)); return this; } public Hash_adp_bry_fxt Get_mid_tst(String key, int bgn, int end, String expd) { - byte[] key_bry = Bry_.new_utf8_(key); + byte[] key_bry = Bry_.new_u8(key); byte[] actl_bry = (byte[])hash.Get_by_mid(key_bry, bgn, end); - Tfds.Eq(expd, String_.new_utf8_(actl_bry)); + Tfds.Eq(expd, String_.new_u8(actl_bry)); return this; } } diff --git a/100_core/src_140_list/gplx/ListAdp.java b/100_core/src_140_list/gplx/ListAdp.java deleted file mode 100644 index 592b84e15..000000000 --- a/100_core/src_140_list/gplx/ListAdp.java +++ /dev/null @@ -1,51 +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; -import gplx.lists.*; /*EnumerAble,ComparerAble*/ -public interface ListAdp extends EnumerAble { - boolean Has_none(); - int Count(); - Object FetchAt(int i); - Object FetchAtOr(int i, Object or); - Object FetchAtLast(); - Object PopLast(); - void Add(Object o); - void AddAt(int i, Object o); - ListAdp AddMany(Object... ary); - void Del(Object o); - void DelAt(int i); - void Del_range(int bgn, int end); - void Clear(); - void Clear_max(int max); - boolean RangeCheck(int v); - void ResizeBounds(int i); - int IndexOf(Object o); - int LastIndex(); - void MoveTo(int src, int trg); - void SetAt(int i, Object o); - String XtoStr(); - String[] XtoStrAry(); - Object Xto_ary(Class memberType); - Object Xto_ary_and_clear(Class memberType); - Object[] Xto_obj_ary(); - - void Reverse(); - void Sort(); - void SortBy(ComparerAble comparer); - void Shuffle(); -} diff --git a/100_core/src_140_list/gplx/ListAdp_.java b/100_core/src_140_list/gplx/ListAdp_.java deleted file mode 100644 index cfb3bbda2..000000000 --- a/100_core/src_140_list/gplx/ListAdp_.java +++ /dev/null @@ -1,92 +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; -import gplx.lists.*; /*EnumerAble,ComparerAble*/ -public class ListAdp_ { - public static ListAdp as_(Object obj) {return obj instanceof ListAdp ? (ListAdp)obj : null;} - public static ListAdp new_() {return new ListAdp_obj();} - public static ListAdp size_(int v) {return new ListAdp_obj(v);} - public static ListAdp many_(Object... ary) {return new ListAdp_obj().AddMany(ary);} - public static final ListAdp Null = new ListAdp_null(); - public static void Add_list(ListAdp rv, ListAdp add) { - int len = add.Count(); - for (int i = 0; i < len; ++i) - rv.Add(add.FetchAt(i)); - } - public static void DelAt_last(ListAdp list) {list.DelAt(list.Count() - 1);} - public static Object Pop(ListAdp list) { - int lastIdx = list.Count() - 1; - Object rv = list.FetchAt(lastIdx); - list.DelAt(lastIdx); - return rv; - } - public static Object Pop_first(ListAdp list) { // NOTE: dirty way of implementing FIFO queue; should not be used with lists with many members - Object rv = list.FetchAt(0); - list.DelAt(0); - return rv; - } - public static void DisposeAll(ListAdp list) { - for (int i = 0; i < list.Count(); i++) - ((RlsAble)list.FetchAt(i)).Rls(); - } - public static ListAdp new_ary_(Object ary) { - int ary_len = Array_.Len(ary); - ListAdp rv = size_(ary_len); - for (int i = 0; i < ary_len; i++) - rv.Add(Array_.Get(ary, i)); - return rv; - } - public static final int Capacity_initial = 8; - public static final int NotFound = -1, Base1 = 1, LastIdxOffset = 1, CountToPos = 1; -} -class ListAdp_obj extends ListAdp_base implements ListAdp { - public ListAdp_obj() {super();} - public ListAdp_obj(int v) {super(v);} -} -class ListAdp_null implements ListAdp { - public boolean Has_none() {return true;} - public int Count() {return 0;} - public Object FetchAt(int i) {return null;} - public Object FetchAtLast() {return null;} - public Object FetchAtOr(int i, Object or) {return null;} - public Object PopLast() {return null;} - public void Add(Object o) {} - public void AddAt(int i, Object o) {} - public ListAdp AddMany(Object... ary) {return this;} - public void Del(Object o) {} - public void DelAt(int i) {} - public void Del_range(int bgn, int end) {} - public void Clear() {} - public void Clear_max(int max) {} - public int LastIndex() {return -1;} - public int IndexOf(Object o) {return ListAdp_.NotFound;} - public void MoveTo(int elemPos, int newPos) {} - public boolean RangeCheck(int v) {return false;} - public void ResizeBounds(int i) {} - 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 Object[] Xto_obj_ary() {return Object_.Ary_empty;} - public java.util.Iterator iterator() {return Iterator_null._;} - public void Reverse() {} - public void SetAt(int i, Object o) {} - public void Sort() {} - public void SortBy(ComparerAble comparer) {} - public void Shuffle() {} -} diff --git a/100_core/src_140_list/gplx/List_adp.java b/100_core/src_140_list/gplx/List_adp.java new file mode 100644 index 000000000..fc353db87 --- /dev/null +++ b/100_core/src_140_list/gplx/List_adp.java @@ -0,0 +1,73 @@ +/* +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; +import gplx.lists.*; /*EnumerAble,ComparerAble*/ +public interface List_adp extends EnumerAble { + int Count(); + Object Get_at(int i); + Object Get_at_last(); + void Add(Object o); + void Add_at(int i, Object o); + void Add_many(Object... ary); + void Del(Object o); + void Del_at(int i); + void Del_range(int bgn, int end); + void Clear(); + int Idx_of(Object o); + int Idx_last(); + Object To_ary(Class memberType); + Object To_ary_and_clear(Class memberType); + String[] To_str_ary(); + Object[] To_obj_ary(); + void Resize_bounds(int i); + void Move_to(int src, int trg); + void Reverse(); + void Sort(); + void Sort_by(ComparerAble comparer); + void Shuffle(); +} +class List_adp_obj extends List_adp_base implements List_adp { + public List_adp_obj() {super();} + public List_adp_obj(int v) {super(v);} +} +class List_adp_noop implements List_adp { + public int Count() {return 0;} + public Object Get_at(int i) {return null;} + public Object Get_at_last() {return null;} + public Object PopLast() {return null;} + public void Add(Object o) {} + public void Add_at(int i, Object o) {} + public void Add_many(Object... ary) {} + public void Del(Object o) {} + public void Del_at(int i) {} + public void Del_range(int bgn, int end) {} + public void Clear() {} + public int Idx_last() {return -1;} + public int Idx_of(Object o) {return List_adp_.NotFound;} + public void Move_to(int elemPos, int newPos) {} + public void Resize_bounds(int i) {} + public Object To_ary(Class memberType) {return Object_.Ary_empty;} + public Object To_ary_and_clear(Class memberType) {return Object_.Ary_empty;} + public String[] To_str_ary() {return new String[0];} + public Object[] To_obj_ary() {return Object_.Ary_empty;} + public java.util.Iterator iterator() {return Iterator_null._;} + public void Reverse() {} + public void Sort() {} + public void Sort_by(ComparerAble comparer) {} + public void Shuffle() {} +} diff --git a/100_core/src_140_list/gplx/List_adp_.java b/100_core/src_140_list/gplx/List_adp_.java new file mode 100644 index 000000000..7ea257ecd --- /dev/null +++ b/100_core/src_140_list/gplx/List_adp_.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; +import gplx.lists.*; /*EnumerAble,ComparerAble*/ +public class List_adp_ { + public static final List_adp Noop = new List_adp_noop(); + public static List_adp as_(Object obj) {return obj instanceof List_adp ? (List_adp)obj : null;} + public static List_adp new_() {return new List_adp_obj();} + public static List_adp size_(int v) {return new List_adp_obj(v);} + public static List_adp many_(Object... ary) { + List_adp rv = new List_adp_obj(); + rv.Add_many(ary); + return rv; + } + public static void Add_list(List_adp rv, List_adp add) { + int len = add.Count(); + for (int i = 0; i < len; ++i) + rv.Add(add.Get_at(i)); + } + public static void DelAt_last(List_adp list) {list.Del_at(list.Count() - 1);} + public static Object Pop(List_adp list) { + int lastIdx = list.Count() - 1; + Object rv = list.Get_at(lastIdx); + list.Del_at(lastIdx); + return rv; + } + public static Object Pop_first(List_adp list) { // NOTE: dirty way of implementing FIFO queue; should not be used with lists with many members + Object rv = list.Get_at(0); + list.Del_at(0); + return rv; + } + public static Object Pop_last(List_adp list) { + int last_idx = list.Count() - 1; + Object rv = list.Get_at(last_idx); + list.Del_at(last_idx); + return rv; + } + public static void DisposeAll(List_adp list) { + for (int i = 0; i < list.Count(); i++) + ((RlsAble)list.Get_at(i)).Rls(); + } + public static List_adp new_ary_(Object ary) { + int ary_len = Array_.Len(ary); + List_adp rv = size_(ary_len); + for (int i = 0; i < ary_len; i++) + rv.Add(Array_.Get(ary, i)); + return rv; + } + public static final int Capacity_initial = 8; + public static final int NotFound = -1, Base1 = 1, LastIdxOffset = 1, CountToPos = 1; +} diff --git a/100_core/src_140_list/gplx/ListAdp_base.java b/100_core/src_140_list/gplx/List_adp_base.java similarity index 60% rename from 100_core/src_140_list/gplx/ListAdp_base.java rename to 100_core/src_140_list/gplx/List_adp_base.java index 62db90e5c..50bf218cc 100644 --- a/100_core/src_140_list/gplx/ListAdp_base.java +++ b/100_core/src_140_list/gplx/List_adp_base.java @@ -17,15 +17,16 @@ along with this program. If not, see . */ package gplx; import gplx.core.strings.*; import gplx.lists.*; -public abstract class ListAdp_base implements ListAdp, GfoInvkAble { - public Object Xto_ary_and_clear(Class memberType) {Object rv = Xto_ary(memberType); this.Clear(); return rv;} - public Object Xto_ary(Class memberType) { +public abstract class List_adp_base implements List_adp, GfoInvkAble { + private Object[] list; private int count; + public Object To_ary_and_clear(Class memberType) {Object rv = To_ary(memberType); this.Clear(); return rv;} + public Object To_ary(Class memberType) { Object rv = Array_.Create(memberType, count); for (int i = 0; i < count; i++) Array_.Set(rv, i, list[i]); return rv; } - public Object[] Xto_obj_ary() { + public Object[] To_obj_ary() { Object[] rv = new Object[count]; for (int i = 0; i < count; ++i) rv[i] = list[i]; @@ -37,13 +38,10 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { else return new Iterator_objAry(list, count); } - public ListAdp AddMany(Object... ary) {for (Object o : ary) Add_base(o); return this;} - - public boolean Has_none() {return count == 0;} - public int Idx_last() {return Count() - 1;} + public void Add_many(Object... ary) {for (Object o : ary) Add_base(o);} public int Count() {return count;} - public int LastIndex() {return count - 1;} - protected Object FetchAt_base(int index) {if (index >= count || index < 0) throw Err_.missing_idx_(index, count); + public int Idx_last() {return count - 1;} + protected Object Get_at_base(int index) {if (index >= count || index < 0) throw Err_.missing_idx_(index, count); return list[index]; } protected void Add_base(Object o) { @@ -52,8 +50,8 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { count++; } protected int Del_base(Object o) { - int index = IndexOf_base(o); if (index == ListAdp_.NotFound) return ListAdp_.NotFound; - this.DelAt(index); + int index = IndexOf_base(o); if (index == List_adp_.NotFound) return List_adp_.NotFound; + this.Del_at(index); return index; } public void Del_range(int delBgn, int delEnd) { @@ -72,37 +70,21 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { list = newList; count = list.length; } - public Object PopLast() { - int lastIdx = count - 1; - Object rv = FetchAt(lastIdx); - DelAt(lastIdx); - return rv; - } - void BoundsChk(int bgn, int end, int len) { - if ( bgn >= 0 && bgn < len - && end >= 0 && end < len - && bgn <= end - ) return; - throw Err_.new_("bounds check failed").Add("bgn", bgn).Add("end", end).Add("len", len); - } - public boolean RangeCheck(int v) {return v >= 0 && v < count;} protected int IndexOf_base(Object o) { for (int i = 0; i < count; i++) if (Object_.Eq(list[i], o)) return i; - return ListAdp_.NotFound; + return List_adp_.NotFound; } @gplx.Virtual public void Clear() { for (int i = 0; i < count; i++) list[i] = null; count = 0; -// if (Capacity() != ListAdp_.Capacity_initial) list = new Object[ListAdp_.Capacity_initial]; // COMMENT:2012-06-16 } - public void Clear_max(int max) {this.Clear(); if (Capacity() > max) list = new Object[max];} - @gplx.Virtual public void DelAt(int index) {if (index >= count || index < 0) throw Err_.missing_idx_(index, count); + @gplx.Virtual public void Del_at(int index) {if (index >= count || index < 0) throw Err_.missing_idx_(index, count); Collapse(index); count--; } - public void MoveTo(int src, int trg) {if (src >= count || src < 0) throw Err_.missing_idx_(src, count); if (trg >= count || trg < 0) throw Err_.missing_idx_(trg, count); + public void Move_to(int src, int trg) {if (src >= count || src < 0) throw Err_.missing_idx_(src, count); if (trg >= count || trg < 0) throw Err_.missing_idx_(trg, count); if (src == trg) return; // position not changed Object o = list[src]; int dif = trg > src ? 1 : -1; @@ -117,21 +99,11 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { list[pos] = o; count = count + 1; } - public void ResizeBounds(int i) { + public void Resize_bounds(int i) { Resize_expand(i); } - public String XtoStr() { - String_bldr sb = String_bldr_.new_(); - for (int i = 0; i < count; i++) { - if (i != 0) sb.Add_char_crlf(); - Object val = list[i]; - sb.Add_obj(Object_.Xto_str_strict_or_empty(val)); - } - return sb.XtoStr(); - } - public void SetAt(int i, Object o) {list[i] = o;} - public void Sort() {SortBy(null);} - public void SortBy(ComparerAble comparer) {ListAdp_Sorter.new_().Sort(list, count, true, comparer);} + public void Sort() {Sort_by(null);} + public void Sort_by(ComparerAble comparer) {List_adp_sorter.new_().Sort(list, count, true, comparer);} public void Reverse() { int mid = count / 2; // no need to reverse pivot; ex: for 3 elements, only 1 and 3 need to be exchanged; 2 stays inplace for (int lhs = 0; lhs < mid; lhs++) { @@ -150,22 +122,26 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { list[i-1] = tmp; } } - 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);} + public String[] To_str_ary() {return (String[])To_ary(String.class);} + public Object Get_at(int i) {return Get_at_base(i);} + public Object Get_at_last() {if (count == 0) throw Err_.invalid_op_("cannot call Get_at_last on empty list"); return Get_at_base(count - 1);} public void Add(Object item) {Add_base(item);} - public void AddAt(int i, Object o) {AddAt_base(i, o);} + public void Add_at(int i, Object o) {AddAt_base(i, o);} public void Del(Object item) {Del_base(item);} - public int IndexOf(Object o) {return IndexOf_base(o);} - - Object[] list; int count; - public ListAdp_base() { - list = new Object[ListAdp_.Capacity_initial]; + public int Idx_of(Object o) {return IndexOf_base(o);} + public List_adp_base() { + list = new Object[List_adp_.Capacity_initial]; } - public ListAdp_base(int capacity) { + public List_adp_base(int capacity) { list = new Object[capacity]; } + private void BoundsChk(int bgn, int end, int len) { + if ( bgn >= 0 && bgn < len + && end >= 0 && end < len + && bgn <= end + ) return; + throw Err_.new_("bounds check failed").Add("bgn", bgn).Add("end", end).Add("len", len); + } void Resize_expand() {Resize_expand(count * 2);} void Resize_expand(int newCount) { Object[] trg = new Object[newCount]; @@ -183,7 +159,7 @@ public abstract class ListAdp_base implements ListAdp, GfoInvkAble { @gplx.Internal protected int Capacity() {return Array_.LenAry(list);} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_len)) return count; - else if (ctx.Match(k, Invk_get_at)) return FetchAt(m.ReadInt("v")); + else if (ctx.Match(k, Invk_get_at)) return Get_at(m.ReadInt("v")); else return GfoInvkAble_.Rv_unhandled; // return this; } private static final String Invk_len = "len", Invk_get_at = "get_at"; diff --git a/100_core/src_140_list/gplx/ListAdp_Sorter.java b/100_core/src_140_list/gplx/List_adp_sorter.java similarity index 89% rename from 100_core/src_140_list/gplx/ListAdp_Sorter.java rename to 100_core/src_140_list/gplx/List_adp_sorter.java index 5d06018e5..ec32f5b1b 100644 --- a/100_core/src_140_list/gplx/ListAdp_Sorter.java +++ b/100_core/src_140_list/gplx/List_adp_sorter.java @@ -17,7 +17,8 @@ along with this program. If not, see . */ package gplx; import gplx.lists.*; -public class ListAdp_Sorter { +public class List_adp_sorter { + private ComparerAble comparer = null; public void Sort(Object[] orig, int origLen) {Sort(orig, origLen, true, null);} public void Sort(Object[] orig, int origLen, boolean asc, ComparerAble comparer) { this.comparer = comparer; @@ -33,8 +34,7 @@ public class ListAdp_Sorter { Combine(asc, orig, temp, lhs, mid + 1, rhs); } } - ComparerAble comparer = null; - void Combine(boolean asc, Object[] orig, Object[] temp, int lhsPos, int rhsPos, int rhsEnd) { + private void Combine(boolean asc, Object[] orig, Object[] temp, int lhsPos, int rhsPos, int rhsEnd) { int lhsEnd = rhsPos - 1; int tmpPos = lhsPos; int aryLen = rhsEnd - lhsPos + 1; @@ -62,7 +62,7 @@ public class ListAdp_Sorter { orig[rhsEnd] = temp[rhsEnd]; } - public static ListAdp_Sorter new_() {return new ListAdp_Sorter();} ListAdp_Sorter() {} + public static List_adp_sorter new_() {return new List_adp_sorter();} List_adp_sorter() {} } class Iterator_objAry implements java.util.Iterator { public boolean hasNext() {return ++pos < len;} diff --git a/100_core/src_140_list/gplx/ListAdp_Sorter_tst.java b/100_core/src_140_list/gplx/List_adp_sorter_tst.java similarity index 88% rename from 100_core/src_140_list/gplx/ListAdp_Sorter_tst.java rename to 100_core/src_140_list/gplx/List_adp_sorter_tst.java index 86379e442..b397b7254 100644 --- a/100_core/src_140_list/gplx/ListAdp_Sorter_tst.java +++ b/100_core/src_140_list/gplx/List_adp_sorter_tst.java @@ -17,15 +17,15 @@ along with this program. If not, see . */ package gplx; import org.junit.*; -public class ListAdp_Sorter_tst { +public class List_adp_sorter_tst { @Test public void Basic() { Object[] src = new Object[] {0,8,1,7,2,6,3,5,4}; - ListAdp_Sorter.new_().Sort(src, src.length); + List_adp_sorter.new_().Sort(src, src.length); Tfds.Eq_ary(src, Sequential(0, 8)); } @Test public void Basic2() { Object[] src = new Object[] {"0","8","1","7","2","6","3","5","4"}; - ListAdp_Sorter.new_().Sort(src, src.length); + List_adp_sorter.new_().Sort(src, src.length); Tfds.Eq_ary(src, new Object[] {"0","1","2","3","4","5","6","7","8"}); } Object[] Sequential(int bgn, int end) { diff --git a/100_core/src_140_list/gplx/ListAdp_tst.java b/100_core/src_140_list/gplx/List_adp_tst.java similarity index 76% rename from 100_core/src_140_list/gplx/ListAdp_tst.java rename to 100_core/src_140_list/gplx/List_adp_tst.java index 090a23483..a86bfcc3a 100644 --- a/100_core/src_140_list/gplx/ListAdp_tst.java +++ b/100_core/src_140_list/gplx/List_adp_tst.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx; import org.junit.*; -public class ListAdp_tst { +public class List_adp_tst { @Before public void setup() { - list = ListAdp_.new_(); - listBase = (ListAdp_base)list; - } ListAdp list; ListAdp_base listBase; + list = List_adp_.new_(); + listBase = (List_adp_base)list; + } List_adp list; List_adp_base listBase; @Test public void Add() { Tfds.Eq(0, list.Count()); @@ -29,7 +29,7 @@ public class ListAdp_tst { Tfds.Eq(1, list.Count()); } @Test public void Add_changeCapacity() { - int capacity = ListAdp_.Capacity_initial; + int capacity = List_adp_.Capacity_initial; for (int i = 0; i < capacity; i++) list.Add("0"); Tfds.Eq(capacity, list.Count()); @@ -39,41 +39,41 @@ public class ListAdp_tst { Tfds.Eq(capacity + 1, list.Count()); Tfds.Eq(capacity * 2, listBase.Capacity()); } - @Test public void FetchAt() { + @Test public void Get_at() { list.Add("0"); - Tfds.Eq("0", list.FetchAt(0)); + Tfds.Eq("0", list.Get_at(0)); } @Test public void Fetch_many() { list_AddMany("0", "1"); - Tfds.Eq("0", list.FetchAt(0)); - Tfds.Eq("1", list.FetchAt(1)); + Tfds.Eq("0", list.Get_at(0)); + Tfds.Eq("1", list.Get_at(1)); } @Test public void FetchAt_fail() { - try {list.FetchAt(0);} + try {list.Get_at(0);} catch (Exception exc) {Err_.Noop(exc); return;} - Tfds.Fail("FetchAt should fail for out of bound index"); + Tfds.Fail("Get_at should fail for out of bound index"); } - @Test public void DelAt() { + @Test public void Del_at() { list.Add("0"); Tfds.Eq(1, list.Count()); - list.DelAt(0); + list.Del_at(0); Tfds.Eq(0, list.Count()); } @Test public void DelAt_shiftDown() { list_AddMany("0", "1"); Tfds.Eq(list.Count(), 2); - list.DelAt(0); + list.Del_at(0); Tfds.Eq(1, list.Count()); - Tfds.Eq("1", list.FetchAt(0)); + Tfds.Eq("1", list.Get_at(0)); } @Test public void DelAt_fail() { - try {list.DelAt(0);} + try {list.Del_at(0);} catch (Exception exc) {Err_.Noop(exc); return;} - Tfds.Fail("DelAt should fail for out of bound index"); + Tfds.Fail("Del_at should fail for out of bound index"); } @Test public void Del() { list.Add("0"); @@ -88,7 +88,7 @@ public class ListAdp_tst { list.Del("1"); Tfds.Eq(1, list.Count()); - Tfds.Eq("0", list.FetchAt(0)); + Tfds.Eq("0", list.Get_at(0)); } @Test public void Del_matchFirst() { list_AddMany("0", "1", "0"); @@ -97,13 +97,6 @@ public class ListAdp_tst { list.Del("0"); tst_Enumerator("1", "0"); } - @Test public void Has_none() { - Tfds.Eq_true(list.Has_none()); - list.Add("0"); - Tfds.Eq_false(list.Has_none()); - list.DelAt(0); - Tfds.Eq_true(list.Has_none()); - } @Test public void Enumerator() { list_AddMany("0", "1", "2"); tst_Enumerator("0", "1", "2"); @@ -123,7 +116,7 @@ public class ListAdp_tst { } } @Test public void Clear() { - int capacity = ListAdp_.Capacity_initial; + int capacity = List_adp_.Capacity_initial; for (int i = 0; i < capacity + 1; i++) list.Add("0"); Tfds.Eq(capacity * 2, listBase.Capacity()); @@ -152,22 +145,15 @@ public class ListAdp_tst { @Test public void Sort_empty() {list.Sort();} @Test public void Xto_bry() { list_AddMany("0", "1"); - String[] ary = (String[])list.Xto_ary(String.class); + String[] ary = (String[])list.To_ary(String.class); Tfds.Eq_nullNot(ary); Tfds.Eq(2, Array_.Len(ary)); } @Test public void XtoAry_empty() { - String[] ary = (String[])list.Xto_ary(String.class); + String[] ary = (String[])list.To_ary(String.class); Tfds.Eq_nullNot(ary); Tfds.Eq(0, Array_.Len(ary)); } - @Test public void XtoStr() { - list_AddMany("0", "1", "2"); - Tfds.Eq("0\r\n1\r\n2", list.XtoStr()); - } - @Test public void XtoStr_empty() { - Tfds.Eq("", list.XtoStr()); - } @Test public void Shuffle() { for (int i = 0; i < 25; i++) list.Add(i); @@ -175,7 +161,7 @@ public class ListAdp_tst { list.Shuffle(); int hasMovedCount = 0; for (int i = 0; i < list.Count(); i++) { - int val = Int_.cast_(list.FetchAt(i)); + int val = Int_.cast_(list.Get_at(i)); if (val != i) hasMovedCount++; } Tfds.Eq_true(hasMovedCount > 0, "all documents have the same index"); // NOTE: may still fail occasionally (1%) @@ -186,7 +172,7 @@ public class ListAdp_tst { Tfds.Eq(0, list.Count(), "shuffled list does not have the same contents as original list"); } @Test public void Shuffle_empty() {list.Shuffle();} - @Test public void MoveTo() { + @Test public void Move_to() { run_ClearAndAdd("0", "1", "2").run_MoveTo(0, 1).tst_Order("1", "0", "2"); run_ClearAndAdd("0", "1", "2").run_MoveTo(0, 2).tst_Order("1", "2", "0"); run_ClearAndAdd("0", "1", "2").run_MoveTo(2, 1).tst_Order("0", "2", "1"); @@ -202,9 +188,9 @@ public class ListAdp_tst { } void tst_DelRange(int bgn, int end, String... expd) { list.Del_range(bgn, end); - Tfds.Eq_ary_str(expd, list.XtoStrAry()); + Tfds.Eq_ary_str(expd, list.To_str_ary()); } - ListAdp_tst run_ClearAndAdd(String... ary) { + List_adp_tst run_ClearAndAdd(String... ary) { list.Clear(); for (int i = 0; i < Array_.Len(ary); i++) { String val = ary[i]; @@ -212,9 +198,9 @@ public class ListAdp_tst { } return this; } - ListAdp_tst run_MoveTo(int elemPos, int newPos) {list.MoveTo(elemPos, newPos); return this;} - ListAdp_tst tst_Order(String... expd) { - String[] actl = (String[])list.Xto_ary(String.class); + List_adp_tst run_MoveTo(int elemPos, int newPos) {list.Move_to(elemPos, newPos); return this;} + List_adp_tst tst_Order(String... expd) { + String[] actl = (String[])list.To_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/Ordered_hash.java similarity index 68% rename from 100_core/src_140_list/gplx/OrderedHash.java rename to 100_core/src_140_list/gplx/Ordered_hash.java index a1484db7b..17824797d 100644 --- a/100_core/src_140_list/gplx/OrderedHash.java +++ b/100_core/src_140_list/gplx/Ordered_hash.java @@ -17,17 +17,15 @@ along with this program. If not, see . */ package gplx; import gplx.lists.*; /*EnumerAble,ComparerAble*/ -public interface OrderedHash extends HashAdp { - Object FetchAt(int i); - Object FetchAtOr(int i, Object or); - void AddAt(int i, Object o); - int IndexOf(Object item); +public interface Ordered_hash extends Hash_adp { + Object Get_at(int i); + void Add_at(int i, Object o); + int Idx_of(Object item); void Sort(); - void SortBy(ComparerAble comparer); - void ResizeBounds(int i); - Object Xto_ary(Class t); - Object Xto_ary_and_clear(Class t); - String XtoStr_ui(); - void MoveTo(int src, int trg); + void Sort_by(ComparerAble comparer); + void Resize_bounds(int i); + Object To_ary(Class t); + Object To_ary_and_clear(Class t); + void Move_to(int src, int trg); void Lock(); } diff --git a/100_core/src_140_list/gplx/OrderedHash_.java b/100_core/src_140_list/gplx/Ordered_hash_.java similarity index 84% rename from 100_core/src_140_list/gplx/OrderedHash_.java rename to 100_core/src_140_list/gplx/Ordered_hash_.java index 96b537516..bdab7d3e8 100644 --- a/100_core/src_140_list/gplx/OrderedHash_.java +++ b/100_core/src_140_list/gplx/Ordered_hash_.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx; import gplx.core.primitives.*; -public class OrderedHash_ { - public static OrderedHash new_() {return new OrderedHash_base();} - public static OrderedHash new_bry_() {return new OrderedHash_bry();} +public class Ordered_hash_ { + public static Ordered_hash new_() {return new Ordered_hash_base();} + public static Ordered_hash new_bry_() {return new Ordered_hash_bry();} } -class OrderedHash_bry extends OrderedHash_base { +class Ordered_hash_bry extends Ordered_hash_base { private final Bry_obj_ref tmp_ref = Bry_obj_ref.null_(); @Override protected void Add_base(Object key, Object val) {super.Add_base(Bry_obj_ref.new_((byte[])key), val);} @Override protected void Del_base(Object key) {synchronized (tmp_ref) {super.Del_base(tmp_ref.Val_((byte[])key));}} diff --git a/100_core/src_140_list/gplx/OrderedHash_base.java b/100_core/src_140_list/gplx/Ordered_hash_base.java similarity index 67% rename from 100_core/src_140_list/gplx/OrderedHash_base.java rename to 100_core/src_140_list/gplx/Ordered_hash_base.java index 6b317e04c..1a58e7357 100644 --- a/100_core/src_140_list/gplx/OrderedHash_base.java +++ b/100_core/src_140_list/gplx/Ordered_hash_base.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; import gplx.core.strings.*; import gplx.lists.*; /*EnumerAble,ComparerAble*/ -public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoInvkAble { +public class Ordered_hash_base extends Hash_adp_base implements Ordered_hash, GfoInvkAble { @Override protected void Add_base(Object key, Object val) { super.Add_base(key, val); ordered.Add(val); @@ -31,47 +31,46 @@ public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoIn ordered.Del(val); AssertCounts(); } - protected Object FetchAt_base(int index) {return ordered.FetchAt(index);} - protected int IndexOf_base(Object obj) {return ordered.IndexOf(obj);} + protected Object Get_at_base(int index) {return ordered.Get_at(index);} + protected int IndexOf_base(Object obj) {return ordered.Idx_of(obj);} @Override public void Clear() { if (locked) Lock_fail(); super.Clear(); ordered.Clear(); } - public Object Xto_ary(Class type) {return ordered.Xto_ary(type);} - public Object Xto_ary_and_clear(Class t) { - Object rv = Xto_ary(t); + public Object To_ary(Class type) {return ordered.To_ary(type);} + public Object To_ary_and_clear(Class t) { + Object rv = To_ary(t); this.Clear(); return rv; } @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);} + public void Sort_by(ComparerAble comparer) {if (locked) Lock_fail(); ordered.Sort_by(comparer);} @Override public java.util.Iterator iterator() {return ordered.iterator();} - public void AddAt(int i, Object key, Object val) { + public void Add_at(int i, Object key, Object val) { if (locked) Lock_fail(); super.Add_base(key, val); - ordered.AddAt(i, val); + ordered.Add_at(i, val); AssertCounts(); } void AssertCounts() { if (super.Count() != ordered.Count()) throw Err_.new_("counts do not match").Add("hash", super.Count()).Add("list", ordered.Count()); } - public void ResizeBounds(int i) {if (locked) Lock_fail(); ordered.ResizeBounds(i);} + public void Resize_bounds(int i) {if (locked) Lock_fail(); ordered.Resize_bounds(i);} public void Lock() {locked = true;} private boolean locked = false; void Lock_fail() {throw Err_mgr._.fmt_(GRP_KEY, "locked", "collection is locked");} static final String GRP_KEY = "gplx.lists.ordered_hash"; - public void AddAt(int i, Object o) {if (locked) Lock_fail(); ordered.AddAt(i, o);} - public Object FetchAt(int i) {return FetchAt_base(i);} - public Object FetchAtOr(int i, Object or) {return ordered.FetchAtOr(i, or);} - public int IndexOf(Object obj) {return this.IndexOf_base(obj);} - public void MoveTo(int src, int trg) {if (locked) Lock_fail(); ordered.MoveTo(src, trg);} - public String XtoStr_ui() { + public void Add_at(int i, Object o) {if (locked) Lock_fail(); ordered.Add_at(i, o);} + public Object Get_at(int i) {return Get_at_base(i);} + public int Idx_of(Object obj) {return this.IndexOf_base(obj);} + public void Move_to(int src, int trg) {if (locked) Lock_fail(); ordered.Move_to(src, trg);} + private String To_str_ui() { String_bldr sb = String_bldr_.new_(); int count = ordered.Count(); int pad = String_.Len(Int_.Xto_str(count)); for (int i = 0; i < count; i++) { sb .Add(Int_.Xto_str_pad_bgn_zero(i, pad)) - .Add(":").Add(ordered.FetchAt(i).toString()) + .Add(":").Add(ordered.Get_at(i).toString()) .Add(Op_sys.Cur().Nl_str()); } return sb.XtoStr(); @@ -84,12 +83,12 @@ public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoIn } else if (ctx.Match(k, Invk_Print)) { if (ctx.Deny()) return this; - return XtoStr_ui(); + return To_str_ui(); } else return GfoInvkAble_.Rv_unhandled; return this; } static final String Invk_SetKeyOnly = "SetKeyOnly", Invk_Print = "Print"; - final ListAdp ordered = ListAdp_.new_(); + final List_adp ordered = List_adp_.new_(); @Override public int Count() {return ordered.Count();} - public OrderedHash_base() {} + public Ordered_hash_base() {} } diff --git a/100_core/src_140_list/gplx/OrderedHash_tst.java b/100_core/src_140_list/gplx/Ordered_hash_tst.java similarity index 77% rename from 100_core/src_140_list/gplx/OrderedHash_tst.java rename to 100_core/src_140_list/gplx/Ordered_hash_tst.java index 5293283b3..2d1781c26 100644 --- a/100_core/src_140_list/gplx/OrderedHash_tst.java +++ b/100_core/src_140_list/gplx/Ordered_hash_tst.java @@ -17,23 +17,23 @@ along with this program. If not, see . */ package gplx; import org.junit.*; -public class OrderedHash_tst { +public class Ordered_hash_tst { @Before public void setup() { - hash = OrderedHash_.new_(); + hash = Ordered_hash_.new_(); } - @Test public void FetchAt() { + @Test public void Get_at() { hash.Add("key1", "val1"); - Tfds.Eq("val1", hash.FetchAt(0)); + Tfds.Eq("val1", hash.Get_at(0)); } @Test public void iterator() { hash.Add("key2", "val2"); hash.Add("key1", "val1"); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (Object val : hash) list.Add(val); - Tfds.Eq("val2", list.FetchAt(0)); - Tfds.Eq("val1", list.FetchAt(1)); + Tfds.Eq("val2", list.Get_at(0)); + Tfds.Eq("val1", list.Get_at(1)); } - OrderedHash hash; + Ordered_hash hash; } diff --git a/100_core/src_140_list/gplx/lists/HashAdp_base.java b/100_core/src_140_list/gplx/lists/Hash_adp_base.java similarity index 81% rename from 100_core/src_140_list/gplx/lists/HashAdp_base.java rename to 100_core/src_140_list/gplx/lists/Hash_adp_base.java index 11db7a2ab..2fb4cc8a6 100644 --- a/100_core/src_140_list/gplx/lists/HashAdp_base.java +++ b/100_core/src_140_list/gplx/lists/Hash_adp_base.java @@ -16,11 +16,11 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.lists; import gplx.*; -public abstract class HashAdp_base implements HashAdp { +public abstract class Hash_adp_base implements Hash_adp { public boolean Has(Object key) {return Has_base(key);} - public Object Fetch(Object key) {return Fetch_base(key);} - public Object FetchOrFail(Object key) {return FetchOrFail_base(key);} - public Object FetchOrNew(Object key, NewAble proto) { + public Object Get_by(Object key) {return Fetch_base(key);} + public Object Get_by_or_fail(Object key) {return FetchOrFail_base(key);} + public Object Get_by_or_new(Object key, NewAble proto) { Object rv = Fetch_base(key); if (rv == null) { rv = proto.NewByKey(key); @@ -29,12 +29,12 @@ public abstract class HashAdp_base implements HashAdp { return rv; } public void Add(Object key, Object val) {Add_base(key, val);} - public void AddKeyVal(Object val) {Add_base(val, val);} - public void AddReplace(Object key, Object val) { + public void Add_as_key_and_val(Object val) {Add_base(val, val);} + public void Add_if_dupe_use_nth(Object key, Object val) { Object existing = Fetch_base(key); if (existing != null) Del(key); // overwrite if exists Add(key, val); } - public boolean Add_if_new(Object key, Object val) { + public boolean Add_if_dupe_use_1st(Object key, Object val) { if (Has(key)) return false; Add(key, val); return true; diff --git a/100_core/src_140_list/gplx/lists/HashAdp_list.java b/100_core/src_140_list/gplx/lists/Hash_adp_list.java similarity index 71% rename from 100_core/src_140_list/gplx/lists/HashAdp_list.java rename to 100_core/src_140_list/gplx/lists/Hash_adp_list.java index 1a4ae1a96..c8a6eb09f 100644 --- a/100_core/src_140_list/gplx/lists/HashAdp_list.java +++ b/100_core/src_140_list/gplx/lists/Hash_adp_list.java @@ -16,25 +16,25 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.lists; import gplx.*; -public class HashAdp_list extends HashAdp_base { - @gplx.New public ListAdp Fetch(Object key) {return ListAdp_.as_(Fetch_base(key));} - public ListAdp FetchOrNew(Object key) { - ListAdp rv = Fetch(key); +public class Hash_adp_list extends Hash_adp_base { + @gplx.New public List_adp Get_by(Object key) {return List_adp_.as_(Fetch_base(key));} + public List_adp Get_by_or_new(Object key) { + List_adp rv = Get_by(key); if (rv == null) { - rv = ListAdp_.new_(); + rv = List_adp_.new_(); Add_base(key, rv); } return rv; } public void AddInList(Object key, Object val) { - ListAdp list = FetchOrNew(key); + List_adp list = Get_by_or_new(key); list.Add(val); } public void DelInList(Object key, Object val) { - ListAdp list = Fetch(key); + List_adp list = Get_by(key); if (list == null) return; list.Del(val); if (list.Count() == 0) Del(key); } - public static HashAdp_list new_() {return new HashAdp_list();} HashAdp_list() {} + public static Hash_adp_list new_() {return new Hash_adp_list();} Hash_adp_list() {} } diff --git a/100_core/src_140_list/gplx/lists/StackAdp.java b/100_core/src_140_list/gplx/lists/StackAdp.java index 3c30ebc26..c7c1315bb 100644 --- a/100_core/src_140_list/gplx/lists/StackAdp.java +++ b/100_core/src_140_list/gplx/lists/StackAdp.java @@ -22,5 +22,5 @@ public interface StackAdp extends EnumerAble { void Push(Object obj); Object Pop(); Object Peek(); - ListAdp XtoList(); + List_adp XtoList(); } diff --git a/100_core/src_140_list/gplx/lists/StackAdp_.java b/100_core/src_140_list/gplx/lists/StackAdp_.java index cfef443e1..96a401f43 100644 --- a/100_core/src_140_list/gplx/lists/StackAdp_.java +++ b/100_core/src_140_list/gplx/lists/StackAdp_.java @@ -23,8 +23,8 @@ class StackAdp_base implements StackAdp { public Object Peek() {return Peek_base();} public Object Pop() {return Pop_base();} public void Push(Object obj) {Push_base(obj);} - public ListAdp XtoList() { - ListAdp list = ListAdp_.new_(); + public List_adp XtoList() { + List_adp list = List_adp_.new_(); for (Object obj : stack) list.Add(obj); // NOTE: dotnet traverses last to first; java: first to last 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 1eaa2487e..a5b495a09 100644 --- a/100_core/src_140_list/gplx/lists/StackAdp_tst.java +++ b/100_core/src_140_list/gplx/lists/StackAdp_tst.java @@ -25,8 +25,8 @@ public class StackAdp_tst { StackAdp stack = StackAdp_.new_(); for (int i : ary) stack.Push(i); - ListAdp list = stack.XtoList(); - int[] actl = (int[])list.Xto_ary(int.class); + List_adp list = stack.XtoList(); + int[] actl = (int[])list.To_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/Utf16_.java b/100_core/src_150_text/gplx/intl/Utf16_.java index 09281dd20..ff9494211 100644 --- a/100_core/src_150_text/gplx/intl/Utf16_.java +++ b/100_core/src_150_text/gplx/intl/Utf16_.java @@ -50,7 +50,7 @@ public class Utf16_ { } else throw Err_.new_fmt_("invalid utf8 byte: byte={0}", b0); } - public static byte[] Encode_hex_to_bry(String raw) {return Encode_hex_to_bry(Bry_.new_ascii_(raw));} + public static byte[] Encode_hex_to_bry(String raw) {return Encode_hex_to_bry(Bry_.new_a7(raw));} public static byte[] Encode_hex_to_bry(byte[] raw) { if (raw == null) return null; int int_val = gplx.texts.HexDecUtl.parse_or_(raw, Int_.MinValue); 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 62bb81f6a..605460376 100644 --- a/100_core/src_150_text/gplx/intl/Utf8__tst.java +++ b/100_core/src_150_text/gplx/intl/Utf8__tst.java @@ -24,7 +24,7 @@ public class Utf8__tst { fxt.Test_Get_pos0_of_char_bwd("a", 0); // len=1; short-String fxt.Test_Get_pos0_of_char_bwd("abc¢", 3); // len=2; (note that bry.len = 5) fxt.Test_Get_pos0_of_char_bwd("abc€", 3); // len=3; (note that bry.len = 6) - fxt.Test_Get_pos0_of_char_bwd("abc" + String_.new_utf8_(Byte_.Ary_by_ints(240, 164, 173, 162)), 3); // len=4; (note that bry.len = 7) + fxt.Test_Get_pos0_of_char_bwd("abc" + String_.new_u8(Byte_.Ary_by_ints(240, 164, 173, 162)), 3); // len=4; (note that bry.len = 7) } @Test public void Increment_char_at_last_pos() { fxt.Test_Increment_char_at_last_pos("a", "b"); @@ -59,11 +59,11 @@ public class Utf8__tst { } class Utf8__fxt { public void Test_Get_pos0_of_char_bwd(String str, int expd) { - byte[] bry = Bry_.new_utf8_(str); + byte[] bry = Bry_.new_u8(str); int pos = bry.length - 1; // always start from last char Tfds.Eq(expd, Utf8_.Get_pos0_of_char_bwd(bry, pos)); } public void Test_Increment_char_at_last_pos(String str, String expd) { - Tfds.Eq(expd, String_.new_utf8_(Utf8_.Increment_char_at_last_pos(Bry_.new_utf8_(str)))); + Tfds.Eq(expd, String_.new_u8(Utf8_.Increment_char_at_last_pos(Bry_.new_u8(str)))); } } diff --git a/100_core/src_150_text/gplx/texts/Base32Converter.java b/100_core/src_150_text/gplx/texts/Base32Converter.java index 423d3c12e..535c9d0b2 100644 --- a/100_core/src_150_text/gplx/texts/Base32Converter.java +++ b/100_core/src_150_text/gplx/texts/Base32Converter.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.texts; import gplx.*; public class Base32Converter { - public static String EncodeString(String orig) {return Encode(Bry_.new_utf8_(orig));} + public static String EncodeString(String orig) {return Encode(Bry_.new_u8(orig));} public static String Encode(byte[] raw) { int i = 0, index = 0, digit = 0; int currByte, nextByte; int rawLen = Array_.Len(raw); @@ -45,7 +45,7 @@ public class Base32Converter { } return new String(ary, 0, aryPos); } - public static String DecodeString(String orig) {return String_.new_utf8_(Decode(orig));} + public static String DecodeString(String orig) {return String_.new_u8(Decode(orig));} public static byte[] Decode(String raw) { int i, index, lookup, offset; byte digit; int rawLen = String_.Len(raw); diff --git a/100_core/src_150_text/gplx/texts/Base64Converter.java b/100_core/src_150_text/gplx/texts/Base64Converter.java index b200c8b4e..8551f0694 100644 --- a/100_core/src_150_text/gplx/texts/Base64Converter.java +++ b/100_core/src_150_text/gplx/texts/Base64Converter.java @@ -25,7 +25,7 @@ public class Base64Converter { toInt[ALPHABET[i]]= i; } } - public static String EncodeString(String orig) {return Encode(Bry_.new_utf8_(orig));} + public static String EncodeString(String orig) {return Encode(Bry_.new_u8(orig));} public static String Encode(byte[] buf){ if (toInt == null) Init(); int size = buf.length; @@ -51,7 +51,7 @@ public class Base64Converter { } return new String(ar); } - public static String DecodeString(String orig) {return String_.new_utf8_(Decode(orig));} + public static String DecodeString(String orig) {return String_.new_u8(Decode(orig));} public static byte[] Decode(String s){ if (toInt == null) Init(); int sLen = String_.Len(s); diff --git a/100_core/src_150_text/gplx/texts/CharStream.java b/100_core/src_150_text/gplx/texts/CharStream.java index d11c75033..c43e35702 100644 --- a/100_core/src_150_text/gplx/texts/CharStream.java +++ b/100_core/src_150_text/gplx/texts/CharStream.java @@ -28,7 +28,7 @@ public class CharStream { public void MoveNextBy(int offset) {pos += offset;} public void MoveBack() {pos--;} public void MoveBackBy(int offset) {pos -= offset;} - public void MoveTo(int val) {pos = val;} + public void Move_to(int val) {pos = val;} public boolean Match(String match) { int matchLen = String_.Len(match); for (int i = 0; i < matchLen; i++) { diff --git a/100_core/src_150_text/gplx/texts/CharStream_tst.java b/100_core/src_150_text/gplx/texts/CharStream_tst.java index 841ba37f4..edbefd647 100644 --- a/100_core/src_150_text/gplx/texts/CharStream_tst.java +++ b/100_core/src_150_text/gplx/texts/CharStream_tst.java @@ -42,13 +42,13 @@ public class CharStream_tst { tst_Match(false, "ghi"); } @Test public void AtBounds() { - stream.MoveTo(-1); + stream.Move_to(-1); tst_AtBounds(true, false, false); - stream.MoveTo(0); + stream.Move_to(0); tst_AtBounds(false, true, false); - stream.MoveTo(stream.Len()); + stream.Move_to(stream.Len()); tst_AtBounds(false, false, true); } void tst_Match(boolean expd, String text) {Tfds.Eq(expd, stream.Match(text));} diff --git a/100_core/src_150_text/gplx/texts/HexDecUtl_tst.java b/100_core/src_150_text/gplx/texts/HexDecUtl_tst.java index b67848e6e..4202b5479 100644 --- a/100_core/src_150_text/gplx/texts/HexDecUtl_tst.java +++ b/100_core/src_150_text/gplx/texts/HexDecUtl_tst.java @@ -46,15 +46,15 @@ public class HexDecUtl_tst { tst_Write("[00000000]", 1, 9, 255, "[000000FF]"); } private void tst_Write(String s, int bgn, int end, int val, String expd) { - byte[] bry = Bry_.new_ascii_(s); + byte[] bry = Bry_.new_a7(s); HexDecUtl.Write(bry, bgn, end, val); - Tfds.Eq(expd, String_.new_ascii_(bry)); + Tfds.Eq(expd, String_.new_a7(bry)); } private void tst_XtoInt(String raw, int expd) { int actl = HexDecUtl.parse_(raw); Tfds.Eq(expd, actl); } - private void tst_XtoInt_bry(String raw, int expd) {Tfds.Eq(expd, HexDecUtl.parse_or_(Bry_.new_ascii_(raw), -1));} + private void tst_XtoInt_bry(String raw, int expd) {Tfds.Eq(expd, HexDecUtl.parse_or_(Bry_.new_a7(raw), -1));} private void tst_XtoStr(int val, String expd) {tst_XtoStr(val, 0, expd);} private void tst_XtoStr(int val, int pad, String expd) { String actl = HexDecUtl.XtoStr(val, pad); diff --git a/100_core/src_150_text/gplx/texts/RegxAdp.java b/100_core/src_150_text/gplx/texts/RegxAdp.java index 2b6fe14df..116bab291 100644 --- a/100_core/src_150_text/gplx/texts/RegxAdp.java +++ b/100_core/src_150_text/gplx/texts/RegxAdp.java @@ -45,7 +45,7 @@ public class RegxAdp { public boolean Pattern_is_invalid() {return pattern_is_invalid;} private boolean pattern_is_invalid = false; public RegxMatch[] Match_all(String text, int bgn) { int idx = bgn; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); int len = String_.Len(text); while (idx <= len) { // NOTE: must be <= not < else "a?" will return null instead of ""; PAGE:en.d:民; DATE:2015-01-30 RegxMatch match = this.Match(text, idx); @@ -58,7 +58,7 @@ public class RegxAdp { : find_bgn + find_len // otherwise search after find_end ; } - return (RegxMatch[])rv.Xto_ary(RegxMatch.class); + return (RegxMatch[])rv.To_ary(RegxMatch.class); } @gplx.Internal protected RegxAdp(String regx) {Pattern_(regx);} } diff --git a/100_core/src_150_text/gplx/texts/RegxAdp__tst.java b/100_core/src_150_text/gplx/texts/RegxAdp__tst.java index 8173c34f3..e1e930ac5 100644 --- a/100_core/src_150_text/gplx/texts/RegxAdp__tst.java +++ b/100_core/src_150_text/gplx/texts/RegxAdp__tst.java @@ -63,17 +63,17 @@ public class RegxAdp__tst implements TfdsEqListItmStr { RegxMatch match_(int bgn) {return match_(bgn, Int_.MinValue);} RegxMatch match_(int bgn, int len) {return new RegxMatch(true, bgn, bgn + len, RegxGroup.Ary_empty);} void tst_Matches(String find, String input, RegxMatch... expd) { - ListAdp expdList = Array_.XtoList(expd); - ListAdp actlList = RegxAdp_.Find_args(input, find).Exec_asList(); + List_adp expdList = Array_.XtoList(expd); + List_adp actlList = RegxAdp_.Find_args(input, find).Exec_asList(); Tfds.Eq_list(expdList, actlList, this); } void tst_Groups(String text, String regx, String... expd) { RegxAdp regx_mgr = RegxAdp_.new_(regx); RegxMatch[] rslts = regx_mgr.Match_all(text, 0); - Tfds.Eq_ary_str(expd, Xto_ary(rslts)); + Tfds.Eq_ary_str(expd, To_ary(rslts)); } - String[] Xto_ary(RegxMatch[] ary) { - ListAdp rv = ListAdp_.new_(); + String[] To_ary(RegxMatch[] ary) { + List_adp rv = List_adp_.new_(); int len = ary.length; for (int i = 0; i < len; i++) { RegxMatch itm = ary[i]; @@ -82,7 +82,7 @@ public class RegxAdp__tst implements TfdsEqListItmStr { rv.Add(itm.Groups()[j].Val()); } } - return rv.XtoStrAry(); + return rv.To_str_ary(); } public String XtoStr(Object curObj, Object expdObj) { RegxMatch cur = (RegxMatch)curObj, expd = (RegxMatch)expdObj; diff --git a/100_core/src_150_text/gplx/texts/RegxAdp_mpo_find.java b/100_core/src_150_text/gplx/texts/RegxAdp_mpo_find.java index 5cabafcde..a4d83413f 100644 --- a/100_core/src_150_text/gplx/texts/RegxAdp_mpo_find.java +++ b/100_core/src_150_text/gplx/texts/RegxAdp_mpo_find.java @@ -19,10 +19,10 @@ package gplx.texts; import gplx.*; public class RegxAdp_mpo_find { public String Input() {return input;} public RegxAdp_mpo_find Input_(String val) {input = val; return this;} private String input; public String Find() {return find;} public RegxAdp_mpo_find Find_(String val) {find = val; return this;} private String find; - public ListAdp Exec_asList() { + public List_adp Exec_asList() { RegxAdp regx = RegxAdp_.new_(find); int idx = 0; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); while (true) { RegxMatch match = regx.Match(input, idx); if (match.Rslt_none()) break; diff --git a/100_core/src_150_text/gplx/texts/StringTableBldr.java b/100_core/src_150_text/gplx/texts/StringTableBldr.java index fd107b305..071af28c4 100644 --- a/100_core/src_150_text/gplx/texts/StringTableBldr.java +++ b/100_core/src_150_text/gplx/texts/StringTableBldr.java @@ -30,7 +30,7 @@ public class StringTableBldr { return this; } public StringTableCol FetchAtOrNew(int i) { - if (i < cols.Count()) return StringTableCol.as_(cols.FetchAt(i)); + if (i < cols.Count()) return StringTableCol.as_(cols.Get_at(i)); StringTableCol col = StringTableCol.new_(); col.Halign_(defaultHalign); cols.Add(i, col); @@ -39,10 +39,10 @@ public class StringTableBldr { public String XtoStr() { sb.Clear(); for (int rowI = 0; rowI < rows.Count(); rowI++) { - String[] row = (String[])rows.FetchAt(rowI); + String[] row = (String[])rows.Get_at(rowI); for (int colI = 0; colI < row.length; colI++) { if (colI != 0) sb.Add(" "); - StringTableCol col = StringTableCol.as_(cols.FetchAt(colI)); if (col == null) throw Err_.missing_idx_(colI, cols.Count()); + StringTableCol col = StringTableCol.as_(cols.Get_at(colI)); if (col == null) throw Err_.missing_idx_(colI, cols.Count()); sb.Add(col.PadCell(row[colI])); } sb.Add(String_.CrLf); @@ -51,7 +51,7 @@ public class StringTableBldr { } public static StringTableBldr new_() {return new StringTableBldr();} StringTableBldr() {} - OrderedHash cols = OrderedHash_.new_(); - ListAdp rows = ListAdp_.new_(); + Ordered_hash cols = Ordered_hash_.new_(); + List_adp rows = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_.java b/100_core/src_160_hash/gplx/security/HashAlgo_.java index a136fbb47..c810c735f 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_.java @@ -40,18 +40,18 @@ public class HashAlgo_ { } class HashAlgo_null implements HashAlgo { public String Key() {return "HashAlgo_null";} - public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_ascii_(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} public String CalcHash(ConsoleDlg dialog, IoStream stream) {return "NullAlgoHash";} } class HashAlgo_md5 implements HashAlgo { public String Key() {return KEY;} public static final String KEY = "md5"; - public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_ascii_(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} public String CalcHash(ConsoleDlg dialog, IoStream stream) {return HashAlgoUtl.CalcHashAsString(dialog, stream, "MD5");} public static HashAlgo_md5 new_() {return new HashAlgo_md5();} HashAlgo_md5() {} } class HashAlgo_sha1 implements HashAlgo { public String Key() {return KEY;} public static final String KEY = "sha1"; - public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_ascii_(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} public String CalcHash(ConsoleDlg dialog, IoStream stream) {return HashAlgoUtl.CalcHashAsString(dialog, stream, "SHA1");} public static HashAlgo_sha1 new_() {return new HashAlgo_sha1();} HashAlgo_sha1() {} } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_md5_tst.java b/100_core/src_160_hash/gplx/security/HashAlgo_md5_tst.java index b66184a1b..3c5c52386 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_md5_tst.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_md5_tst.java @@ -36,7 +36,7 @@ public class HashAlgo_md5_tst { tst_CalcBase16FromString(String_.Repeat("a", 1000000), "7707d6ae4e027c70eea2a935c2296f21"); } void tst_CalcBase16FromString(String raw, String expd) { - IoStream stream = IoStream_.mem_txt_(Io_url_.Null, raw); + IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); String actl = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, stream); Tfds.Eq(expd, actl); } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_sha1_tst.java b/100_core/src_160_hash/gplx/security/HashAlgo_sha1_tst.java index d1a37088a..39e8e4d83 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_sha1_tst.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_sha1_tst.java @@ -36,7 +36,7 @@ public class HashAlgo_sha1_tst { tst_CalcBase16FromString(String_.Repeat("a", 1000000), "34aa973cd4c4daa4f61eeb2bdbad27316534016f"); } void tst_CalcBase16FromString(String raw, String expd) { - IoStream stream = IoStream_.mem_txt_(Io_url_.Null, raw); + IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); String actl = HashAlgo_.Sha1.CalcHash(ConsoleDlg_.Null, stream); Tfds.Eq(expd, actl); } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java b/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java index 448ec4460..a0a88b415 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java @@ -20,7 +20,7 @@ import gplx.ios.*; /*IoStream*/ public class HashAlgo_tth192 implements HashAlgo { public String Key() {return KEY;} public static final String KEY = "tth192"; public int BlockSize() {return blockSize;} public void BlockSize_set(int v) {blockSize = v;} int blockSize = 1024; - public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_ascii_(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} public String CalcHash(ConsoleDlg dialog, IoStream stream) { int leafCount = (int)(stream.Len() / blockSize); HashDlgWtr dialogWtr = HashDlgWtr_.Current; diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_tth192_tst.java b/100_core/src_160_hash/gplx/security/HashAlgo_tth192_tst.java index f65879d89..8faa04d5f 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_tth192_tst.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_tth192_tst.java @@ -32,7 +32,7 @@ public class HashAlgo_tth192_tst { tst_CalcBase32FromString(String_.Repeat("A", (int)Math_.Pow(2, 27)), "QNIJO36QDIQREUT3HWK4MDVKD2T6OENAEKYADTQ"); } void tst_CalcBase32FromString(String raw, String expd) { - IoStream stream = IoStream_.mem_txt_(Io_url_.Null, raw); + IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); String actl = HashAlgo_.Tth192.CalcHash(ConsoleDlg_.Null, stream); Tfds.Eq(expd, actl); } diff --git a/100_core/src_160_hash/gplx/security/HashDlgWtr_tst.java b/100_core/src_160_hash/gplx/security/HashDlgWtr_tst.java index 6082514e4..bd163ccce 100644 --- a/100_core/src_160_hash/gplx/security/HashDlgWtr_tst.java +++ b/100_core/src_160_hash/gplx/security/HashDlgWtr_tst.java @@ -31,9 +31,9 @@ public class HashDlgWtr_tst { void tst_Status(int count, String[] expdWritten) { ConsoleDlg_dev dialog = ConsoleDlg_.Dev(); String data = String_.Repeat("A", count); - IoStream stream = IoStream_.mem_txt_(Io_url_.Null, data); + IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, data); calc.CalcHash(dialog, stream); - String[] actlWritten = dialog.Written().XtoStrAry(); + String[] actlWritten = dialog.Written().To_str_ary(); Tfds.Eq_ary(actlWritten, expdWritten); } String[] stringAry_(String... ary) {return ary;} diff --git a/100_core/src_200_io/gplx/Io_mgr.java b/100_core/src_200_io/gplx/Io_mgr.java index bd3ba94d5..18946ad87 100644 --- a/100_core/src_200_io/gplx/Io_mgr.java +++ b/100_core/src_200_io/gplx/Io_mgr.java @@ -19,7 +19,7 @@ package gplx; import gplx.core.primitives.*; import gplx.ios.*; /*IoItmFil, IoItmDir..*/ public class Io_mgr { // exists primarily to gather all cmds under gplx namespace; otherwise need to use gplx.ios whenever copying/deleting file public boolean Exists(Io_url url) {return url.Type_dir() ? ExistsDir(url) : ExistsFil(url);} - public boolean ExistsFil(Io_url url) {return IoEnginePool._.Fetch(url.Info().EngineKey()).ExistsFil_api(url);} + public boolean ExistsFil(Io_url url) {return IoEnginePool._.Get_by(url.Info().EngineKey()).ExistsFil_api(url);} public void ExistsFilOrFail(Io_url url) {if (!ExistsFil(url)) throw Err_.new_("could not find file").Add("url", url);} public void SaveFilStr(String url, String text) {SaveFilStr_args(Io_url_.new_fil_(url), text).Exec();} public void SaveFilStr(Io_url url, String text) {SaveFilStr_args(url, text).Exec();} @@ -36,12 +36,12 @@ public class Io_mgr { // exists primarily to gather all cmds under gplx namespac public IoStream OpenStreamWrite(Io_url url) {return OpenStreamWrite_args(url).Exec();} public IoEngine_xrg_openWrite OpenStreamWrite_args(Io_url url) {return IoEngine_xrg_openWrite.new_(url);} - public IoItmFil QueryFil(Io_url url) {return IoEnginePool._.Fetch(url.Info().EngineKey()).QueryFil(url);} - public void UpdateFilAttrib(Io_url url, IoItmAttrib attrib) {IoEnginePool._.Fetch(url.Info().EngineKey()).UpdateFilAttrib(url, attrib);} - public void UpdateFilModifiedTime(Io_url url, DateAdp modified) {IoEnginePool._.Fetch(url.Info().EngineKey()).UpdateFilModifiedTime(url, modified);} + public IoItmFil QueryFil(Io_url url) {return IoEnginePool._.Get_by(url.Info().EngineKey()).QueryFil(url);} + public void UpdateFilAttrib(Io_url url, IoItmAttrib attrib) {IoEnginePool._.Get_by(url.Info().EngineKey()).UpdateFilAttrib(url, attrib);} + public void UpdateFilModifiedTime(Io_url url, DateAdp modified) {IoEnginePool._.Get_by(url.Info().EngineKey()).UpdateFilModifiedTime(url, modified);} - public boolean ExistsDir(Io_url url) {return IoEnginePool._.Fetch(url.Info().EngineKey()).ExistsDir(url);} - public void CreateDir(Io_url url) {IoEnginePool._.Fetch(url.Info().EngineKey()).CreateDir(url);} + public boolean ExistsDir(Io_url url) {return IoEnginePool._.Get_by(url.Info().EngineKey()).ExistsDir(url);} + public void CreateDir(Io_url url) {IoEnginePool._.Get_by(url.Info().EngineKey()).CreateDir(url);} public boolean CreateDirIfAbsent(Io_url url) { boolean exists = ExistsDir(url); if (!exists) { @@ -60,6 +60,7 @@ public class Io_mgr { // exists primarily to gather all cmds under gplx namespac public IoEngine_xrg_deleteDir DeleteDir_cmd(Io_url url) {return IoEngine_xrg_deleteDir.new_(url);} public void DeleteDirDeep(Io_url url) {IoEngine_xrg_deleteDir.new_(url).Recur_().Exec();} public void DeleteDirDeep_ary(Io_url... urls) {for (Io_url url : urls) IoEngine_xrg_deleteDir.new_(url).Recur_().Exec();} + public int Delete_dir_empty(Io_url url) {return Io_mgr_.Delete_dir_empty(url);} public void MoveDirDeep(Io_url src, Io_url trg) {IoEngine_xrg_xferDir.move_(src, trg).Recur_().Exec();} public IoEngine_xrg_xferDir CopyDir_cmd(Io_url src, Io_url trg) {return IoEngine_xrg_xferDir.copy_(src, trg);} public void CopyDirSubs(Io_url src, Io_url trg) {IoEngine_xrg_xferDir.copy_(src, trg).Exec();} @@ -98,7 +99,7 @@ public class Io_mgr { // exists primarily to gather all cmds under gplx namespac catch (Exception e) {throw Err_.new_("failed to load file").Add("url", url.Xto_api()).Add("e", Err_.Message_lang(e));} finally {stream.Rls();} } - public byte[] LoadFilBry_loose(Io_url url) {return Bry_.new_utf8_(LoadFilStr_loose(url));} + public byte[] LoadFilBry_loose(Io_url url) {return Bry_.new_u8(LoadFilStr_loose(url));} public String LoadFilStr_loose(Io_url url) { String rv = LoadFilStr_args(url).BomUtf8Convert_(Bool_.Y).MissingIgnored_(Bool_.Y).Exec(); if (String_.Has(rv, "\r\n")) @@ -129,14 +130,33 @@ public class Io_mgr { // exists primarily to gather all cmds under gplx namespac public IoEngine InitEngine_mem() {return IoEngine_.Mem_init_();} public IoEngine InitEngine_mem_(String key) { IoEngine engine = IoEngine_.mem_new_(key); - IoEnginePool._.AddReplace(engine); + IoEnginePool._.Add_if_dupe_use_nth(engine); IoUrlInfoRegy._.Reg(IoUrlInfo_.mem_(key, key)); return engine; } public boolean DownloadFil(String src, Io_url trg) {return IoEngine_xrg_downloadFil.new_(src, trg).Exec();} public IoEngine_xrg_downloadFil DownloadFil_args(String src, Io_url trg) {return IoEngine_xrg_downloadFil.new_(src, trg);} - public static final Io_mgr _ = new Io_mgr(); public Io_mgr() {} + public static final Io_mgr I = new Io_mgr(); public Io_mgr() {} public static final int Len_kb = 1024, Len_mb = 1048576, Len_gb = 1073741824, Len_gb_2 = 2147483647; public static final long Len_mb_long = Len_mb; public static final long Len_null = -1; } +class Io_mgr_ { + public static int Delete_dir_empty(Io_url url) { + IoItmDir dir = Io_mgr.I.QueryDir_args(url).ExecAsDir(); + int sub_dirs_len = dir.SubDirs().Count(); + int deleted_dirs = 0; + for (int i = 0; i < sub_dirs_len; ++i) { + IoItmDir sub_dir = (IoItmDir)dir.SubDirs().Get_at(i); + deleted_dirs += Io_mgr.I.Delete_dir_empty(sub_dir.Url()); + } + if ( dir.SubFils().Count() == 0 + && deleted_dirs == sub_dirs_len + ) { + Io_mgr.I.DeleteDirIfEmpty(url); + return 1; + } + else + return 0; + } +} diff --git a/100_core/src_200_io/gplx/Io_mgr__tst.java b/100_core/src_200_io/gplx/Io_mgr__tst.java new file mode 100644 index 000000000..74c04e7dc --- /dev/null +++ b/100_core/src_200_io/gplx/Io_mgr__tst.java @@ -0,0 +1,100 @@ +/* +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; +import org.junit.*; +public class Io_mgr__tst { + @Before public void init() {fxt.Clear();} private final Io_mgr__fxt fxt = new Io_mgr__fxt(); + @Test public void Dir_delete_empty__basic() { + fxt.Exec_itm_create("mem/dir/"); + fxt.Exec_dir_delete_empty("mem/dir/"); + fxt.Test_itm_exists_n("mem/dir/"); + } + @Test public void Dir_delete_empty__no_delete() { + fxt.Exec_itm_create + ( "mem/dir/" + , "mem/dir/fil.txt" + ); + fxt.Exec_dir_delete_empty("mem/dir/"); + fxt.Test_itm_exists_y("mem/dir/"); + } + @Test public void Dir_delete_empty__nested_simple() { + fxt.Exec_itm_create + ( "mem/dir/" + , "mem/dir/1/" + , "mem/dir/1/11/" + ); + fxt.Exec_dir_delete_empty("mem/dir/"); + fxt.Test_itm_exists_n("mem/dir/"); + } + @Test public void Dir_delete_empty__nested_many() { + fxt.Exec_itm_create + ( "mem/dir/" + , "mem/dir/1/" + , "mem/dir/1/11/" + , "mem/dir/2/22/" + , "mem/dir/2/22/222a/" + , "mem/dir/2/22/222b/" + ); + fxt.Exec_dir_delete_empty("mem/dir/"); + fxt.Test_itm_exists_n("mem/dir/"); + } + @Test public void Dir_delete_empty__nested_some() { + fxt.Exec_itm_create + ( "mem/dir/" + , "mem/dir/1/" + , "mem/dir/1/11/" + , "mem/dir/2/22/" + , "mem/dir/2/22/a.txt" + , "mem/dir/2/22/222a/" + , "mem/dir/2/22/222b/" + ); + fxt.Exec_dir_delete_empty("mem/dir/"); + fxt.Test_itm_exists_n + ( "mem/dir/1/" + , "mem/dir/1/11/" + , "mem/dir/2/22/222a/" + , "mem/dir/2/22/222b/" + ); + fxt.Test_itm_exists_y + ( "mem/dir/" + , "mem/dir/2/22/" + ); + } +} +class Io_mgr__fxt { + public void Clear() {Io_mgr.I.InitEngine_mem();} + public void Exec_itm_create(String... ary) { + for (String itm : ary) { + Io_url url = Io_url_.new_any_(itm); + if (url.Type_dir()) + Io_mgr.I.CreateDir(url); + else + Io_mgr.I.SaveFilStr(url, url.NameAndExt()); + } + } + public void Exec_dir_delete_empty(String url) {Io_mgr.I.Delete_dir_empty(Io_url_.mem_dir_(url));} + public void Test_itm_exists_n(String... ary) {Test_itm_exists(Bool_.N, ary);} + public void Test_itm_exists_y(String... ary) {Test_itm_exists(Bool_.Y, ary);} + public void Test_itm_exists(boolean expd, String... ary) { + for (String itm : ary) { + Io_url url = Io_url_.new_any_(itm); + boolean actl = url.Type_dir() ? Io_mgr.I.ExistsDir(url) : Io_mgr.I.ExistsFil(url); + Tfds.Eq(expd, actl, itm); + } + } +} diff --git a/100_core/src_200_io/gplx/ios/IoEngine.java b/100_core/src_200_io/gplx/ios/IoEngine.java index 897b597e8..4bb0a4001 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine.java +++ b/100_core/src_200_io/gplx/ios/IoEngine.java @@ -141,7 +141,7 @@ class IoEngineUtl { IoStream srcStream = null; IoStream trgStream = null; try { - srcStream = IoEnginePool._.Fetch(src.Info().EngineKey()).OpenStreamRead(src); + srcStream = IoEnginePool._.Get_by(src.Info().EngineKey()).OpenStreamRead(src); trgStream = IoEngine_xrg_openWrite.new_(trg).Exec(); srcStream.Transfer(trgStream, bufferLength); } diff --git a/100_core/src_200_io/gplx/ios/IoEnginePool.java b/100_core/src_200_io/gplx/ios/IoEnginePool.java index 513e06a82..2dc6b9684 100644 --- a/100_core/src_200_io/gplx/ios/IoEnginePool.java +++ b/100_core/src_200_io/gplx/ios/IoEnginePool.java @@ -17,18 +17,18 @@ along with this program. If not, see . */ package gplx.ios; import gplx.*; public class IoEnginePool { - public void AddReplace(IoEngine engine) { + public void Add_if_dupe_use_nth(IoEngine engine) { hash.Del(engine.Key()); hash.Add(engine.Key(), engine); } - public IoEngine Fetch(String key) { - IoEngine rv = (IoEngine)hash.Fetch(key); + public IoEngine Get_by(String key) { + IoEngine rv = (IoEngine)hash.Get_by(key); return rv == null ? IoEngine_.Mem : rv; // rv == null when url is null or empty; return Mem which should be a noop; DATE:2013-06-04 } - HashAdp hash = HashAdp_.new_(); + Hash_adp hash = Hash_adp_.new_(); public static final IoEnginePool _ = new IoEnginePool(); IoEnginePool() { - this.AddReplace(IoEngine_.Sys); - this.AddReplace(IoEngine_.Mem); + this.Add_if_dupe_use_nth(IoEngine_.Sys); + this.Add_if_dupe_use_nth(IoEngine_.Mem); } } \ No newline at end of file diff --git a/100_core/src_200_io/gplx/ios/IoEngine_memory.java b/100_core/src_200_io/gplx/ios/IoEngine_memory.java index 1f2cae2d1..2444c8461 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_memory.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_memory.java @@ -22,7 +22,7 @@ public class IoEngine_memory extends IoEngine_base { @Override public void DeleteFil_api(IoEngine_xrg_deleteFil args) { Io_url url = args.Url(); IoItmDir dir = FetchDir(url.OwnerDir()); if (dir == null) return; // url doesn't exist; just exit - IoItmFil fil = IoItmFil_.as_(dir.SubFils().Fetch(url.NameAndExt())); + IoItmFil fil = IoItmFil_.as_(dir.SubFils().Get_by(url.NameAndExt())); if (fil != null && fil.ReadOnly() && args.ReadOnlyFails()) throw IoErr.FileIsReadOnly(url); dir.SubFils().Del(url); } @@ -53,7 +53,7 @@ public class IoEngine_memory extends IoEngine_base { Io_url url = args.Url(); IoItmDir dir = FetchDir(url.OwnerDir()); if (dir != null) { - IoItmFil fil = IoItmFil_.as_(dir.SubFils().Fetch(url.NameAndExt())); + IoItmFil fil = IoItmFil_.as_(dir.SubFils().Get_by(url.NameAndExt())); if (fil != null && fil.ReadOnly()) throw IoErr.FileIsReadOnly(url); } @@ -105,7 +105,7 @@ public class IoEngine_memory extends IoEngine_base { dir = IoItmDir_.top_(url); dirs.Add(dir); IoItmDir ownerDir = FetchDir(url.OwnerDir()); - if (ownerDir == null && !url.OwnerDir().Eq(Io_url_.Null)) { // no owner dir && not "driveDir" -> create + if (ownerDir == null && !url.OwnerDir().Eq(Io_url_.Empty)) { // no owner dir && not "driveDir" -> create CreateDir(url.OwnerDir()); // recursive ownerDir = FetchDir(url.OwnerDir()); } @@ -118,8 +118,8 @@ public class IoEngine_memory extends IoEngine_base { IoItmDir ownerDir = FetchDir(url.OwnerDir()); if (ownerDir == null) return; // no ownerDir; no need to unregister ownerDir.SubDirs().Del(url); } - @Override public void XferDir(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Fetch(trg.Info().EngineKey()), trg, args);} - @Override public void MoveDirDeep(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Fetch(trg.Info().EngineKey()), trg, args);} + @Override public void XferDir(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Get_by(trg.Info().EngineKey()), trg, args);} + @Override public void MoveDirDeep(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Get_by(trg.Info().EngineKey()), trg, args);} @Override public void MoveDir(Io_url src, Io_url trg) {if (ExistsDir(trg)) throw Err_.new_("trg already exists").Add("trg", trg); IoItmDir dir = FetchDir(src); dir.Name_(trg.NameAndExt()); for (Object filObj : dir.SubFils()) { // move all subFiles @@ -159,11 +159,11 @@ public class IoEngine_memory extends IoEngine_base { dir.SubFils().Del(fil.Url()); dir.SubFils().Add(fil); } - IoItmDir FetchDir(Io_url url) {return IoItmDir_.as_(dirs.Fetch(url));} + IoItmDir FetchDir(Io_url url) {return IoItmDir_.as_(dirs.Get_by(url));} IoItmFil_mem FetchFil(Io_url url) { IoItmDir ownerDir = FetchDir(url.OwnerDir()); if (ownerDir == null) return IoItmFil_mem.Null; - IoItmFil_mem rv = IoItmFil_mem.as_(ownerDir.SubFils().Fetch(url.NameAndExt())); + IoItmFil_mem rv = IoItmFil_mem.as_(ownerDir.SubFils().Get_by(url.NameAndExt())); if (rv == null) rv = IoItmFil_mem.Null; return rv; } @@ -187,7 +187,7 @@ public class IoEngine_memory extends IoEngine_base { xrg.Rslt_(IoEngine_xrg_downloadFil.Rslt_fail_file_not_found); return Io_stream_rdr_.Null; } - byte[] bry = Bry_.new_utf8_(FetchFil(Io_url_.mem_fil_(xrg.Src())).Text()); + byte[] bry = Bry_.new_u8(FetchFil(Io_url_.mem_fil_(xrg.Src())).Text()); return Io_stream_rdr_.mem_(bry); } IoItmHash dirs = IoItmHash.new_(); diff --git a/100_core/src_200_io/gplx/ios/IoEngine_system.java b/100_core/src_200_io/gplx/ios/IoEngine_system.java index ea8c490f5..36b5f8948 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_system.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_system.java @@ -31,11 +31,11 @@ import gplx.core.criterias.*; public class IoEngine_system extends IoEngine_base { @Override public String Key() {return IoEngine_.SysKey;} @Override public void DeleteDirDeep(IoEngine_xrg_deleteDir args) {utl.DeleteDirDeep(this, args.Url(), args);} - @Override public void XferDir(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Fetch(trg.Info().EngineKey()), trg, args);} + @Override public void XferDir(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Get_by(trg.Info().EngineKey()), trg, args);} @Override public void XferFil(IoEngine_xrg_xferFil args) {utl.XferFil(this, args);} @Override public IoItmDir QueryDirDeep(IoEngine_xrg_queryDir args) {return utl.QueryDirDeep(this, args);} @Override public void CopyDir(Io_url src, Io_url trg) {IoEngine_xrg_xferDir.copy_(src, trg).Recur_().Exec();} - @Override public void MoveDirDeep(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Fetch(trg.Info().EngineKey()), trg, args);} + @Override public void MoveDirDeep(IoEngine_xrg_xferDir args) {Io_url trg = args.Trg(); utl.XferDir(this, args.Src(), IoEnginePool._.Get_by(trg.Info().EngineKey()), trg, args);} @Override public void DeleteFil_api(IoEngine_xrg_deleteFil args) { Io_url url = args.Url(); File fil = Fil_(url); @@ -52,7 +52,7 @@ public class IoEngine_system extends IoEngine_base { // encode string byte[] textBytes = null; - textBytes = Bry_.new_utf8_(mpo.Text()); + textBytes = Bry_.new_u8(mpo.Text()); FileChannel fc = null; FileOutputStream fos = null; if (!ExistsDir(url.OwnerDir())) CreateDir(url.OwnerDir()); @@ -96,7 +96,7 @@ public class IoEngine_system extends IoEngine_base { } return Load_from_stream_as_str(stream, url_str); } - public static String Load_from_stream_as_str(InputStream stream, String url_str) { + @SuppressWarnings("resource") public static String Load_from_stream_as_str(InputStream stream, String url_str) { InputStreamReader reader = null; try {reader = new InputStreamReader(stream, IoEngineArgs._.LoadFilStr_Encoding);} catch (UnsupportedEncodingException e) { @@ -394,11 +394,11 @@ public class IoEngine_system extends IoEngine_base { java.net.URL src_url = null; HttpURLConnection src_conn = null; if (user_agent_needs_resetting) {user_agent_needs_resetting = false; System.setProperty("http.agent", "");} - boolean exists = Io_mgr._.ExistsDir(xrg.Trg().OwnerDir()); + boolean exists = Io_mgr.I.ExistsDir(xrg.Trg().OwnerDir()); Gfo_usr_dlg prog_dlg = null; String src_str = xrg.Src(); Io_download_fmt xfer_fmt = xrg.Download_fmt(); - prog_dlg = xfer_fmt.usr_dlg; + prog_dlg = xfer_fmt.Usr_dlg(); if (!Web_access_enabled) { if (prog_dlg != null) { if (session_fil == null) session_fil = prog_dlg.Log_wkr().Session_dir().GenSubFil("internet.txt"); @@ -407,7 +407,7 @@ public class IoEngine_system extends IoEngine_base { return false; } try { - trg_stream = Io_mgr._.OpenStreamWrite(xrg.Trg()); + trg_stream = Io_mgr.I.OpenStreamWrite(xrg.Trg()); src_url = new java.net.URL(src_str); src_conn = (HttpURLConnection)src_url.openConnection(); // src_conn.setReadTimeout(5000); // do not set; if file does not exist, will wait 5 seconds before timing out; want to fail immediately @@ -419,7 +419,7 @@ public class IoEngine_system extends IoEngine_base { if (xrg.Exec_meta_only()) return true; src_stream = new java.io.BufferedInputStream(src_conn.getInputStream()); if (!exists) { - Io_mgr._.CreateDir(xrg.Trg().OwnerDir()); // dir must exist for OpenStreamWrite; create dir at last possible moment in case stream does not exist. + Io_mgr.I.CreateDir(xrg.Trg().OwnerDir()); // dir must exist for OpenStreamWrite; create dir at last possible moment in case stream does not exist. } byte[] download_bfr = new byte[Download_bfr_len]; // NOTE: download_bfr was originally member variable; DATE:2013-05-03 xfer_fmt.Bgn(content_length); @@ -428,7 +428,7 @@ public class IoEngine_system extends IoEngine_base { if (xrg.Prog_cancel()) { src_stream.close(); trg_stream.Rls(); - Io_mgr._.DeleteFil(xrg.Trg()); + Io_mgr.I.DeleteFil(xrg.Trg()); } xfer_fmt.Prog(count); trg_stream.Write(download_bfr, 0, count); @@ -518,10 +518,10 @@ class Io_download_http { Io_stream_rdr_http rdr = new Io_stream_rdr_http(xrg); IoStream trg_stream = null; try { - boolean exists = Io_mgr._.ExistsDir(xrg.Trg().OwnerDir()); + boolean exists = Io_mgr.I.ExistsDir(xrg.Trg().OwnerDir()); if (!exists) - Io_mgr._.CreateDir(xrg.Trg().OwnerDir()); // dir must exist for OpenStreamWrite; create dir at last possible moment in case stream does not exist. - trg_stream = Io_mgr._.OpenStreamWrite(xrg.Trg()); + Io_mgr.I.CreateDir(xrg.Trg().OwnerDir()); // dir must exist for OpenStreamWrite; create dir at last possible moment in case stream does not exist. + trg_stream = Io_mgr.I.OpenStreamWrite(xrg.Trg()); byte[] bfr = new byte[Download_bfr_len]; rdr.Open(); while (rdr.Read(bfr, 0, Download_bfr_len) != Read_done) { @@ -532,7 +532,7 @@ class Io_download_http { if (trg_stream != null) trg_stream.Rls(); } if (xrg.Rslt() != IoEngine_xrg_downloadFil.Rslt_pass) - Io_mgr._.DeleteFil_args(xrg.Trg()).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(xrg.Trg()).MissingFails_off().Exec(); } public static final int Read_done = -1; public static final int Download_bfr_len = Io_mgr.Len_kb * 128; @@ -542,6 +542,7 @@ class Io_stream_rdr_http implements Io_stream_rdr { this.xrg = xrg; } private IoEngine_xrg_downloadFil xrg; public byte Tid() {return Io_stream_.Tid_raw;} + public boolean Exists() {return exists;} private boolean exists = false; public Io_url Url() {return url;} public Io_stream_rdr Url_(Io_url v) {url = v; return this;} private Io_url url; public long Len() {return len;} public Io_stream_rdr Len_(long v) {len = v; return this;} private long len = IoItmFil.Size_invalid; // NOTE: must default size to -1; DATE:2014-06-21 private String src_str; private HttpURLConnection src_conn; private java.io.BufferedInputStream src_stream; @@ -556,12 +557,11 @@ class Io_stream_rdr_http implements Io_stream_rdr { return this; } src_str = xrg.Src(); - xfer_fmt = xrg.Download_fmt(); prog_dlg = xfer_fmt.usr_dlg; + xfer_fmt = xrg.Download_fmt(); prog_dlg = xfer_fmt.Usr_dlg(); try { src_conn = (HttpURLConnection)new java.net.URL(src_str).openConnection(); String user_agent = xrg.User_agent(); - if (user_agent != null) - src_conn.setRequestProperty("User-Agent", user_agent); + if (user_agent != null) src_conn.setRequestProperty("User-Agent", user_agent); // NOTE: must be set right after openConnection // src_conn.setReadTimeout(5000); // do not set; if file does not exist, will wait 5 seconds before timing out; want to fail immediately long content_length = Long_.parse_or_(src_conn.getHeaderField("Content-Length"), IoItmFil.Size_invalid_int); xrg.Src_content_length_(content_length); @@ -573,6 +573,7 @@ class Io_stream_rdr_http implements Io_stream_rdr { return this; } read_done = false; + this.exists = src_conn.getResponseCode() == 200; // ASSUME: response code of 200 means that file exists; note that content_length seems to always be -1; DATE:2015-05-20 src_stream = new java.io.BufferedInputStream(src_conn.getInputStream()); xfer_fmt.Bgn(content_length); } diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteDir.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteDir.java index 1ba4cf9b2..02ec8b540 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteDir.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteDir.java @@ -25,7 +25,7 @@ public class IoEngine_xrg_deleteDir { public Criteria MatchCrt() {return matchCrt;} public IoEngine_xrg_deleteDir MatchCrt_(Criteria v) {matchCrt = v; return this;} Criteria matchCrt = Criteria_.All; public Criteria SubDirScanCrt() {return subDirScanCrt;} public IoEngine_xrg_deleteDir SubDirScanCrt_(Criteria v) {subDirScanCrt = v; return this;} Criteria subDirScanCrt = Criteria_.All; public ConsoleDlg UsrDlg() {return usrDlg;} public IoEngine_xrg_deleteDir UsrDlg_(ConsoleDlg v) {usrDlg = v; return this;} ConsoleDlg usrDlg = ConsoleDlg_.Null; - public void Exec() {IoEnginePool._.Fetch(url.Info().EngineKey()).DeleteDirDeep(this);} + public void Exec() {IoEnginePool._.Get_by(url.Info().EngineKey()).DeleteDirDeep(this);} public static IoEngine_xrg_deleteDir new_(Io_url url) { IoEngine_xrg_deleteDir rv = new IoEngine_xrg_deleteDir(); rv.url = url; diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteFil.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteFil.java index 9358d3eb2..3f1a7e47b 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteFil.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_deleteFil.java @@ -20,7 +20,7 @@ public class IoEngine_xrg_deleteFil extends IoEngine_xrg_fil_affects1_base { @gplx.New public IoEngine_xrg_deleteFil Url_(Io_url val) {Url_set(val); return this;} public IoEngine_xrg_deleteFil ReadOnlyFails_off() {return ReadOnlyFails_(false);} public IoEngine_xrg_deleteFil ReadOnlyFails_(boolean v) {ReadOnlyFails_set(v); return this;} public IoEngine_xrg_deleteFil MissingFails_off() {return MissingFails_(false);} public IoEngine_xrg_deleteFil MissingFails_(boolean v) {MissingFails_set(v); return this;} - @Override public void Exec() {IoEnginePool._.Fetch(this.Url().Info().EngineKey()).DeleteFil_api(this);} + @Override public void Exec() {IoEnginePool._.Get_by(this.Url().Info().EngineKey()).DeleteFil_api(this);} public static IoEngine_xrg_deleteFil proto_() {return new IoEngine_xrg_deleteFil();} public static IoEngine_xrg_deleteFil new_(Io_url url) { IoEngine_xrg_deleteFil rv = new IoEngine_xrg_deleteFil(); diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_downloadFil.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_downloadFil.java index 8ec1331bc..b591e740f 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_downloadFil.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_downloadFil.java @@ -18,37 +18,37 @@ along with this program. If not, see . package gplx.ios; import gplx.*; public class IoEngine_xrg_downloadFil { public String Src() {return src;} public IoEngine_xrg_downloadFil Src_(String v) {src = v; return this;} private String src; - public Io_url Trg() {return trg;} public IoEngine_xrg_downloadFil Trg_(Io_url v) {trg = v; return this;} Io_url trg; + public Io_url Trg() {return trg;} public IoEngine_xrg_downloadFil Trg_(Io_url v) {trg = v; return this;} private Io_url trg; public byte Rslt() {return rslt;} public IoEngine_xrg_downloadFil Rslt_(byte v) {rslt = v; return this;} private byte rslt = Rslt_pass; - public Exception Rslt_err() {return rslt_err;} public IoEngine_xrg_downloadFil Rslt_err_(Exception v) {rslt_err = v; return this;} Exception rslt_err; + public Exception Rslt_err() {return rslt_err;} public IoEngine_xrg_downloadFil Rslt_err_(Exception v) {rslt_err = v; return this;} private Exception rslt_err; public String Rslt_err_str() { return rslt_err == null ? "none" : Err_.Message_gplx_brief(rslt_err); } public String User_agent() {return user_agent;} public IoEngine_xrg_downloadFil User_agent_(String v) {user_agent = v; return this;} private String user_agent; - public Gfo_usr_dlg Prog_dlg() {return prog_dlg;} public IoEngine_xrg_downloadFil Prog_dlg_(Gfo_usr_dlg v) {prog_dlg = v; download_fmt.Ctor(prog_dlg); return this;} Gfo_usr_dlg prog_dlg; - public Bry_fmtr Prog_fmtr() {return prog_fmtr;} Bry_fmtr prog_fmtr = Bry_fmtr.new_("~{download_header}: ~{download_read} of ~{download_length} kb;", "download_header", "download_url", "download_read", "download_length"); + public Gfo_usr_dlg Prog_dlg() {return prog_dlg;} public IoEngine_xrg_downloadFil Prog_dlg_(Gfo_usr_dlg v) {prog_dlg = v; download_fmt.Ctor(prog_dlg); return this;} private Gfo_usr_dlg prog_dlg; + public Bry_fmtr Prog_fmtr() {return prog_fmtr;} private final Bry_fmtr prog_fmtr = Bry_fmtr.new_("~{download_header}: ~{download_read} of ~{download_length} kb;", "download_header", "download_url", "download_read", "download_length"); public String Prog_fmt_hdr() {return prog_fmt_hdr;} public IoEngine_xrg_downloadFil Prog_fmt_hdr_(String v) {prog_fmt_hdr = v; return this;} private String prog_fmt_hdr = ""; // NOTE: must init to "", else null ref when building String - public boolean Prog_cancel() {return prog_cancel;} public IoEngine_xrg_downloadFil Prog_cancel_y_() {prog_cancel = true; return this;} volatile boolean prog_cancel; + public boolean Prog_cancel() {return prog_cancel;} public IoEngine_xrg_downloadFil Prog_cancel_y_() {prog_cancel = true; return this;} private volatile boolean prog_cancel; public boolean Prog_running() {return prog_running;} public IoEngine_xrg_downloadFil Prog_running_(boolean v) {prog_running = v; return this;} private boolean prog_running; - public long Src_content_length() {return src_content_length;} public IoEngine_xrg_downloadFil Src_content_length_(long v) {src_content_length = v; return this;} long src_content_length; - public DateAdp Src_last_modified() {return src_last_modified;} public IoEngine_xrg_downloadFil Src_last_modified_(DateAdp v) {src_last_modified = v; return this;} DateAdp src_last_modified; + public long Src_content_length() {return src_content_length;} public IoEngine_xrg_downloadFil Src_content_length_(long v) {src_content_length = v; return this;} private long src_content_length; + public DateAdp Src_last_modified() {return src_last_modified;} public IoEngine_xrg_downloadFil Src_last_modified_(DateAdp v) {src_last_modified = v; return this;} private DateAdp src_last_modified; public boolean Src_last_modified_query() {return src_last_modified_query;} public IoEngine_xrg_downloadFil Src_last_modified_query_(boolean v) {src_last_modified_query = v; return this;} private boolean src_last_modified_query; public String Trg_engine_key() {return trg_engine_key;} public IoEngine_xrg_downloadFil Trg_engine_key_(String v) {trg_engine_key = v; return this;} private String trg_engine_key = IoEngine_.SysKey; - public Io_download_fmt Download_fmt() {return download_fmt;} Io_download_fmt download_fmt = new Io_download_fmt(); - public boolean Exec() {return IoEnginePool._.Fetch(trg.Info().EngineKey()).DownloadFil(this);} - public Io_stream_rdr Exec_as_rdr() {return IoEnginePool._.Fetch(IoEngine_.SysKey).DownloadFil_as_rdr(this);} + public Io_download_fmt Download_fmt() {return download_fmt;} private final Io_download_fmt download_fmt = new Io_download_fmt(); + public boolean Exec() {return IoEnginePool._.Get_by(trg.Info().EngineKey()).DownloadFil(this);} + public Io_stream_rdr Exec_as_rdr() {return IoEnginePool._.Get_by(IoEngine_.SysKey).DownloadFil_as_rdr(this);} public boolean Exec_meta_only() {return exec_meta_only;} private boolean exec_meta_only; public byte[] Exec_as_bry(String src) { this.Src_(src); this.Trg_(trg_mem); - download_fmt.Init(src, prog_fmt_hdr); // NOTE: must set src else NULL error - boolean pass = IoEnginePool._.Fetch(trg_engine_key).DownloadFil(this); - return pass ? Io_mgr._.LoadFilBry(trg_mem) : null; - } Io_url trg_mem = Io_url_.mem_fil_("mem/download.tmp"); + download_fmt.Download_init(src, prog_fmt_hdr); // NOTE: must set src else NULL error + boolean pass = IoEnginePool._.Get_by(trg_engine_key).DownloadFil(this); + return pass ? Io_mgr.I.LoadFilBry(trg_mem) : null; + } private Io_url trg_mem = Io_url_.mem_fil_("mem/download.tmp"); public boolean Exec_meta(String src) { this.Src_(src); this.Trg_(trg_mem); // NOTE: set Trg_ else error in download proc - download_fmt.Init(src, prog_fmt_hdr); // NOTE: must set src else NULL error + download_fmt.Download_init(src, prog_fmt_hdr); // NOTE: must set src else NULL error exec_meta_only = true; - boolean rv = IoEnginePool._.Fetch(trg_engine_key).DownloadFil(this); + boolean rv = IoEnginePool._.Get_by(trg_engine_key).DownloadFil(this); exec_meta_only = false; return rv; } @@ -58,7 +58,7 @@ public class IoEngine_xrg_downloadFil { rslt_err = null; rslt = Rslt_pass; prog_running = true; - download_fmt.Init(src, "downloading ~{src_name}: ~{prog_left} left (@ ~{prog_rate}); ~{prog_done} of ~{src_len} (~{prog_pct}%)"); + download_fmt.Download_init(src, "downloading ~{src_name}: ~{prog_left} left (@ ~{prog_rate}); ~{prog_done} of ~{src_len} (~{prog_pct}%)"); } public static IoEngine_xrg_downloadFil new_(String src, Io_url trg) { IoEngine_xrg_downloadFil rv = new IoEngine_xrg_downloadFil(); diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_loadFilStr.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_loadFilStr.java index 37b1a57a8..6abd4552b 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_loadFilStr.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_loadFilStr.java @@ -22,7 +22,7 @@ public class IoEngine_xrg_loadFilStr { public boolean MissingIgnored() {return missingIgnored;} public IoEngine_xrg_loadFilStr MissingIgnored_() {return MissingIgnored_(true);} public IoEngine_xrg_loadFilStr MissingIgnored_(boolean v) {missingIgnored = v; return this;} private boolean missingIgnored = false; public boolean BomUtf8Convert() {return bomUtf8Convert;} public IoEngine_xrg_loadFilStr BomUtf8Convert_(boolean v) {bomUtf8Convert = v; return this;} private boolean bomUtf8Convert = true; public String Exec() { - String s = IoEnginePool._.Fetch(url.Info().EngineKey()).LoadFilStr(this); + String s = IoEnginePool._.Get_by(url.Info().EngineKey()).LoadFilStr(this); if (bomUtf8Convert && String_.Len(s) > 0 && String_.CodePointAt(s, 0) == Bom_Utf8) { s = String_.Mid(s, 1); UsrDlg_._.Warn(UsrMsg.new_("UTF8 BOM removed").Add("url", url.Xto_api())); diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_openRead.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_openRead.java index 9ceadffca..1fd9aaa86 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_openRead.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_openRead.java @@ -19,9 +19,9 @@ package gplx.ios; import gplx.*; public class IoEngine_xrg_openRead { public Io_url Url() {return url;} Io_url url; public String ErrMsg() {return errMsg;} private String errMsg; - public IoStream ExecAsIoStreamOrFail() {return IoEnginePool._.Fetch(url.Info().EngineKey()).OpenStreamRead(url);} + public IoStream ExecAsIoStreamOrFail() {return IoEnginePool._.Get_by(url.Info().EngineKey()).OpenStreamRead(url);} public IoStream ExecAsIoStreamOrNull() { - try {return IoEnginePool._.Fetch(url.Info().EngineKey()).OpenStreamRead(url);} + try {return IoEnginePool._.Get_by(url.Info().EngineKey()).OpenStreamRead(url);} catch (Exception exc) { errMsg = Err_.Message_lang(exc); return IoStream_.Null; diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_openWrite.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_openWrite.java index 3240012a7..a5906b9e3 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_openWrite.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_openWrite.java @@ -22,7 +22,7 @@ public class IoEngine_xrg_openWrite { public boolean MissingIgnored() {return missingIgnored;} public IoEngine_xrg_openWrite MissingIgnored_() {return MissingIgnored_(true);} public IoEngine_xrg_openWrite MissingIgnored_(boolean v) {missingIgnored = v; return this;} private boolean missingIgnored = false; public byte Mode() {return mode;} public IoEngine_xrg_openWrite Mode_(byte v) {mode = v; return this;} private byte mode = IoStream_.Mode_wtr_create; public IoEngine_xrg_openWrite Mode_update_() {return Mode_(IoStream_.Mode_wtr_update);} - public IoStream Exec() {return IoEnginePool._.Fetch(url.Info().EngineKey()).OpenStreamWrite(this);} + public IoStream Exec() {return IoEnginePool._.Get_by(url.Info().EngineKey()).OpenStreamWrite(this);} public static IoEngine_xrg_openWrite new_(Io_url url) { IoEngine_xrg_openWrite rv = new IoEngine_xrg_openWrite(); rv.url = url; diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_queryDir.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_queryDir.java index da59bef77..17b740e38 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_queryDir.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_queryDir.java @@ -36,12 +36,12 @@ public class IoEngine_xrg_queryDir { filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, crt); return this; } - public IoItmDir ExecAsDir() {return IoEnginePool._.Fetch(url.Info().EngineKey()).QueryDirDeep(this);} + public IoItmDir ExecAsDir() {return IoEnginePool._.Get_by(url.Info().EngineKey()).QueryDirDeep(this);} public Io_url[] ExecAsUrlAry() {return ExecAsItmHash().XtoIoUrlAry();} public IoItmHash ExecAsItmHash() { Criteria crt = dirInclude ? Criteria_.All : Criteria_fld.new_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil)); IoItmHash list = ExecAsDir().XtoIoItmList(crt); - list.SortBy(IoItmBase_comparer_nest._); + list.Sort_by(IoItmBase_comparer_nest._); return list; } public static IoEngine_xrg_queryDir new_(Io_url url) { diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java index 8e39ca553..2b4e2ecd3 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java @@ -25,7 +25,7 @@ public class IoEngine_xrg_recycleFil extends IoEngine_xrg_fil_affects1_base { public Guid_adp Uuid() {return uuid;} public IoEngine_xrg_recycleFil Uuid_(Guid_adp val) {uuid = val; return this;} Guid_adp uuid; public boolean Uuid_include() {return uuid_include;} public IoEngine_xrg_recycleFil Uuid_include_() {uuid_include = true; return this;} private boolean uuid_include; public DateAdp Time() {return time;} public IoEngine_xrg_recycleFil Time_(DateAdp val) {time = val; return this;} DateAdp time; - public ListAdp RootDirNames() {return rootDirNames;} public IoEngine_xrg_recycleFil RootDirNames_(ListAdp val) {rootDirNames = val; return this;} ListAdp rootDirNames; + public List_adp RootDirNames() {return rootDirNames;} public IoEngine_xrg_recycleFil RootDirNames_(List_adp val) {rootDirNames = val; return this;} List_adp rootDirNames; public Io_url RecycleUrl() { String dayName = time.XtoStr_fmt("yyyyMMdd"), timeName = time.XtoStr_fmt("hhmmssfff"); String rootDirStr = ConcatWith_ary(this.Url().Info().DirSpr(), rootDirNames); @@ -33,27 +33,27 @@ public class IoEngine_xrg_recycleFil extends IoEngine_xrg_fil_affects1_base { String uuidStr = uuid_include ? uuid.XtoStr() : ""; return recycleDir.GenSubFil_ary(appName, ";", timeName, ";", uuidStr, ";", String_.LimitToFirst(this.Url().NameAndExt(), 128)); } - String ConcatWith_ary(String separator, ListAdp ary) { + String ConcatWith_ary(String separator, List_adp ary) { String_bldr sb = String_bldr_.new_(); int aryLen = ary.Count(); for (int i = 0; i < aryLen; i++) { if (i != 0) sb.Add(separator); - Object val = ary.FetchAt(i); + Object val = ary.Get_at(i); sb.Add_obj(Object_.Xto_str_strict_or_empty(val)); } return sb.XtoStr(); } @Override public void Exec() { - IoEnginePool._.Fetch(this.Url().Info().EngineKey()).RecycleFil(this); + IoEnginePool._.Get_by(this.Url().Info().EngineKey()).RecycleFil(this); } public IoEngine_xrg_recycleFil(int v) { mode = v; time = DateAdp_.Now(); uuid = Guid_adp_.new_(); - rootDirNames = ListAdp_.new_(); rootDirNames.Add("z_trash"); + rootDirNames = List_adp_.new_(); rootDirNames.Add("z_trash"); } public static IoEngine_xrg_recycleFil sysm_(Io_url url) {return new IoEngine_xrg_recycleFil(SysmConst);} public static IoEngine_xrg_recycleFil gplx_(Io_url url) {IoEngine_xrg_recycleFil rv = new IoEngine_xrg_recycleFil(GplxConst); rv.Url_set(url); return rv;} - public static IoEngine_xrg_recycleFil proto_() {return gplx_(Io_url_.Null);} + public static IoEngine_xrg_recycleFil proto_() {return gplx_(Io_url_.Empty);} public static final int GplxConst = 0, SysmConst = 1; } diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_saveFilStr.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_saveFilStr.java index 178c722b6..da2b44f91 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_saveFilStr.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_saveFilStr.java @@ -23,7 +23,7 @@ public class IoEngine_xrg_saveFilStr { public boolean Append() {return append;} public IoEngine_xrg_saveFilStr Append_() {return Append_(true);} public IoEngine_xrg_saveFilStr Append_(boolean val) {append = val; return this;} private boolean append = false; public void Exec() { if (String_.Eq(text, "") && append) return; // no change; don't bother writing to disc - IoEnginePool._.Fetch(url.Info().EngineKey()).SaveFilText_api(this); + IoEnginePool._.Get_by(url.Info().EngineKey()).SaveFilText_api(this); } public static IoEngine_xrg_saveFilStr new_(Io_url url, String text) { IoEngine_xrg_saveFilStr rv = new IoEngine_xrg_saveFilStr(); diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java index c7b2ecb21..1ce83f3bd 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java @@ -26,7 +26,7 @@ public class IoEngine_xrg_xferDir { public boolean ReadOnlyFails() {return readOnlyFails;} public IoEngine_xrg_xferDir ReadOnlyFails_() {return ReadOnlyFails_(true);} public IoEngine_xrg_xferDir ReadOnlyFails_(boolean v) {readOnlyFails = v; return this;} private boolean readOnlyFails = false; public Criteria MatchCrt() {return matchCrt;} public IoEngine_xrg_xferDir MatchCrt_(Criteria v) {matchCrt = v; return this;} Criteria matchCrt = Criteria_.All; public Criteria SubDirScanCrt() {return subDirScanCrt;} public IoEngine_xrg_xferDir SubDirScanCrt_(Criteria v) {subDirScanCrt = v; return this;} Criteria subDirScanCrt = Criteria_.All; - public void Exec() {IoEnginePool._.Fetch(src.Info().EngineKey()).XferDir(this);} + public void Exec() {IoEnginePool._.Get_by(src.Info().EngineKey()).XferDir(this);} public static IoEngine_xrg_xferDir move_(Io_url src, Io_url trg) {return new_(src, trg, true);} public static IoEngine_xrg_xferDir copy_(Io_url src, Io_url trg) {return new_(src, trg, false);} static IoEngine_xrg_xferDir new_(Io_url src, Io_url trg, boolean move) { diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferFil.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferFil.java index 54e7f5c11..941b0cad9 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferFil.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferFil.java @@ -23,7 +23,7 @@ public class IoEngine_xrg_xferFil { public boolean Overwrite() {return overwrite;} public IoEngine_xrg_xferFil Overwrite_() {return Overwrite_(true);} public IoEngine_xrg_xferFil Overwrite_(boolean v) {overwrite = v; return this;} private boolean overwrite = false; public boolean ReadOnlyFails() {return readOnlyFails;} public IoEngine_xrg_xferFil ReadOnlyFails_off() {return ReadOnlyFails_(false);} public IoEngine_xrg_xferFil ReadOnlyFails_(boolean v) {readOnlyFails = v; return this;} private boolean readOnlyFails = true; public boolean MissingFails() {return missingFails;} public IoEngine_xrg_xferFil MissingFails_off() {return MissingFails_(false);} public IoEngine_xrg_xferFil MissingFails_(boolean v) {missingFails = v; return this;} private boolean missingFails = true; - public void Exec() {IoEnginePool._.Fetch(src.Info().EngineKey()).XferFil(this);} + public void Exec() {IoEnginePool._.Get_by(src.Info().EngineKey()).XferFil(this);} public static IoEngine_xrg_xferFil move_(Io_url src, Io_url trg) {return new_(src, trg, true);} public static IoEngine_xrg_xferFil copy_(Io_url src, Io_url trg) {return new_(src, trg, false);} static IoEngine_xrg_xferFil new_(Io_url src, Io_url trg, boolean move) { diff --git a/100_core/src_200_io/gplx/ios/IoItmDir.java b/100_core/src_200_io/gplx/ios/IoItmDir.java index 295e0fd7a..3793dd381 100644 --- a/100_core/src_200_io/gplx/ios/IoItmDir.java +++ b/100_core/src_200_io/gplx/ios/IoItmDir.java @@ -34,7 +34,7 @@ public class IoItmDir extends IoItm_base { int count = list.Count(); Io_url[] rv = new Io_url[count]; for (int i = 0; i < count; i++) - rv[i] = list.FetchAt(i).Url(); + rv[i] = list.Get_at(i).Url(); return rv; } public IoItmDir FetchDeepOrNull(Io_url findDirUrl) { @@ -45,11 +45,11 @@ public class IoItmDir extends IoItm_base { String findName = String_.DelEnd(currDirStr, dirSprLen); // seed findName for String_.MidByLen below; IoItmDir curDir = this; while (true) { - findDirStr = String_.DelBgn(findDirStr, String_.Len(findName) + dirSprLen); // NOTE: findName will never have trailingDirSpr; subDirs.Fetch() takes NameOnly; ex: "dir" not "dir\" + findDirStr = String_.DelBgn(findDirStr, String_.Len(findName) + dirSprLen); // NOTE: findName will never have trailingDirSpr; subDirs.Get_by() takes NameOnly; ex: "dir" not "dir\" int nextDirSprPos = String_.FindFwd(findDirStr, dirSpr); if (nextDirSprPos == String_.Find_none) nextDirSprPos = String_.Len(findDirStr); findName = String_.MidByLen(findDirStr, 0, nextDirSprPos); if (String_.Eq(findDirStr, "")) return curDir; // findDirStr completely removed; all parts match; return curDir - curDir = IoItmDir_.as_(curDir.subDirs.Fetch(findName)); // try to find dir + curDir = IoItmDir_.as_(curDir.subDirs.Get_by(findName)); // try to find dir if (curDir == null) return null; // dir not found; exit; NOTE: if dir found, loop restarts; with curDir as either findDir, or owner of findDir } } diff --git a/100_core/src_200_io/gplx/ios/IoItmDir_.java b/100_core/src_200_io/gplx/ios/IoItmDir_.java index 5bc5ec464..181554d82 100644 --- a/100_core/src_200_io/gplx/ios/IoItmDir_.java +++ b/100_core/src_200_io/gplx/ios/IoItmDir_.java @@ -32,24 +32,24 @@ public class IoItmDir_ { } static IoItmDir null_() { IoItmDir rv = new IoItmDir(true); // TODO: NULL should be removed - rv.ctor_IoItmBase_url(Io_url_.Null); + rv.ctor_IoItmBase_url(Io_url_.Empty); rv.Exists_set(false); return rv; } public static void Make(IoItmDir dir) { - Io_mgr._.CreateDir(dir.Url()); + Io_mgr.I.CreateDir(dir.Url()); int len = dir.SubDirs().Count(); for (int i = 0; i < len; ++i) { - IoItmDir sub_dir = (IoItmDir)dir.SubDirs().FetchAt(i); + IoItmDir sub_dir = (IoItmDir)dir.SubDirs().Get_at(i); Make(sub_dir); } len = dir.SubFils().Count(); for (int i = 0; i < len; ++i) { - IoItmFil sub_fil = (IoItmFil)dir.SubFils().FetchAt(i); + IoItmFil sub_fil = (IoItmFil)dir.SubFils().Get_at(i); String text = String_.Repeat("a", (int)sub_fil.Size()); Io_url sub_url = sub_fil.Url(); - Io_mgr._.SaveFilStr(sub_url, text); - Io_mgr._.UpdateFilModifiedTime(sub_url, sub_fil.ModifiedTime()); + Io_mgr.I.SaveFilStr(sub_url, text); + Io_mgr.I.UpdateFilModifiedTime(sub_url, sub_fil.ModifiedTime()); } } } diff --git a/100_core/src_200_io/gplx/ios/IoItmFil.java b/100_core/src_200_io/gplx/ios/IoItmFil.java index 15e66787d..d02d8b8d8 100644 --- a/100_core/src_200_io/gplx/ios/IoItmFil.java +++ b/100_core/src_200_io/gplx/ios/IoItmFil.java @@ -22,7 +22,7 @@ public class IoItmFil extends IoItm_base { public DateAdp ModifiedTime() {return modifiedTime;} public IoItmFil ModifiedTime_(DateAdp val) {modifiedTime = val; return this;} DateAdp modifiedTime; public IoItmFil ModifiedTime_(String val) {return ModifiedTime_(DateAdp_.parse_gplx(val));} - @gplx.Virtual public long Size() {return size;} public IoItmFil Size_(long val) {size = val; return this;} long size; + @gplx.Virtual public long Size() {return size;} public IoItmFil Size_(long val) {size = val; return this;} private long size; public IoItmAttrib Attrib() {return attrib;} public IoItmFil Attrib_(IoItmAttrib val) {attrib = val; return this;} IoItmAttrib attrib = IoItmAttrib.normal_(); public boolean ReadOnly() {return attrib.ReadOnly();} public IoItmFil ReadOnly_(boolean val) {attrib.ReadOnly_(val); return this;} @gplx.New public IoItmFil XtnProps_set(String key, Object val) {return (IoItmFil)super.XtnProps_set(key, val);} diff --git a/100_core/src_200_io/gplx/ios/IoItmFil_mem.java b/100_core/src_200_io/gplx/ios/IoItmFil_mem.java index 57f3423a6..c313a3e02 100644 --- a/100_core/src_200_io/gplx/ios/IoItmFil_mem.java +++ b/100_core/src_200_io/gplx/ios/IoItmFil_mem.java @@ -26,7 +26,7 @@ class IoItmFil_mem extends IoItmFil { public static IoItmFil_mem as_(Object obj byte[] buffer = new byte[len]; stream.Position_set(0); stream.Read(buffer, 0, len); - return String_.new_utf8_(buffer); + return String_.new_u8(buffer); } public IoItmFil_mem Clone() {return new_(this.Url(), this.Size(), this.ModifiedTime(), this.Text());} public static IoItmFil_mem new_(Io_url filPath, long size, DateAdp modified, String text) { @@ -35,5 +35,5 @@ class IoItmFil_mem extends IoItmFil { public static IoItmFil_mem as_(Object obj rv.stream = IoStream_mem.rdr_txt_(filPath, text); return rv; } - public static final IoItmFil_mem Null = new_(Io_url_.Null, 0, DateAdp_.MinValue, ""); + public static final IoItmFil_mem Null = new_(Io_url_.Empty, -1, DateAdp_.MinValue, ""); // NOTE: size must be -1 for .Exists to be false; DATE:2015-05-16 } diff --git a/100_core/src_200_io/gplx/ios/IoItmHash.java b/100_core/src_200_io/gplx/ios/IoItmHash.java index e254fb520..210654155 100644 --- a/100_core/src_200_io/gplx/ios/IoItmHash.java +++ b/100_core/src_200_io/gplx/ios/IoItmHash.java @@ -16,23 +16,23 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.ios; import gplx.*; -public class IoItmHash extends OrderedHash_base { +public class IoItmHash extends Ordered_hash_base { public Io_url Url() {return url;} Io_url url; public void Add(IoItm_base itm) {Add_base(MakeKey(itm.Url()), itm);} public void Del(Io_url url) {Del(MakeKey(url));} - public IoItm_base Fetch(Io_url url) {return IoItm_base_.as_(Fetch_base(MakeKey(url)));} - @gplx.New public IoItm_base FetchAt(int i) {return IoItm_base_.as_(FetchAt_base(i));} + public IoItm_base Get_by(Io_url url) {return IoItm_base_.as_(Fetch_base(MakeKey(url)));} + @gplx.New public IoItm_base Get_at(int i) {return IoItm_base_.as_(Get_at_base(i));} public Io_url[] XtoIoUrlAry() { int count = this.Count(); Io_url[] rv = new Io_url[count]; for (int i = 0; i < count; i++) - rv[i] = this.FetchAt(i).Url(); + rv[i] = this.Get_at(i).Url(); return rv; } String MakeKey(Io_url url) {return url.XtoCaseNormalized();} public static IoItmHash new_() { IoItmHash rv = new IoItmHash(); - rv.url = null;//Io_url_.Null; + rv.url = null;//Io_url_.Empty; return rv; } IoItmHash() {} public static IoItmHash list_(Io_url url) { diff --git a/100_core/src_200_io/gplx/ios/IoItmList.java b/100_core/src_200_io/gplx/ios/IoItmList.java index 1c001ca43..f265df0ae 100644 --- a/100_core/src_200_io/gplx/ios/IoItmList.java +++ b/100_core/src_200_io/gplx/ios/IoItmList.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.ios; import gplx.*; -import gplx.lists.*; /*OrderedHash_base*/ -public class IoItmList extends OrderedHash_base { +import gplx.lists.*; /*Ordered_hash_base*/ +public class IoItmList extends Ordered_hash_base { public boolean Has(Io_url url) {return Has_base(MakeKey(url));} public void Add(IoItm_base itm) { if (ownerDir != null) itm.OwnerDir_set(ownerDir); @@ -36,7 +36,7 @@ public class IoItmList extends OrderedHash_base { rv[i] = IoItm_base_.as_(i).Url(); return rv; } - @Override public void Sort() {SortBy(IoItmBase_comparer_nest._);} + @Override public void Sort() {Sort_by(IoItmBase_comparer_nest._);} @Override protected Object Fetch_base(Object keyObj) { String key = MakeKey((String)keyObj); return super.Fetch_base(key); diff --git a/100_core/src_200_io/gplx/ios/IoItm_base.java b/100_core/src_200_io/gplx/ios/IoItm_base.java index ec39007c2..46dca0a96 100644 --- a/100_core/src_200_io/gplx/ios/IoItm_base.java +++ b/100_core/src_200_io/gplx/ios/IoItm_base.java @@ -23,7 +23,7 @@ public abstract class IoItm_base implements GfoInvkAble, CompareAble { public void OwnerDir_set(IoItmDir v) {if (v == this) throw Err_.new_("dir cannot be its own owner").Add("url", v.url.Raw()); url = v == null && ownerDir != null ? ownerDir.url.GenSubFil(name) // create url, since ownerDir will soon be null; NOTE: must call .url - : Io_url_.Null; // delete url, since ownerDir will be avail + : Io_url_.Empty; // delete url, since ownerDir will be avail ownerDir = v; } public String Name() {return name;} private String name; @@ -32,9 +32,9 @@ public abstract class IoItm_base implements GfoInvkAble, CompareAble { if (ownerDir == null) url = url.OwnerDir().GenSubFil(name); return this; } - public Object XtnProps_get(String key) {return props.Fetch(key);} HashAdp props = HashAdp_.Null; + public Object XtnProps_get(String key) {return props.Get_by(key);} Hash_adp props = Hash_adp_.Noop; public IoItm_base XtnProps_set(String key, Object val) { - if (props == HashAdp_.Null) props = HashAdp_.new_(); + if (props == Hash_adp_.Noop) props = Hash_adp_.new_(); props.Del(key); props.Add(key, val); return this; diff --git a/100_core/src_200_io/gplx/ios/IoRecycleBin.java b/100_core/src_200_io/gplx/ios/IoRecycleBin.java index 838960714..6136912d7 100644 --- a/100_core/src_200_io/gplx/ios/IoRecycleBin.java +++ b/100_core/src_200_io/gplx/ios/IoRecycleBin.java @@ -22,9 +22,9 @@ public class IoRecycleBin { public IoEngine_xrg_recycleFil Send_xrg(Io_url url) {return IoEngine_xrg_recycleFil.gplx_(url);} public void Recover(Io_url url) { String_bldr sb = String_bldr_.new_(); - ListAdp list = Regy_search(url, sb); + List_adp list = Regy_search(url, sb); int listCount = list.Count(); if (listCount > 1) throw Err_.new_("found more than 1 url").Add("count", list.Count()); - Io_url trgUrl = (Io_url)list.FetchAt(0); + Io_url trgUrl = (Io_url)list.Get_at(0); IoEngine_xrg_xferFil.move_(url, trgUrl).ReadOnlyFails_(true).Overwrite_(false).Exec(); IoEngine_xrg_saveFilStr.new_(FetchRegistryUrl(url), sb.XtoStr()).Exec(); } @@ -34,8 +34,8 @@ public class IoRecycleBin { String text = String_.ConcatWith_any("|", url.NameAndExt_noDirSpr(), xrg.Url().GenRelUrl_orEmpty(url.OwnerRoot()), xrg.Uuid().XtoStr(), xrg.AppName(), xrg.Time()); IoEngine_xrg_saveFilStr.new_(regyUrl, text).Append_().Exec(); } - public ListAdp Regy_search(Io_url url, String_bldr sb) { - ListAdp list = ListAdp_.new_(); + public List_adp Regy_search(Io_url url, String_bldr sb) { + List_adp list = List_adp_.new_(); Io_url regyUrl = FetchRegistryUrl(url); String[] lines = IoEngine_xrg_loadFilStr.new_(regyUrl).ExecAsStrAry(); int linesLen = Array_.Len(lines); diff --git a/100_core/src_200_io/gplx/ios/IoStream_.java b/100_core/src_200_io/gplx/ios/IoStream_.java index c4edc8f6e..31f852a5f 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_.java +++ b/100_core/src_200_io/gplx/ios/IoStream_.java @@ -29,7 +29,7 @@ import java.io.UnsupportedEncodingException; public class IoStream_ { public static final IoStream Null = new IoStream_null(); public static IoStream mem_txt_(Io_url url, String v) {return IoStream_mem.rdr_txt_(url, v);} - public static IoStream ary_(byte[] v) {return IoStream_mem.rdr_ary_(Io_url_.Null, v);} + public static IoStream ary_(byte[] v) {return IoStream_mem.rdr_ary_(Io_url_.Empty, v);} public static final byte Mode_rdr = 0, Mode_wtr_create = 1, Mode_wtr_append = 2, Mode_wtr_update = 3; public static IoStream stream_rdr_() {return new IoStream_stream_rdr();} public static IoStream stream_input_(Io_url url) {return new IoStream_stream_rdr().UnderRdr_(input_stream_(url));} @@ -41,7 +41,7 @@ public class IoStream_ { } class IoStream_null implements IoStream { public Object UnderRdr() {return null;} - public Io_url Url() {return Io_url_.Null;} + public Io_url Url() {return Io_url_.Empty;} public long Pos() {return -1;} public long Len() {return -1;} public int ReadAry(byte[] array) {return -1;} @@ -55,7 +55,7 @@ class IoStream_null implements IoStream { public void Rls() {} } class IoStream_base implements IoStream { - @gplx.Virtual public Io_url Url() {return url;} Io_url url = Io_url_.Null; + @gplx.Virtual public Io_url Url() {return url;} Io_url url = Io_url_.Empty; public void Transfer(IoStream trg, int bufferLength) { byte[] buffer = new byte[bufferLength]; int read = -1; @@ -166,7 +166,7 @@ class IoStream_base implements IoStream { public static IoStream_base new_(Object stream) { IoStream_base rv = new IoStream_base(); // rv.stream = (System.IO.Stream)stream; - rv.url = Io_url_.Null; + rv.url = Io_url_.Empty; return rv; } } diff --git a/100_core/src_200_io/gplx/ios/IoStream_mem.java b/100_core/src_200_io/gplx/ios/IoStream_mem.java index c1e90da4b..faa059e49 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_mem.java +++ b/100_core/src_200_io/gplx/ios/IoStream_mem.java @@ -53,7 +53,7 @@ class IoStream_mem extends IoStream_base { @Override public void Flush() {} @Override public void Rls() {} - public static IoStream_mem rdr_txt_(Io_url url, String v) {return rdr_ary_(url, Bry_.new_utf8_(v));} + public static IoStream_mem rdr_txt_(Io_url url, String v) {return rdr_ary_(url, Bry_.new_u8(v));} public static IoStream_mem rdr_ary_(Io_url url, byte[] v) { IoStream_mem rv = new IoStream_mem(); rv.buffer = v; diff --git a/100_core/src_200_io/gplx/ios/IoStream_mem_tst.java b/100_core/src_200_io/gplx/ios/IoStream_mem_tst.java index 2ad610373..2e0639e06 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_mem_tst.java +++ b/100_core/src_200_io/gplx/ios/IoStream_mem_tst.java @@ -19,7 +19,7 @@ package gplx.ios; import gplx.*; import org.junit.*; //using System.IO; /*Stream*/ public class IoStream_mem_tst { @Test public void Write() { // confirm that changes written to Stream acquired via .AdpObj are written to IoStream_mem.Buffer - IoStream_mem stream = IoStream_mem.wtr_data_(Io_url_.Null, 0); + IoStream_mem stream = IoStream_mem.wtr_data_(Io_url_.Empty, 0); byte[] data = Bry_.ints_(1); stream.Write(data, 0, Array_.Len(data)); diff --git a/100_core/src_200_io/gplx/ios/IoStream_mock.java b/100_core/src_200_io/gplx/ios/IoStream_mock.java index b13385451..7ef426cb8 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_mock.java +++ b/100_core/src_200_io/gplx/ios/IoStream_mock.java @@ -31,7 +31,7 @@ public class IoStream_mock implements IoStream { return bytes_read; } public Object UnderRdr() {return null;} - public Io_url Url() {return Io_url_.Null;} + public Io_url Url() {return Io_url_.Empty;} public long Pos() {return -1;} public long Len() {return -1;} public int ReadAry(byte[] array) {return -1;} diff --git a/100_core/src_200_io/gplx/ios/IoStream_mock_tst.java b/100_core/src_200_io/gplx/ios/IoStream_mock_tst.java index a3cc24136..d3f64f0e7 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_mock_tst.java +++ b/100_core/src_200_io/gplx/ios/IoStream_mock_tst.java @@ -35,13 +35,13 @@ class IoStream_mock_fxt { rdr.Reset(); trg_bgn = 0; } IoStream_mock rdr; byte[] trg_bry; - public IoStream_mock_fxt Init_src_str_(String v) {rdr.Data_bry_(Bry_.new_ascii_(v)); return this;} + public IoStream_mock_fxt Init_src_str_(String v) {rdr.Data_bry_(Bry_.new_a7(v)); return this;} public IoStream_mock_fxt Init_trg_len_(int v) {trg_bry = new byte[v]; return this;} public IoStream_mock_fxt Init_read_len_(int v) {read_len = v; return this;} int read_len; public IoStream_mock_fxt Init_rdr_limit_(int v) {rdr.Read_limit_(v); return this;} public IoStream_mock_fxt Test_read(String expd) { int bytes_read = rdr.Read(trg_bry, trg_bgn, read_len); - Tfds.Eq(expd, String_.new_ascii_(trg_bry, trg_bgn, trg_bgn + bytes_read)); + Tfds.Eq(expd, String_.new_a7(trg_bry, trg_bgn, trg_bgn + bytes_read)); trg_bgn += bytes_read; return this; } int trg_bgn; diff --git a/100_core/src_200_io/gplx/ios/IoStream_stream_rdr.java b/100_core/src_200_io/gplx/ios/IoStream_stream_rdr.java index 59d7895f1..3be3a47e9 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_stream_rdr.java +++ b/100_core/src_200_io/gplx/ios/IoStream_stream_rdr.java @@ -25,7 +25,7 @@ public class IoStream_stream_rdr implements IoStream { } public IoStream UnderRdr_(Object v) {this.stream = (java.io.InputStream)v; return this;} java.io.InputStream stream; public Object UnderRdr() {return stream;} - public Io_url Url() {return Io_url_.Null;} + public Io_url Url() {return Io_url_.Empty;} public long Pos() {return -1;} public long Len() {return -1;} public int ReadAry(byte[] array) {return -1;} diff --git a/100_core/src_200_io/gplx/ios/IoUrlInfo.java b/100_core/src_200_io/gplx/ios/IoUrlInfo.java index a2e229d73..c16a5a1cb 100644 --- a/100_core/src_200_io/gplx/ios/IoUrlInfo.java +++ b/100_core/src_200_io/gplx/ios/IoUrlInfo.java @@ -118,7 +118,7 @@ abstract class IoUrlInfo_base implements IoUrlInfo { } } static final int - OwnerDirPos_hasNoOwner = -1 // ListAdp_.NotFound + OwnerDirPos_hasNoOwner = -1 // List_adp_.NotFound , OwnerDirPos_isNull = -2 , OwnerDirPos_isRoot = -3; } diff --git a/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java b/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java index f82ce7e12..aa6ac9fe0 100644 --- a/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java +++ b/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx.ios; import gplx.*; public class IoUrlInfoRegy implements GfoInvkAble { - public void Reg(IoUrlInfo info) {hash.AddReplace(info.Key(), info);} + public void Reg(IoUrlInfo info) {hash.Add_if_dupe_use_nth(info.Key(), info);} public IoUrlInfo Match(String raw) { if (String_.Len(raw) == 0) return IoUrlInfo_.Nil; for (int i = hash.Count(); i > 0; i--) { - IoUrlInfo info = (IoUrlInfo)hash.FetchAt(i - 1); + IoUrlInfo info = (IoUrlInfo)hash.Get_at(i - 1); if (info.Match(raw)) return info; } throw Err_.new_("could not match ioPathInfo").Add("raw", raw).Add("count", hash.Count()); @@ -44,7 +44,7 @@ public class IoUrlInfoRegy implements GfoInvkAble { } return this; } public static final String Invk_Add = "Add"; - OrderedHash hash = OrderedHash_.new_(); + Ordered_hash hash = Ordered_hash_.new_(); public static final IoUrlInfoRegy _ = new IoUrlInfoRegy(); IoUrlInfoRegy() { this.Reset(); diff --git a/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java b/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java index f6ff380a6..d176fc46b 100644 --- a/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java +++ b/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java @@ -19,14 +19,14 @@ package gplx.ios; import gplx.*; import gplx.core.strings.*; public class IoUrlTypeRegy implements GfoInvkAble { public String[] FetchAryOr(String key, String... or) { - IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Fetch(key); + IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Get_by(key); return itm == null ? or : itm.AsAry(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_Get)) { String key = m.ReadStr(k); if (ctx.Deny()) return this; - IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Fetch(key); + IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Get_by(key); if (itm == null) { itm = new IoUrlTypeGrp(key); hash.Add(key, itm); @@ -36,17 +36,17 @@ public class IoUrlTypeRegy implements GfoInvkAble { else return GfoInvkAble_.Rv_unhandled; // return this; } public static final String Invk_Get = "Get"; - OrderedHash hash = OrderedHash_.new_(); + Ordered_hash hash = Ordered_hash_.new_(); public static final IoUrlTypeRegy _ = new IoUrlTypeRegy(); IoUrlTypeRegy() {} } class IoUrlTypeGrp implements GfoInvkAble { public String[] AsAry() { String[] rv = new String[list.Count()]; for (int i = 0; i < list.Count(); i++) - rv[i] = (String)list.FetchAt(i); + rv[i] = (String)list.Get_at(i); return rv; } - OrderedHash list = OrderedHash_.new_(); + Ordered_hash list = Ordered_hash_.new_(); public IoUrlTypeGrp(String key) {this.key = key;} private String key; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_AddMany)) { @@ -65,12 +65,12 @@ class IoUrlTypeGrp implements GfoInvkAble { String_bldr sb = String_bldr_.new_(); sb.Add(key).Add("{"); for (int i = 0; i < list.Count(); i++) - sb.Add_spr_unless_first((String)list.FetchAt(i), " ", i); + sb.Add_spr_unless_first((String)list.Get_at(i), " ", i); sb.Add("}"); return sb.XtoStr(); } else if (ctx.Match(k, Invk_Clear)) {if (ctx.Deny()) return this; list.Clear();} else return GfoInvkAble_.Rv_unhandled; return this; - } public static final String Invk_AddMany = "AddMany", Invk_Clear = "Clear", Invk_Print = "Print"; + } public static final String Invk_AddMany = "Add_many", Invk_Clear = "Clear", Invk_Print = "Print"; } diff --git a/100_core/src_200_io/gplx/ios/IoZipWkr_tst.java b/100_core/src_200_io/gplx/ios/IoZipWkr_tst.java index 7aa7987e5..0e84395c1 100644 --- a/100_core/src_200_io/gplx/ios/IoZipWkr_tst.java +++ b/100_core/src_200_io/gplx/ios/IoZipWkr_tst.java @@ -19,7 +19,7 @@ package gplx.ios; import gplx.*; import org.junit.*; public class IoZipWkr_tst { @Test public void Basic() { - wkr = IoZipWkr.new_(Io_url_.Null, "e \"{0}\" -o\"{1}\" -y"); + wkr = IoZipWkr.new_(Io_url_.Empty, "e \"{0}\" -o\"{1}\" -y"); tst_Expand_genCmdString(Io_url_.wnt_fil_("C:\\fil1.zip"), Io_url_.wnt_dir_("D:\\out\\"), "e \"C:\\fil1.zip\" -o\"D:\\out\" -y"); // NOTE: not "D:\out\" because .Xto_api } IoZipWkr wkr; void tst_Expand_genCmdString(Io_url srcUrl, Io_url trgUrl, String expd) { 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 6a98158e8..c0c3c97f3 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 @@ -18,27 +18,35 @@ along with this program. If not, see . package gplx.ios; import gplx.*; import gplx.brys.*; public class Io_download_fmt { - public long Time_bgn() {return time_bgn;} long time_bgn; - public long Time_now() {return time_now;} long time_now; - public long Time_dif() {return time_dif;} long time_dif; - public long Time_end() {return time_end;} long time_end; + private final Io_size_fmtr_arg size_fmtr_arg = new Io_size_fmtr_arg(), rate_fmtr_arg = new Io_size_fmtr_arg().Suffix_(Bry_.new_a7("ps")); + private final Bry_fmtr_arg_time prog_left_fmtr_arg = new Bry_fmtr_arg_time(); private final Bry_fmtr_arg_decimal_int prog_pct_fmtr_arg = new Bry_fmtr_arg_decimal_int().Places_(2); + private long time_checkpoint_interval = 250; + private long time_checkpoint = 0; + private long time_prv = 0; + public Io_download_fmt() { + this.src_name = prog_msg_hdr = ""; // NOTE: set to "" else prog_mgr will fail with null ref + } + private final 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 + public long Time_bgn() {return time_bgn;} private long time_bgn; + public long Time_now() {return time_now;} private long time_now; + public long Time_dif() {return time_dif;} private long time_dif; + public long Time_end() {return time_end;} private long time_end; public String Src_url() {return src_url;} private String src_url; public String Src_name() {return src_name;} private String src_name; - public long Src_len() {return src_len;} long src_len; - public long Prog_done() {return prog_done;} long prog_done; - public long Prog_rate() {return prog_rate;} long prog_rate; - public long Prog_left() {return prog_left;} long prog_left; - public long Prog_pct() {return prog_pct;} long prog_pct; + public long Src_len() {return src_len;} private long src_len; + public long Prog_done() {return prog_done;} private long prog_done; + public long Prog_rate() {return prog_rate;} private long prog_rate; + public long Prog_left() {return prog_left;} private long prog_left; + public long Prog_pct() {return prog_pct;} private long prog_pct; public String Prog_msg_hdr() {return prog_msg_hdr;} private String prog_msg_hdr; - public int Prog_num_units() {return prog_num_units;} int prog_num_units = Io_mgr.Len_kb; + public int Prog_num_units() {return prog_num_units;} private int prog_num_units = Io_mgr.Len_kb; public String Prog_num_fmt() {return prog_num_fmt;} private String prog_num_fmt = "#,##0"; public String Prog_msg() {return prog_msg;} private String prog_msg; - Io_size_fmtr_arg size_fmtr_arg = new Io_size_fmtr_arg(), rate_fmtr_arg = new Io_size_fmtr_arg().Suffix_(Bry_.new_ascii_("ps")); - Bry_fmtr_arg_time prog_left_fmtr_arg = new Bry_fmtr_arg_time(); Bry_fmtr_arg_decimal_int prog_pct_fmtr_arg = new Bry_fmtr_arg_decimal_int().Places_(2); + public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} private Gfo_usr_dlg usr_dlg; public void Ctor(Gfo_usr_dlg usr_dlg) { this.usr_dlg = usr_dlg; - } Gfo_usr_dlg usr_dlg; - public void Init(String src_url, String prog_msg_hdr) { + } + public void Download_init(String src_url, String prog_msg_hdr) { this.src_url = src_url; this.src_name = String_.Extract_after_bwd(src_url, "/"); this.prog_msg_hdr = prog_msg_hdr; @@ -53,13 +61,7 @@ public class Io_download_fmt { prog_left = 0; time_bgn = time_prv = Env_.TickCount(); time_checkpoint = 0; - size_checkpoint = size_checkpoint_interval; } - long time_checkpoint_interval = 250; - long time_checkpoint = 0; - long time_prv = 0; - long size_checkpoint = 0; - long size_checkpoint_interval = 32 * Io_mgr.Len_kb; public void Prog(int prog_read) { time_now = Env_.TickCount(); time_dif = time_now - time_bgn; if (time_dif == 0) time_dif = 1; // avoid div by zero error below @@ -79,8 +81,8 @@ public class Io_download_fmt { ); 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 + usr_dlg.Prog_none("", "prog", prog_msg); + } public void Term() { time_end = Env_.TickCount(); // prog_rate = (prog_done * 1000) / (time_dif); @@ -88,5 +90,5 @@ public class Io_download_fmt { // prog_left = (1000 * (src_len - prog_done)) / prog_rate; // if (usr_dlg != null) usr_dlg.Prog_none(GRP_KEY, "clear", ""); } - static final String GRP_KEY = "gplx.download"; + public static final Io_download_fmt Null = null; } diff --git a/100_core/src_200_io/gplx/ios/Io_download_fmt_tst.java b/100_core/src_200_io/gplx/ios/Io_download_fmt_tst.java index 5de89cc32..dff9305ce 100644 --- a/100_core/src_200_io/gplx/ios/Io_download_fmt_tst.java +++ b/100_core/src_200_io/gplx/ios/Io_download_fmt_tst.java @@ -66,7 +66,7 @@ class Io_download_fmt_fxt { return this; } public Io_download_fmt_fxt Ini(String prog_msg_hdr, String src_url, int src_len) { - fmt.Init(src_url, prog_msg_hdr); + fmt.Download_init(src_url, prog_msg_hdr); fmt.Bgn(src_len); return this; } diff --git a/100_core/src_200_io/gplx/ios/Io_fil.java b/100_core/src_200_io/gplx/ios/Io_fil.java index 72315af65..b921d5a74 100644 --- a/100_core/src_200_io/gplx/ios/Io_fil.java +++ b/100_core/src_200_io/gplx/ios/Io_fil.java @@ -28,7 +28,7 @@ public class Io_fil implements gplx.CompareAble { Io_fil[] rv = new Io_fil[url_ary_len]; for (int i = 0; i < url_ary_len; i++) { Io_url url = url_ary[i]; - String data = Io_mgr._.LoadFilStr(url); + String data = Io_mgr.I.LoadFilStr(url); Io_fil fil = new Io_fil(url, data); rv[i] = fil; } diff --git a/100_core/src_200_io/gplx/ios/Io_fil_mkr.java b/100_core/src_200_io/gplx/ios/Io_fil_mkr.java index b1daf5b2f..09f38a499 100644 --- a/100_core/src_200_io/gplx/ios/Io_fil_mkr.java +++ b/100_core/src_200_io/gplx/ios/Io_fil_mkr.java @@ -17,8 +17,8 @@ along with this program. If not, see . */ package gplx.ios; import gplx.*; public class Io_fil_mkr { - private final ListAdp list = ListAdp_.new_(); + private final List_adp list = List_adp_.new_(); public Io_fil_mkr Add(String url, String data) {return Add(Io_url_.mem_fil_(url), data);} public Io_fil_mkr Add(Io_url url, String data) {list.Add(new Io_fil(url, data)); return this;} - public Io_fil[] To_ary() {return (Io_fil[])list.Xto_ary(Io_fil.class);} + public Io_fil[] To_ary() {return (Io_fil[])list.To_ary(Io_fil.class);} } diff --git a/100_core/src_200_io/gplx/ios/Io_size_.java b/100_core/src_200_io/gplx/ios/Io_size_.java index e3a94059f..4106f900a 100644 --- a/100_core/src_200_io/gplx/ios/Io_size_.java +++ b/100_core/src_200_io/gplx/ios/Io_size_.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.ios; import gplx.*; public class Io_size_ { - public static String Xto_str(long val) { + public static String To_str(long val) { long cur = val; int pow = 0; while (cur >= 1024) { cur /= 1024; @@ -26,9 +26,9 @@ public class Io_size_ { long div = (long)Math_.Pow((long)1024, (long)pow); DecimalAdp valDecimal = DecimalAdp_.divide_(val, div); String[] unit = Io_size_.Units[pow]; - return valDecimal.Xto_str("#,###.000") + " " + String_.PadBgn(unit[0], 2, " "); + return valDecimal.Xto_str("#,##0.000") + " " + String_.PadBgn(unit[0], 2, " "); } - public static String Xto_str(long val, int exp_1024, String val_fmt, String unit_pad, boolean round_0_to_1) { + public static String To_str(long val, int exp_1024, String val_fmt, String unit_pad, boolean round_0_to_1) { long exp_val = (long)Math_.Pow(1024, exp_1024); DecimalAdp val_as_decimal = DecimalAdp_.divide_(val, exp_val); if (round_0_to_1 && val_as_decimal.Comp_lt(1)) val_as_decimal = DecimalAdp_.One; @@ -77,13 +77,13 @@ public class Io_size_ { , String_.Ary("EB", "EXABYTE") }; public static final byte[][] Units_bry = new byte[][] - { Bry_.new_ascii_("B") - , Bry_.new_ascii_("KB") - , Bry_.new_ascii_("MB") - , Bry_.new_ascii_("GB") - , Bry_.new_ascii_("TB") - , Bry_.new_ascii_("PB") - , Bry_.new_ascii_("EB") + { Bry_.new_a7("B") + , Bry_.new_a7("KB") + , Bry_.new_a7("MB") + , Bry_.new_a7("GB") + , Bry_.new_a7("TB") + , Bry_.new_a7("PB") + , Bry_.new_a7("EB") }; public static int Load_int_(GfoMsg m) {return (int)Load_long_(m);} public static long Load_long_(GfoMsg m) { @@ -92,8 +92,11 @@ public class Io_size_ { return rv; } public static String To_str_mb(long v) {return Long_.Xto_str(v / Io_mgr.Len_mb_long);} - public static long To_long_by_msg_mb(GfoMsg m) {return m.ReadLong("v") * Io_mgr.Len_mb_long;} public static long To_long_by_int_mb(int v) {return (long)v * Io_mgr.Len_mb_long;} + public static long To_long_by_msg_mb(GfoMsg m, long cur) { + long val = m.ReadLongOr("v", Int_.MinValue); + return val == Int_.MinValue ? cur : (val * Io_mgr.Len_mb_long); + } } class Io_size_fmtr_arg implements Bry_fmtr_arg { public long Val() {return val;} public Io_size_fmtr_arg Val_(long v) {val = v; return this;} long val; diff --git a/100_core/src_200_io/gplx/ios/Io_size__tst.java b/100_core/src_200_io/gplx/ios/Io_size__tst.java index 6a32d8d90..46c64fdd6 100644 --- a/100_core/src_200_io/gplx/ios/Io_size__tst.java +++ b/100_core/src_200_io/gplx/ios/Io_size__tst.java @@ -64,6 +64,6 @@ class Io_size__fxt { if (val != Long_.MinValue) Tfds.Fail("expd parse failure; raw=" + raw); } public void Test_Equals(String lhs, String rhs) {Tfds.Eq(Io_size_.parse_or_(lhs, Long_.MinValue), Io_size_.parse_or_(rhs, Long_.MinValue));} - public void Test_XtoStr(long val, String expd) {Tfds.Eq(expd, Io_size_.Xto_str(val));} - public void Test_Xto_str(long val, int exp_1024, String val_fmt, String unit_pad, boolean round_0_to_1, String expd) {Tfds.Eq(expd, Io_size_.Xto_str(val, exp_1024, val_fmt, unit_pad, round_0_to_1));} + public void Test_XtoStr(long val, String expd) {Tfds.Eq(expd, Io_size_.To_str(val));} + public void Test_Xto_str(long val, int exp_1024, String val_fmt, String unit_pad, boolean round_0_to_1, String expd) {Tfds.Eq(expd, Io_size_.To_str(val, exp_1024, val_fmt, unit_pad, round_0_to_1));} } 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 46884a7c9..3b5585a0a 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 @@ -18,6 +18,7 @@ along with this program. If not, see . package gplx.ios; import gplx.*; public interface Io_stream_rdr extends RlsAble { byte Tid(); + boolean Exists(); Io_url Url(); Io_stream_rdr Url_(Io_url v); long Len(); Io_stream_rdr Len_(long v); Io_stream_rdr Open(); 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 ce28d9d14..f669735a3 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 @@ -47,7 +47,7 @@ public class Io_stream_rdr_ { } finally {rdr.Rls();} } - public static String Load_all_as_str(Io_stream_rdr rdr) {return String_.new_utf8_(Load_all_as_bry(rdr));} + public static String Load_all_as_str(Io_stream_rdr rdr) {return String_.new_u8(Load_all_as_bry(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); @@ -63,8 +63,8 @@ public class Io_stream_rdr_ { } } finally {rdr.Rls();} } - public static final Io_stream_rdr Null = new Io_stream_rdr_null(); - public static Io_stream_rdr mem_(String v) {return mem_(Bry_.new_utf8_(v));} + public static final Io_stream_rdr Null = new Io_stream_rdr_noop(); + public static Io_stream_rdr mem_(String v) {return mem_(Bry_.new_u8(v));} public static Io_stream_rdr mem_(byte[] v) { Io_stream_rdr rv = new Io_stream_rdr_adp(Stream_new_mem(v)); rv.Len_(v.length); @@ -109,10 +109,11 @@ public class Io_stream_rdr_ { public static final int Read_done = -1; public static final int Read_done_compare = 1; } -class Io_stream_rdr_null implements Io_stream_rdr { +class Io_stream_rdr_noop implements Io_stream_rdr { public Object Under() {return null;} public byte Tid() {return Io_stream_.Tid_null;} - public Io_url Url() {return Io_url_.Null;} public Io_stream_rdr Url_(Io_url v) {return this;} + public boolean Exists() {return false;} + public Io_url Url() {return Io_url_.Empty;} public Io_stream_rdr Url_(Io_url v) {return this;} public long Len() {return Io_mgr.Len_null;} public Io_stream_rdr Len_(long v) {return this;} public void Open_mem(byte[] v) {} public Io_stream_rdr Open() {return this;} @@ -125,6 +126,7 @@ class Io_stream_rdr_adp implements Io_stream_rdr { public Io_stream_rdr_adp(java.io.InputStream strm) {this.strm = strm;} public Object Under() {return strm;} public byte Tid() {return Io_stream_.Tid_raw;} + public boolean Exists() {return len > 0;} public Io_url Url() {return url;} public Io_stream_rdr Url_(Io_url v) {this.url = v; return this;} private Io_url url; public long Len() {return len;} public Io_stream_rdr Len_(long v) {len = v; return this;} private long len = Io_mgr.Len_null; public void Open_mem(byte[] v) {} @@ -144,6 +146,7 @@ class Io_stream_rdr_adp implements Io_stream_rdr { } abstract class Io_stream_rdr_base implements Io_stream_rdr { public abstract byte Tid(); + public boolean Exists() {return this.Len() > 0;} public Object Under() {return stream;} public Io_stream_rdr Under_(java.io.InputStream v) {this.stream = v; return this;} protected java.io.InputStream stream; public Io_url Url() {return url;} public Io_stream_rdr Url_(Io_url v) {this.url = v; return this;} protected Io_url url; public long Len() {return len;} public Io_stream_rdr Len_(long v) {len = v; return this;} private long len = Io_mgr.Len_null; @@ -175,11 +178,11 @@ class Io_stream_rdr_file extends Io_stream_rdr_base { @Override public byte Tid() {return Io_stream_.Tid_raw;} public Io_stream_rdr Open() { try { - if (!Io_mgr._.Exists(url)) + if (!Io_mgr.I.Exists(url)) stream = Wrap_stream(new java.io.ByteArrayInputStream(Bry_.Empty)); else { if (url.Info().EngineKey() == gplx.ios.IoEngine_.MemKey) - stream = Wrap_stream(new java.io.ByteArrayInputStream(Io_mgr._.LoadFilBry(url.Xto_api()))); + stream = Wrap_stream(new java.io.ByteArrayInputStream(Io_mgr.I.LoadFilBry(url.Xto_api()))); else stream = Wrap_stream(new java.io.FileInputStream(url.Xto_api())); } @@ -191,6 +194,7 @@ class Io_stream_rdr_file extends Io_stream_rdr_base { } class Io_stream_rdr_zip implements Io_stream_rdr { @Override public byte Tid() {return Io_stream_.Tid_zip;} + public boolean Exists() {return this.Len() > 0;} public Io_url Url() {return url;} public Io_stream_rdr Url_(Io_url v) {this.url = v; return this;} Io_url url; public long Len() {return len;} public Io_stream_rdr Len_(long v) {len = v; return this;} private long len = Io_mgr.Len_null; public Object Under() {return zip_stream;} private java.util.zip.ZipInputStream zip_stream; diff --git a/100_core/src_200_io/gplx/ios/Io_stream_rdr_tst.java b/100_core/src_200_io/gplx/ios/Io_stream_rdr_tst.java index a34d6c25e..4d0db151f 100644 --- a/100_core/src_200_io/gplx/ios/Io_stream_rdr_tst.java +++ b/100_core/src_200_io/gplx/ios/Io_stream_rdr_tst.java @@ -38,7 +38,7 @@ class Io_stream_rdr_fxt { } public Io_stream_rdr_fxt Expd_bytes_read(int v) {expd_bytes_read = v; return this;} private int expd_bytes_read = Int_.MinValue; public Io_stream_rdr_fxt Init_stream(String v) { - byte[] stream_bry = Bry_.new_ascii_(v); + byte[] stream_bry = Bry_.new_a7(v); stream_bry_len = stream_bry.length; stream = Io_stream_rdr_.Stream_new_mem(stream_bry); return this; @@ -47,7 +47,7 @@ class Io_stream_rdr_fxt { byte[] bfr = new byte[stream_bry_len]; // allocate whole stream; may not use it all int actl_bytes_read = Io_stream_rdr_.Stream_read_by_parts(stream, 8, bfr, bgn, len); Tfds.Eq(expd_bytes_read, actl_bytes_read, "bytes_read"); - Tfds.Eq(expd_str, String_.new_utf8_(bfr, bgn, bgn + actl_bytes_read), "str"); + Tfds.Eq(expd_str, String_.new_u8(bfr, bgn, bgn + actl_bytes_read), "str"); return this; } public void Rls() { 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 c4c432487..3b89f1cb2 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 @@ -21,7 +21,7 @@ public interface Io_stream_wtr extends RlsAble { Io_url Url(); Io_stream_wtr Url_(Io_url v); void Trg_bfr_(Bry_bfr v); Io_stream_wtr Open(); - byte[] Xto_ary_and_clear(); + byte[] To_ary_and_clear(); void Write(byte[] bry, int bgn, int len); void Flush(); 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 143b234b6..ffaef3d31 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 @@ -29,7 +29,7 @@ public class Io_stream_wtr_ { else return gplx.ios.Io_stream_wtr_.file_(url); } public static Io_stream_wtr new_by_mem(Bry_bfr bfr, byte tid) { - Io_stream_wtr wtr = new_by_tid_(tid).Url_(Io_url_.Null); + Io_stream_wtr wtr = new_by_tid_(tid).Url_(Io_url_.Empty); wtr.Trg_bfr_(bfr); return wtr; } @@ -51,17 +51,23 @@ public class Io_stream_wtr_ { } finally {wtr.Rls();} } - public static void Save_rdr(Io_url url, Io_stream_rdr rdr) { + public static void Save_rdr(Io_url url, Io_stream_rdr rdr, Io_download_fmt download_progress) { byte[] bry = new byte[4096]; Io_stream_wtr wtr = new_by_url_(url); try { wtr.Open(); + if (download_progress != Io_download_fmt.Null) + download_progress.Bgn(rdr.Len()); while (true) { int read = rdr.Read(bry, 0, 4096); if (read < gplx.ios.Io_stream_rdr_.Read_done_compare) break; + if (download_progress != Io_download_fmt.Null) + download_progress.Prog(read); wtr.Write(bry, 0, read); } wtr.Flush(); + if (download_progress != Io_download_fmt.Null) + download_progress.Term(); } finally {wtr.Rls(); rdr.Rls();} } @@ -70,11 +76,11 @@ 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.Xto_bry_and_clear();} - public Io_stream_wtr Open() { + public byte[] To_ary_and_clear() {return trg_bfr.Xto_bry_and_clear();} + @SuppressWarnings("resource") public Io_stream_wtr Open() { java.io.OutputStream bry_stream = null; if (trg_bfr == null) { - if (!Io_mgr._.ExistsFil(url)) Io_mgr._.SaveFilStr(url, ""); + if (!Io_mgr.I.ExistsFil(url)) Io_mgr.I.SaveFilStr(url, ""); try {bry_stream = new java.io.FileOutputStream(url.Raw());} catch (Exception exc) {throw Err_.new_fmt_("open failed: url={0}", url.Raw());} } @@ -122,13 +128,13 @@ class Io_stream_wtr_gzip extends Io_stream_wtr_base { class Io_stream_wtr_zip implements Io_stream_wtr { private java.util.zip.ZipOutputStream zip_stream; @Override public byte Tid() {return Io_stream_.Tid_zip;} - public Io_url Url() {return url;} public Io_stream_wtr Url_(Io_url v) {url = v; trg_bfr = null; return this;} private Io_url url = Io_url_.Null; + public Io_url Url() {return url;} public Io_stream_wtr Url_(Io_url v) {url = v; trg_bfr = null; return this;} private Io_url url = Io_url_.Empty; public void Trg_bfr_(Bry_bfr v) {trg_bfr = v;} private Bry_bfr trg_bfr; private java.io.ByteArrayOutputStream mem_stream; @SuppressWarnings("resource") // rely on zip_stream to close bry_stream public Io_stream_wtr Open() { java.io.OutputStream bry_stream; if (trg_bfr == null) { - if (!Io_mgr._.ExistsFil(url)) Io_mgr._.SaveFilStr(url, ""); // create file if it doesn't exist + if (!Io_mgr.I.ExistsFil(url)) Io_mgr.I.SaveFilStr(url, ""); // create file if it doesn't exist try {bry_stream = new java.io.FileOutputStream(url.Xto_api());} catch (Exception exc) {throw Err_.new_fmt_("open failed: url={0}", url.Raw());} } @@ -163,7 +169,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() { + public byte[] To_ary_and_clear() { byte[] rv = trg_bfr.Xto_bry_and_clear(); this.Rls(); return rv; @@ -177,7 +183,7 @@ class Io_stream_wtr_file implements Io_stream_wtr { public Io_stream_wtr Open() { try { if (trg_bfr == null) - bry_stream = Io_mgr._.OpenStreamWrite(url); + bry_stream = Io_mgr.I.OpenStreamWrite(url); } catch (Exception exc) {throw Err_.new_fmt_("open failed: url={0}", url.Raw());} return this; @@ -190,8 +196,8 @@ class Io_stream_wtr_file implements Io_stream_wtr { else trg_bfr.Add_mid(bry, bgn, bgn + len); } - public byte[] Xto_ary_and_clear() { - return trg_bfr == null ? Io_mgr._.LoadFilBry(url) : trg_bfr.Xto_bry_and_clear(); + public byte[] To_ary_and_clear() { + return trg_bfr == null ? Io_mgr.I.LoadFilBry(url) : trg_bfr.Xto_bry_and_clear(); } public void Flush() { if (trg_bfr == null) diff --git a/100_core/src_210_env/gplx/Env_.java b/100_core/src_210_env/gplx/Env_.java index a7641147e..381a3b2e8 100644 --- a/100_core/src_210_env/gplx/Env_.java +++ b/100_core/src_210_env/gplx/Env_.java @@ -39,9 +39,9 @@ public class Env_ { public static String[] AppArgs() {return appArgs;} static String[] appArgs; public static Io_url AppUrl() { if (mode_testing) return Io_url_.mem_fil_("mem/testing.jar"); - if (appUrl == Io_url_.Null) throw Err_.new_("Env_.Init was not called"); + if (appUrl == Io_url_.Empty) throw Err_.new_("Env_.Init was not called"); return appUrl; - } static Io_url appUrl = Io_url_.Null; + } static Io_url appUrl = Io_url_.Empty; public static void Exit() {Exit_code(0);} public static void Exit_code(int code) {System.exit(code);} public static String UserName() {return System.getProperty("user.name");} diff --git a/100_core/src_210_env/gplx/JarAdp_.java b/100_core/src_210_env/gplx/JarAdp_.java index 1c2134215..18108e8d0 100644 --- a/100_core/src_210_env/gplx/JarAdp_.java +++ b/100_core/src_210_env/gplx/JarAdp_.java @@ -19,7 +19,7 @@ package gplx; public class JarAdp_ { public static DateAdp ModifiedTime_type(Class type) {if (type == null) throw Err_.null_("type"); Io_url url = Url_type(type); - return Io_mgr._.QueryFil(url).ModifiedTime(); + return Io_mgr.I.QueryFil(url).ModifiedTime(); } public static Io_url Url_type(Class type) {if (type == null) throw Err_.null_("type"); String codeBase = type.getProtectionDomain().getCodeSource().getLocation().getPath(); diff --git a/100_core/src_210_env/gplx/Op_sys.java b/100_core/src_210_env/gplx/Op_sys.java index 1c2bf9122..73061aa98 100644 --- a/100_core/src_210_env/gplx/Op_sys.java +++ b/100_core/src_210_env/gplx/Op_sys.java @@ -17,17 +17,18 @@ along with this program. If not, see . */ package gplx; public class Op_sys { - Op_sys(byte tid, byte sub_tid, String os_name, byte bitness, String nl_str, byte fsys_dir_spr_byte, boolean fsys_case_match, byte[] fsys_invalid_chars) {this.tid = tid; this.sub_tid = sub_tid; this.os_name = os_name; this.bitness = bitness; this.nl_str = nl_str; this.fsys_dir_spr_byte = fsys_dir_spr_byte; this.fsys_dir_spr_str = Char_.XtoStr((char)fsys_dir_spr_byte); this.fsys_case_match = fsys_case_match; this.fsys_invalid_chars = fsys_invalid_chars;} - public byte Tid() {return tid;} final byte tid; - public byte Sub_tid() {return sub_tid;} final byte sub_tid; + Op_sys(byte tid, byte sub_tid, String os_name, byte bitness, String nl_str, byte fsys_dir_spr_byte, boolean fsys_case_match) { + this.tid = tid; this.sub_tid = sub_tid; this.os_name = os_name; this.bitness = bitness; this.nl_str = nl_str; this.fsys_dir_spr_byte = fsys_dir_spr_byte; this.fsys_dir_spr_str = Char_.XtoStr((char)fsys_dir_spr_byte); this.fsys_case_match = fsys_case_match; + } + public byte Tid() {return tid;} private final byte tid; + public byte Sub_tid() {return sub_tid;} private final byte sub_tid; public String Os_name() {return os_name;} private String os_name; - public byte Bitness() {return bitness;} final byte bitness; - public String Nl_str() {return nl_str;} final String nl_str; - public String Fsys_dir_spr_str() {return fsys_dir_spr_str;} final String fsys_dir_spr_str; - public byte Fsys_dir_spr_byte() {return fsys_dir_spr_byte;} final byte fsys_dir_spr_byte; + public byte Bitness() {return bitness;} private final byte bitness; + public String Nl_str() {return nl_str;} private final String nl_str; + public String Fsys_dir_spr_str() {return fsys_dir_spr_str;} private final String fsys_dir_spr_str; + public byte Fsys_dir_spr_byte() {return fsys_dir_spr_byte;} private final byte fsys_dir_spr_byte; public String Fsys_http_frag_to_url_str(String raw) {return fsys_dir_spr_byte == Byte_ascii.Slash ? raw : String_.Replace(raw, Lnx.Fsys_dir_spr_str(), fsys_dir_spr_str);} - public boolean Fsys_case_match() {return fsys_case_match;} final boolean fsys_case_match; - public byte[] Fsys_invalid_chars() {return fsys_invalid_chars;} final byte[] fsys_invalid_chars; + public boolean Fsys_case_match() {return fsys_case_match;} private final boolean fsys_case_match; public String Fsys_case_match_str(String s) {return String_.CaseNormalize(fsys_case_match, s);} public boolean Tid_is_wnt() {return tid == Tid_wnt;} public boolean Tid_is_lnx() {return tid == Tid_lnx;} @@ -39,7 +40,6 @@ public class Op_sys { public static final byte Sub_tid_unknown = 0, Sub_tid_win_xp = 1, Sub_tid_win_7 = 2, Sub_tid_win_8 = 3; public static final byte Bitness_32 = 1, Bitness_64 = 2; public static final char Dir_spr_char_lnx = '\n'; - public static final Op_sys Lnx = new_unx_flavor_(Tid_lnx, "linux", Bitness_32); public static final Op_sys Osx = new_unx_flavor_(Tid_osx, "macosx", Bitness_32); public static final Op_sys Drd = new_unx_flavor_(Tid_drd, "windows", Bitness_32); @@ -51,8 +51,8 @@ public class Op_sys { public static String Fsys_path_to_wnt(String v) { return cur_op_sys.Tid_is_wnt() ? String_.Replace(v, Lnx.fsys_dir_spr_str, Wnt.fsys_dir_spr_str) : v; } - private static Op_sys new_wnt_(byte bitness, byte sub_tid) {return new Op_sys(Tid_wnt , sub_tid , "windows", bitness, "\r\n", Byte_ascii.Backslash , Bool_.N, new byte[] {Byte_ascii.Slash, Byte_ascii.Backslash, Byte_ascii.Lt, Byte_ascii.Gt, Byte_ascii.Colon, Byte_ascii.Pipe, Byte_ascii.Question, Byte_ascii.Asterisk, Byte_ascii.Quote});} - private static Op_sys new_unx_flavor_(byte tid, String os_name, byte bitness) {return new Op_sys(tid , Sub_tid_unknown , os_name , bitness, "\n" , Byte_ascii.Slash , Bool_.Y, new byte[] {Byte_ascii.Slash});} + private static Op_sys new_wnt_(byte bitness, byte sub_tid) {return new Op_sys(Tid_wnt , sub_tid , "windows", bitness, "\r\n", Byte_ascii.Backslash , Bool_.N);} + private static Op_sys new_unx_flavor_(byte tid, String os_name, byte bitness) {return new Op_sys(tid , Sub_tid_unknown , os_name , bitness, "\n" , Byte_ascii.Slash , Bool_.Y);} static final String GRP_KEY = "gplx.op_sys"; // public static Op_sys Cur_() {cur_op_sys = new_auto_identify_(); return cur_op_sys;} static Op_sys new_auto_identify_() { diff --git a/100_core/src_210_env/gplx/Op_sys_.java b/100_core/src_210_env/gplx/Op_sys_.java new file mode 100644 index 000000000..fa6bef43f --- /dev/null +++ b/100_core/src_210_env/gplx/Op_sys_.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; +public class Op_sys_ { + public static boolean Wnt_invalid_char(byte b) { + switch (b) { + case Byte_ascii.Slash: + case Byte_ascii.Backslash: + case Byte_ascii.Lt: + case Byte_ascii.Gt: + case Byte_ascii.Colon: + case Byte_ascii.Pipe: + case Byte_ascii.Question: + case Byte_ascii.Asterisk: + case Byte_ascii.Quote: return true; + default: return false; + } + } +} diff --git a/100_core/src_210_env/gplx/ProcessAdp.java b/100_core/src_210_env/gplx/ProcessAdp.java index e017219d4..88719a5e0 100644 --- a/100_core/src_210_env/gplx/ProcessAdp.java +++ b/100_core/src_210_env/gplx/ProcessAdp.java @@ -44,14 +44,14 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { public int Thread_interval() {return thread_interval;} public ProcessAdp Thread_interval_(int v) {thread_interval = v; return this;} int thread_interval = 20; public String Thread_kill_name() {return thread_kill_name;} public ProcessAdp Thread_kill_name_(String v) {thread_kill_name = v; return this;} private String thread_kill_name = ""; public Io_url Tmp_dir() {return tmp_dir;} @gplx.Virtual public ProcessAdp Tmp_dir_(Io_url v) {tmp_dir = v; return this;} Io_url tmp_dir; - private ProcessAdp WhenBgn_run() {return Invk_cmds(whenBgnList);} ListAdp whenBgnList = ListAdp_.new_(); + private ProcessAdp WhenBgn_run() {return Invk_cmds(whenBgnList);} List_adp whenBgnList = List_adp_.new_(); public ProcessAdp WhenEnd_add(GfoInvkAbleCmd cmd) {whenEndList.Add(cmd); return this;} public ProcessAdp WhenEnd_del(GfoInvkAbleCmd cmd) {whenEndList.Del(cmd); return this;} public Gfo_usr_dlg Prog_dlg() {return prog_dlg;} public ProcessAdp Prog_dlg_(Gfo_usr_dlg v) {prog_dlg = v; return this;} Gfo_usr_dlg prog_dlg; public String Prog_fmt() {return prog_fmt;} public ProcessAdp Prog_fmt_(String v) {prog_fmt = v; return this;} private String prog_fmt = ""; // NOTE: set to "", else cmds that do not set prog_fmt will fail on fmtr.Fmt(null) private GfoInvkAble owner; - private ProcessAdp WhenEnd_run() {return Invk_cmds(whenEndList);} ListAdp whenEndList = ListAdp_.new_(); - private ProcessAdp Invk_cmds(ListAdp list) { + private ProcessAdp WhenEnd_run() {return Invk_cmds(whenEndList);} List_adp whenEndList = List_adp_.new_(); + private ProcessAdp Invk_cmds(List_adp list) { for (Object o : list) ((GfoInvkAbleCmd)o).Invk(); return this; @@ -81,7 +81,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { else if (ctx.Match(k, Invk_enabled_)) enabled = m.ReadBool("v"); else if (ctx.Match(k, Invk_cmd)) return exe_url.Raw(); else if (ctx.Match(k, Invk_cmd_)) this.Exe_url_(Bry_fmtr_eval_mgr_.Eval_url(cmd_url_eval, m.ReadBry("cmd"))); - else if (ctx.Match(k, Invk_args)) return String_.new_utf8_(args_fmtr.Fmt()); + else if (ctx.Match(k, Invk_args)) return String_.new_u8(args_fmtr.Fmt()); else if (ctx.Match(k, Invk_args_)) args_fmtr.Fmt_(m.ReadBry("v")); else if (ctx.Match(k, Invk_cmd_args_)) {this.Exe_url_(Bry_fmtr_eval_mgr_.Eval_url(cmd_url_eval, m.ReadBry("cmd"))); args_fmtr.Fmt_(m.ReadBry("args"));} else if (ctx.Match(k, Invk_mode_)) run_mode = m.ReadByte("v"); @@ -96,7 +96,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { public static ProcessAdp ini_(GfoInvkAble owner, Gfo_usr_dlg usr_dlg, ProcessAdp process, Bry_fmtr_eval_mgr cmd_url_eval, byte run_mode, int timeout, String cmd_url_fmt, String args_fmt, String... args_keys) { process.Run_mode_(run_mode).Thread_timeout_seconds_(timeout); process.cmd_url_eval = cmd_url_eval; - Io_url cmd_url = Bry_fmtr_eval_mgr_.Eval_url(cmd_url_eval, Bry_.new_utf8_(cmd_url_fmt)); + Io_url cmd_url = Bry_fmtr_eval_mgr_.Eval_url(cmd_url_eval, Bry_.new_u8(cmd_url_fmt)); process.Exe_url_(cmd_url).Tmp_dir_(cmd_url.OwnerDir()); process.Args_fmtr().Fmt_(args_fmt).Keys_(args_keys); process.owner = owner; @@ -256,7 +256,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { process.Process_run_and_end(); return; } - public static final ListAdp Test_runs = ListAdp_.new_(); + public static final List_adp Test_runs = List_adp_.new_(); private ProcessAdp Test_runs_add() {Test_runs.Add(exe_url.Raw() + " " + args_str); exit_code = Exit_pass; return this;} public static int run_wait_arg_(Io_url url, String arg) { ProcessAdp process = new ProcessAdp(); @@ -266,7 +266,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { private static final String GRP_KEY = "gplx.process"; public static final int Exit_pass = 0, Exit_init = -1; public static String[] Xto_process_bldr_args_utl(Io_url exe_url, String args_str) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); list.Add(exe_url.Xto_api()); String_bldr sb = String_bldr_.new_(); int len = String_.Len(args_str); @@ -283,7 +283,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { sb.Add(c); } if (sb.Has_some()) list.Add(sb.XtoStr()); - return list.XtoStrAry(); + return list.To_str_ary(); } } class Thread_ProcessAdp_async extends Thread { diff --git a/100_core/src_220_console/gplx/ConsoleAdp.java b/100_core/src_220_console/gplx/ConsoleAdp.java index 4b8b0a912..b7fa28856 100644 --- a/100_core/src_220_console/gplx/ConsoleAdp.java +++ b/100_core/src_220_console/gplx/ConsoleAdp.java @@ -40,7 +40,7 @@ public class ConsoleAdp implements GfoInvkAble, ConsoleDlg { void ClearTempText() { if (tempText == null) return; if (Env_.Mode_debug()) {WriteText_lang(String_.CrLf); return;} - int count = backspace_by_bytes ? Bry_.new_utf8_(tempText).length : String_.Len(tempText); + int count = backspace_by_bytes ? Bry_.new_u8(tempText).length : String_.Len(tempText); String moveBack = String_.Repeat("\b", count); this.WriteText_lang(moveBack); // move cursor back to beginning of line this.WriteText_lang(String_.Repeat(" ", count)); // overwrite tempText with space diff --git a/100_core/src_220_console/gplx/ConsoleDlg_dev.java b/100_core/src_220_console/gplx/ConsoleDlg_dev.java index 5c5405321..e06149204 100644 --- a/100_core/src_220_console/gplx/ConsoleDlg_dev.java +++ b/100_core/src_220_console/gplx/ConsoleDlg_dev.java @@ -20,7 +20,7 @@ public class ConsoleDlg_dev implements ConsoleDlg { public boolean Enabled() {return true;} public boolean CanceledChk() {return false;} public int CharsPerLineMax() {return 80;} public void CharsPerLineMax_set(int v) {} - public ConsoleDlg_dev Ignore_add(String s) {ignored.AddKeyVal(s); return this;} + public ConsoleDlg_dev Ignore_add(String s) {ignored.Add_as_key_and_val(s); return this;} public void WriteText(String s) {WriteString(s);} public void WriteLineFormat(String s, Object... args) {WriteString(String_.Format(s, args) + String_.CrLf);} public void WriteTempText(String s) {WriteString(s);} @@ -37,13 +37,13 @@ public class ConsoleDlg_dev implements ConsoleDlg { } String cancelVal; - public ListAdp Written() {return written;} + public List_adp Written() {return written;} public void tst_WrittenStr(String... expd) { String[] actl = new String[written.Count()]; int actlLength = Array_.Len(actl); for (int i = 0; i < actlLength; i++) - actl[i] = written.FetchAt(i).toString(); + actl[i] = written.Get_at(i).toString(); Tfds.Eq_ary(actl, expd); } - ListAdp written = ListAdp_.new_(), erased = ListAdp_.new_(); HashAdp ignored = HashAdp_.new_(); + List_adp written = List_adp_.new_(), erased = List_adp_.new_(); Hash_adp ignored = Hash_adp_.new_(); } diff --git a/100_core/src_300_classXtn/gplx/ClassXtnPool.java b/100_core/src_300_classXtn/gplx/ClassXtnPool.java index bd3584d4b..ef917f8c3 100644 --- a/100_core/src_300_classXtn/gplx/ClassXtnPool.java +++ b/100_core/src_300_classXtn/gplx/ClassXtnPool.java @@ -17,9 +17,9 @@ along with this program. If not, see . */ package gplx; import gplx.lists.*; -public class ClassXtnPool extends HashAdp_base { +public class ClassXtnPool extends Hash_adp_base { public void Add(ClassXtn typx) {Add_base(typx.Key(), typx);} - public ClassXtn FetchOrFail(String key) {return (ClassXtn)FetchOrFail_base(key);} + public ClassXtn Get_by_or_fail(String key) {return (ClassXtn)FetchOrFail_base(key);} public static final ClassXtnPool _ = new ClassXtnPool(); public static final String Format_null = ""; diff --git a/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java b/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java index 280d41786..f5fd36340 100644 --- a/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java +++ b/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java @@ -19,7 +19,7 @@ package gplx; public class IoUrlClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "ioPath"; @Override public Class UnderClass() {return Io_url.class;} - public Object DefaultValue() {return Io_url_.Null;} + public Object DefaultValue() {return Io_url_.Empty;} @Override public Object ParseOrNull(String raw) {return Io_url_.new_any_(raw);} @Override public Object XtoDb(Object obj) {return Io_url_.cast_(obj).Raw();} @Override public String XtoUi(Object obj, String fmt) {return Io_url_.cast_(obj).Raw();} diff --git a/100_core/src_310_gfoNde/gplx/GfoFldList.java b/100_core/src_310_gfoNde/gplx/GfoFldList.java index f38f6b6d5..09ceef0db 100644 --- a/100_core/src_310_gfoNde/gplx/GfoFldList.java +++ b/100_core/src_310_gfoNde/gplx/GfoFldList.java @@ -19,8 +19,8 @@ package gplx; public interface GfoFldList { int Count(); boolean Has(String key); - int IndexOf(String key); - GfoFld FetchAt(int i); + int Idx_of(String key); + GfoFld Get_at(int i); GfoFld FetchOrNull(String key); GfoFldList Add(String key, ClassXtn c); String XtoStr(); diff --git a/100_core/src_310_gfoNde/gplx/GfoFldList_.java b/100_core/src_310_gfoNde/gplx/GfoFldList_.java index acd260742..4c5d322cd 100644 --- a/100_core/src_310_gfoNde/gplx/GfoFldList_.java +++ b/100_core/src_310_gfoNde/gplx/GfoFldList_.java @@ -30,12 +30,12 @@ public class GfoFldList_ { class GfoFldList_base implements GfoFldList { public int Count() {return hash.Count();} public boolean Has(String key) {return hash.Has(key);} - public int IndexOf(String key) { - Object rv = idxs.Fetch(key); - return rv == null ? ListAdp_.NotFound : Int_.cast_(rv); + public int Idx_of(String key) { + Object rv = idxs.Get_by(key); + return rv == null ? List_adp_.NotFound : Int_.cast_(rv); } - public GfoFld FetchAt(int i) {return (GfoFld)hash.FetchAt(i);} - public GfoFld FetchOrNull(String key) {return (GfoFld)hash.Fetch(key);} + public GfoFld Get_at(int i) {return (GfoFld)hash.Get_at(i);} + public GfoFld FetchOrNull(String key) {return (GfoFld)hash.Get_by(key);} public GfoFldList Add(String key, ClassXtn c) { GfoFld fld = GfoFld.new_(key, c); hash.Add(key, fld); @@ -45,18 +45,18 @@ class GfoFldList_base implements GfoFldList { public String XtoStr() { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < hash.Count(); i++) { - GfoFld fld = this.FetchAt(i); + GfoFld fld = this.Get_at(i); sb.Add(fld.Key()).Add("|"); } return sb.XtoStr(); } - OrderedHash hash = OrderedHash_.new_(); HashAdp idxs = HashAdp_.new_(); // PERF: idxs used for IndexOf; need to recalc if Del ever added + Ordered_hash hash = Ordered_hash_.new_(); Hash_adp idxs = Hash_adp_.new_(); // PERF: idxs used for Idx_of; need to recalc if Del ever added } class GfoFldList_null implements GfoFldList { public int Count() {return 0;} public boolean Has(String key) {return false;} - public int IndexOf(String key) {return ListAdp_.NotFound;} - public GfoFld FetchAt(int i) {return GfoFld.Null;} + public int Idx_of(String key) {return List_adp_.NotFound;} + public GfoFld Get_at(int i) {return GfoFld.Null;} public GfoFld FetchOrNull(String key) {return null;} public GfoFldList Add(String key, ClassXtn typx) {return this;} public String XtoStr() {return "<>";} diff --git a/100_core/src_310_gfoNde/gplx/GfoNde.java b/100_core/src_310_gfoNde/gplx/GfoNde.java index c62a1f61e..82f2a9372 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNde.java +++ b/100_core/src_310_gfoNde/gplx/GfoNde.java @@ -19,7 +19,7 @@ package gplx; import gplx.core.strings.*; public class GfoNde implements GfoInvkAble { public GfoFldList Flds() {return flds;} GfoFldList flds; - public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_(); + public Hash_adp EnvVars() {return envVars;} Hash_adp envVars = Hash_adp_.new_(); public String Name() {return name;} public GfoNde Name_(String v) {name = v; return this;} private String name; public Object ReadAt(int i) {ChkIdx(i); return ary[i];} public void WriteAt(int i, Object val) {ChkIdx(i); ary[i] = val;} @@ -33,14 +33,14 @@ public class GfoNde implements GfoInvkAble { public String XtoStr() { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < aryLen; i++) { - String key = i >= flds.Count() ? "<< NULL " + i + " >>" : flds.FetchAt(i).Key(); + String key = i >= flds.Count() ? "<< NULL " + i + " >>" : flds.Get_at(i).Key(); String val = i >= aryLen ? "<< NULL " + i + " >>" : Object_.Xto_str_strict_or_null_mark(ary[i]); sb.Add(key).Add("=").Add(val); } return sb.XtoStr(); } int IndexOfOrFail(String key) { - int i = flds.IndexOf(key); + int i = flds.Idx_of(key); if ((i < 0 || i >= aryLen)) throw Err_.new_("field name not found").Add("name", key).Add("index", i).Add("count", this.Flds().Count()); return i; } @@ -55,7 +55,7 @@ public class GfoNde implements GfoInvkAble { if (nde.type == GfoNde_.Type_Leaf) { wtr.WriteLeafBgn("flds"); for (int i = 0; i < nde.ary.length; i++) - wtr.WriteData(nde.Flds().FetchAt(i).Key(), nde.ReadAt(i)); + wtr.WriteData(nde.Flds().Get_at(i).Key(), nde.ReadAt(i)); wtr.WriteLeafEnd(); } else { diff --git a/100_core/src_310_gfoNde/gplx/GfoNdeList.java b/100_core/src_310_gfoNde/gplx/GfoNdeList.java index a23f6760c..fd6b96a2e 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNdeList.java +++ b/100_core/src_310_gfoNde/gplx/GfoNdeList.java @@ -23,5 +23,5 @@ public interface GfoNdeList { void Add(GfoNde rcd); void Del(GfoNde rcd); void Clear(); - void SortBy(ComparerAble comparer); + void Sort_by(ComparerAble comparer); } diff --git a/100_core/src_310_gfoNde/gplx/GfoNdeList_.java b/100_core/src_310_gfoNde/gplx/GfoNdeList_.java index 6b73aa6b3..03bce5556 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNdeList_.java +++ b/100_core/src_310_gfoNde/gplx/GfoNdeList_.java @@ -23,12 +23,12 @@ public class GfoNdeList_ { } class GfoNdeList_base implements GfoNdeList { public int Count() {return list.Count();} - public GfoNde FetchAt_asGfoNde(int i) {return (GfoNde)list.FetchAt(i);} + public GfoNde FetchAt_asGfoNde(int i) {return (GfoNde)list.Get_at(i);} public void Add(GfoNde rcd) {list.Add(rcd);} public void Del(GfoNde rcd) {list.Del(rcd);} public void Clear() {list.Clear();} - public void SortBy(ComparerAble comparer) {list.SortBy(comparer);} - ListAdp list = ListAdp_.new_(); + public void Sort_by(ComparerAble comparer) {list.Sort_by(comparer);} + List_adp list = List_adp_.new_(); } class GfoNdeList_null implements GfoNdeList { public int Count() {return 0;} @@ -36,5 +36,5 @@ class GfoNdeList_null implements GfoNdeList { public void Add(GfoNde rcd) {} public void Del(GfoNde rcd) {} public void Clear() {} - public void SortBy(ComparerAble comparer) {} + public void Sort_by(ComparerAble comparer) {} } diff --git a/100_core/src_310_gfoNde/gplx/GfoNde_.java b/100_core/src_310_gfoNde/gplx/GfoNde_.java index 2343686e6..3cffa7a76 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNde_.java +++ b/100_core/src_310_gfoNde/gplx/GfoNde_.java @@ -27,7 +27,7 @@ public class GfoNde_ { public static GfoNde nde_(String name, Object[] ary, GfoNde... subs) {return new GfoNde(GfoNde_.Type_Node, name, GfoFldList_.Null, ary, GfoFldList_.Null, subs);} public static GfoNde rdr_(DataRdr rdr) { try { - ListAdp rows = ListAdp_.new_(); + List_adp rows = List_adp_.new_(); GfoFldList flds = GfoFldList_.new_(); int fldLen = rdr.FieldCount(); for (int i = 0; i < fldLen; i++) @@ -38,7 +38,7 @@ public class GfoNde_ { valAry[i] = rdr.ReadAt(i); rows.Add(GfoNde_.vals_(flds, valAry)); } - return GfoNde_.tbl_("", flds, (GfoNde[])rows.Xto_ary(GfoNde.class)); + return GfoNde_.tbl_("", flds, (GfoNde[])rows.To_ary(GfoNde.class)); } finally {rdr.Rls();} } diff --git a/100_core/src_311_gfoObj/gplx/GfoEvMgr.java b/100_core/src_311_gfoObj/gplx/GfoEvMgr.java index 3a1aa7fc3..6b3be9df8 100644 --- a/100_core/src_311_gfoObj/gplx/GfoEvMgr.java +++ b/100_core/src_311_gfoObj/gplx/GfoEvMgr.java @@ -20,16 +20,16 @@ import gplx.lists.*; public class GfoEvMgr { @gplx.Internal protected void AddSub(GfoEvMgrOwner pub, String pubEvt, GfoEvObj sub, String subPrc) { GfoEvLnk lnk = new GfoEvLnk(pub, pubEvt, sub, subPrc); - if (subsRegy == null) subsRegy = OrderedHash_.new_(); + if (subsRegy == null) subsRegy = Ordered_hash_.new_(); AddInList(subsRegy, pubEvt, lnk); sub.EvMgr().AddPub(pubEvt, lnk); } @gplx.Internal protected void Lnk(GfoEvMgrOwner pub) { - if (pub.EvMgr().lnks == null) pub.EvMgr().lnks = ListAdp_.new_(); + if (pub.EvMgr().lnks == null) pub.EvMgr().lnks = List_adp_.new_(); pub.EvMgr().lnks.Add(this); - } ListAdp lnks; - void AddInList(OrderedHash regy, String key, GfoEvLnk lnk) { - GfoEvLnkList list = (GfoEvLnkList)regy.Fetch(key); + } List_adp lnks; + void AddInList(Ordered_hash regy, String key, GfoEvLnk lnk) { + GfoEvLnkList list = (GfoEvLnkList)regy.Get_by(key); if (list == null) { list = new GfoEvLnkList(key); regy.Add(key, list); @@ -37,21 +37,21 @@ public class GfoEvMgr { list.Add(lnk); } @gplx.Internal protected void AddPub(String pubEvt, GfoEvLnk lnk) { - if (pubsRegy == null) pubsRegy = OrderedHash_.new_(); + if (pubsRegy == null) pubsRegy = Ordered_hash_.new_(); AddInList(pubsRegy, pubEvt, lnk); } @gplx.Internal protected void Pub(GfsCtx ctx, String evt, GfoMsg m) { ctx.MsgSrc_(sender); - GfoEvLnkList subs = subsRegy == null ? null : (GfoEvLnkList)subsRegy.Fetch(evt); + GfoEvLnkList subs = subsRegy == null ? null : (GfoEvLnkList)subsRegy.Get_by(evt); if (subs != null) { for (int i = 0; i < subs.Count(); i++) { - GfoEvLnk lnk = (GfoEvLnk)subs.FetchAt(i); + GfoEvLnk lnk = (GfoEvLnk)subs.Get_at(i); lnk.Sub().Invk(ctx, 0, lnk.SubPrc(), m); // NOTE: itm.Key() needed for Subscribe_diff() } } if (lnks != null) { for (int i = 0; i < lnks.Count(); i++) { - GfoEvMgr lnk = (GfoEvMgr)lnks.FetchAt(i); + GfoEvMgr lnk = (GfoEvMgr)lnks.Get_at(i); lnk.Pub(ctx, evt, m); } } @@ -64,39 +64,39 @@ public class GfoEvMgr { RlsRegyObj(pubsRegy, eobj, true); RlsRegyObj(subsRegy, eobj, false); } - @gplx.Internal protected void RlsRegyObj(OrderedHash regy, GfoEvMgrOwner eobj, boolean pub) { + @gplx.Internal protected void RlsRegyObj(Ordered_hash regy, GfoEvMgrOwner eobj, boolean pub) { if (regy == null) return; - ListAdp delList = ListAdp_.new_(); + List_adp delList = List_adp_.new_(); for (int i = 0; i < regy.Count(); i++) { - GfoEvLnkList pubsList = (GfoEvLnkList)regy.FetchAt(i); + GfoEvLnkList pubsList = (GfoEvLnkList)regy.Get_at(i); delList.Clear(); for (int j = 0; j < pubsList.Count(); j++) { - GfoEvLnk lnk = (GfoEvLnk)pubsList.FetchAt(j); + GfoEvLnk lnk = (GfoEvLnk)pubsList.Get_at(j); if (lnk.End(!pub) == eobj) delList.Add(lnk); } for (int j = 0; j < delList.Count(); j++) { - GfoEvLnk del = (GfoEvLnk)delList.FetchAt(j); + GfoEvLnk del = (GfoEvLnk)delList.Get_at(j); del.End(pub).EvMgr().RlsLnk(!pub, pubsList.Key(), del.End(!pub)); pubsList.Del(del); } } } @gplx.Internal protected void RlsLnk(boolean pubEnd, String key, GfoEvMgrOwner endObj) { - OrderedHash regy = pubEnd ? pubsRegy : subsRegy; - GfoEvLnkList list = (GfoEvLnkList)regy.Fetch(key); - ListAdp delList = ListAdp_.new_(); + Ordered_hash regy = pubEnd ? pubsRegy : subsRegy; + GfoEvLnkList list = (GfoEvLnkList)regy.Get_by(key); + List_adp delList = List_adp_.new_(); for (int i = 0; i < list.Count(); i++) { - GfoEvLnk lnk = (GfoEvLnk)list.FetchAt(i); + GfoEvLnk lnk = (GfoEvLnk)list.Get_at(i); if (lnk.End(pubEnd) == endObj) delList.Add(lnk); } for (int i = 0; i < delList.Count(); i++) { - GfoEvLnk lnk = (GfoEvLnk)delList.FetchAt(i); + GfoEvLnk lnk = (GfoEvLnk)delList.Get_at(i); list.Del(lnk); } delList.Clear(); } - Object sender; OrderedHash subsRegy, pubsRegy; + Object sender; Ordered_hash subsRegy, pubsRegy; public static GfoEvMgr new_(Object sender) { GfoEvMgr rv = new GfoEvMgr(); rv.sender = sender; @@ -108,9 +108,9 @@ class GfoEvLnkList { public int Count() {return list.Count();} public void Add(GfoEvLnk lnk) {list.Add(lnk);} public void Del(GfoEvLnk lnk) {list.Del(lnk);} - public GfoEvLnk FetchAt(int i) {return (GfoEvLnk)list.FetchAt(i);} + public GfoEvLnk Get_at(int i) {return (GfoEvLnk)list.Get_at(i);} public GfoEvLnkList(String key) {this.key = key;} - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); } class GfoEvLnk { public GfoEvMgrOwner Pub() {return pub;} GfoEvMgrOwner pub; diff --git a/100_core/src_311_gfoObj/gplx/GfoEvMgr_tst.java b/100_core/src_311_gfoObj/gplx/GfoEvMgr_tst.java index f61075ba5..daa168245 100644 --- a/100_core/src_311_gfoObj/gplx/GfoEvMgr_tst.java +++ b/100_core/src_311_gfoObj/gplx/GfoEvMgr_tst.java @@ -60,9 +60,9 @@ class MockEvObj implements GfoEvObj { handled.Add(m.ReadStr("v")); return this; } - ListAdp handled = ListAdp_.new_(); + List_adp handled = List_adp_.new_(); public void tst_Handled(String... expd) { - Tfds.Eq_ary_str(expd, handled.XtoStrAry()); + Tfds.Eq_ary_str(expd, handled.To_str_ary()); handled.Clear(); } public MockEvObj(){eventMgr = GfoEvMgr.new_(this);} diff --git a/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java b/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java index 7cc3f793a..5484ea467 100644 --- a/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java +++ b/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java @@ -37,7 +37,7 @@ public class GfoInvkCmdMgr { } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m, Object host) { for (int i = 0; i < list.Count(); i++) { - GfoInvkCmdItm itm = (GfoInvkCmdItm)list.FetchAt(i); + GfoInvkCmdItm itm = (GfoInvkCmdItm)list.Get_at(i); if (itm.Type_isXtn()) { Object invkVal = itm.Invk().Invk(ctx, ikey, k, m); if (invkVal != GfoInvkAble_.Rv_unhandled) return invkVal; @@ -52,7 +52,7 @@ public class GfoInvkCmdMgr { return Unhandled; } public static final String_obj_val Unhandled = String_obj_val.new_("GfoInvkCmdMgr Unhandled"); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); public static GfoInvkCmdMgr new_() {return new GfoInvkCmdMgr();} GfoInvkCmdMgr() {} } class GfoInvkCmdItm { diff --git a/100_core/src_311_gfoObj/gplx/GfoMsg_.java b/100_core/src_311_gfoObj/gplx/GfoMsg_.java index 3be510daa..6c5600277 100644 --- a/100_core/src_311_gfoObj/gplx/GfoMsg_.java +++ b/100_core/src_311_gfoObj/gplx/GfoMsg_.java @@ -46,7 +46,7 @@ public class GfoMsg_ { } public static GfoMsg chain_(GfoMsg owner, String key) { GfoMsg sub = owner; - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); list.Add(sub.Key()); while (sub != null) { if (sub.Subs_count() == 0) break; @@ -55,10 +55,10 @@ public class GfoMsg_ { } list.Add(key); - GfoMsg root = GfoMsg_.new_parse_((String)list.FetchAt(0)); + GfoMsg root = GfoMsg_.new_parse_((String)list.Get_at(0)); GfoMsg cur = root; for (int i = 1; i < list.Count(); i++) { - String k = (String)list.FetchAt(i); + String k = (String)list.Get_at(i); GfoMsg mm = GfoMsg_.new_parse_(k); cur.Subs_add(mm); cur = mm; @@ -77,14 +77,14 @@ public class GfoMsg_ { } class GfoMsg_wtr extends GfoMsg_base { @Override protected Object ReadOr(String k, Object defaultOr) { - if (args == null) args = ListAdp_.new_(); + if (args == null) args = List_adp_.new_(); args.Add(KeyVal_.new_(k, null)); return defaultOr; } } class GfoMsg_rdr extends GfoMsg_base { @Override protected Object ReadOr(String k, Object defaultOr) { - if (args == null) args = ListAdp_.new_(); + if (args == null) args = List_adp_.new_(); args.Add(KeyVal_.new_(k, defaultOr)); return defaultOr; } @@ -92,8 +92,8 @@ class GfoMsg_rdr extends GfoMsg_base { class GfoMsg_base implements GfoMsg { public String Key() {return key;} private String key; public int Subs_count() {return subs == null ? 0 : subs.Count();} - public GfoMsg Subs_getAt(int i) {return subs == null ? null : (GfoMsg)subs.FetchAt(i);} - public GfoMsg Subs_add(GfoMsg m) {if (subs == null) subs = ListAdp_.new_(); subs.Add(m); return this;} + public GfoMsg Subs_getAt(int i) {return subs == null ? null : (GfoMsg)subs.Get_at(i);} + public GfoMsg Subs_add(GfoMsg m) {if (subs == null) subs = List_adp_.new_(); subs.Add(m); return this;} public GfoMsg Subs_(GfoMsg... ary) {for (GfoMsg m : ary) Subs_add(m); return this;} public int Args_count() {return args == null ? 0 : args.Count();} public void Args_reset() { @@ -113,11 +113,11 @@ class GfoMsg_base implements GfoMsg { sub.Args_reset(); } } - public KeyVal Args_getAt(int i) {return args == null ? null : (KeyVal)args.FetchAt(i);} + public KeyVal Args_getAt(int i) {return args == null ? null : (KeyVal)args.Get_at(i);} public GfoMsg Args_ovr(String k, Object v) { - if (args == null) args = ListAdp_.new_(); + if (args == null) args = List_adp_.new_(); for (int i = 0; i < args.Count(); i++) { - KeyVal kv = (KeyVal)args.FetchAt(i); + KeyVal kv = (KeyVal)args.Get_at(i); if (String_.Eq(k, kv.Key())) { kv.Val_(v); return this; @@ -128,7 +128,7 @@ class GfoMsg_base implements GfoMsg { } public GfoMsg Parse_(boolean v) {parse = v; return this;} public GfoMsg Add(String k, Object v) { - if (args == null) args = ListAdp_.new_(); + if (args == null) args = List_adp_.new_(); args.Add(new KeyVal(KeyVal_.Key_tid_str, k, v)); return this; } @@ -163,8 +163,8 @@ class GfoMsg_base implements GfoMsg { String rv_str = (String)rv; return (String_.Eq(rv_str, "!")) ? !cur : Yn.parse_(rv_str); } - public byte[] ReadBry(String k) {Object rv = ReadOr(k,false); if (rv == Nil) ThrowNotFound(k); return parse ? Bry_.new_utf8_((String)rv) : (byte[])rv;} - public byte[] ReadBryOr(String k, byte[] or) {Object rv = ReadOr(k, or); if (rv == Nil) return or; return parse ? Bry_.new_utf8_((String)rv) : (byte[])rv;} + public byte[] ReadBry(String k) {Object rv = ReadOr(k,false); if (rv == Nil) ThrowNotFound(k); return parse ? Bry_.new_u8((String)rv) : (byte[])rv;} + public byte[] ReadBryOr(String k, byte[] or) {Object rv = ReadOr(k, or); if (rv == Nil) return or; return parse ? Bry_.new_u8((String)rv) : (byte[])rv;} public Object CastObjOr(String k, Object or) {Object rv = ReadOr(k, or) ; if (rv == Nil) return or ; return rv;} public Object ReadObj(String k) {Object rv = ReadOr(k, null); if (rv == Nil) ThrowNotFound(k); return rv;} public Object ReadObj(String k, ParseAble parseAble) {Object rv = ReadOr(k, null); if (rv == Nil) ThrowNotFound(k); return parse ? parseAble.ParseAsObj((String)rv) : rv;} @@ -177,13 +177,13 @@ class GfoMsg_base implements GfoMsg { if (args == null) return Nil; // WORKAROUND.gfui: args null for DataBndr_whenEvt_execCmd if (!String_.Eq(k, "")) { for (int i = 0; i < args.Count(); i++) { - KeyVal kv = (KeyVal)args.FetchAt(i); + KeyVal kv = (KeyVal)args.Get_at(i); if (String_.Eq(k, kv.Key())) return kv.Val(); } } if (counter >= args.Count()) return Nil; for (int i = 0; i < args.Count(); i++) { - KeyVal kv = (KeyVal)args.FetchAt(i); + KeyVal kv = (KeyVal)args.Get_at(i); if (String_.Eq(kv.Key(), "") && i >= counter) { counter++; return kv.Val(); @@ -204,22 +204,22 @@ class GfoMsg_base implements GfoMsg { public GfoMsg CloneNew() { GfoMsg_base rv = new GfoMsg_base().ctor_(key, parse); if (args != null) { - rv.args = ListAdp_.new_(); + rv.args = List_adp_.new_(); for (int i = 0; i < args.Count(); i++) - rv.args.Add(args.FetchAt(i)); + rv.args.Add(args.Get_at(i)); } if (subs != null) { - rv.subs = ListAdp_.new_(); + rv.subs = List_adp_.new_(); for (int i = 0; i < args.Count(); i++) { - GfoMsg sub = (GfoMsg)args.FetchAt(i); + GfoMsg sub = (GfoMsg)args.Get_at(i); rv.subs.Add(sub.CloneNew()); // NOTE: recursion } } return rv; } - protected ListAdp args; - ListAdp subs; + protected List_adp args; + List_adp subs; public String XtoStr() { String_bldr sb = String_bldr_.new_(); XtoStr(sb, new XtoStrWkr_gplx(), this); diff --git a/100_core/src_311_gfoObj/gplx/GfoTemplateFactory.java b/100_core/src_311_gfoObj/gplx/GfoTemplateFactory.java index 3841966a9..d484a20c6 100644 --- a/100_core/src_311_gfoObj/gplx/GfoTemplateFactory.java +++ b/100_core/src_311_gfoObj/gplx/GfoTemplateFactory.java @@ -19,14 +19,14 @@ package gplx; public class GfoTemplateFactory implements GfoInvkAble { public void Reg(String key, GfoTemplate template) {hash.Add(key, template);} public Object Make(String key) { - GfoTemplate template = (GfoTemplate)hash.Fetch(key); + GfoTemplate template = (GfoTemplate)hash.Get_by(key); return template.NewCopy(template); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { ctx.Match(k, k); - Object o = hash.Fetch(k); + Object o = hash.Get_by(k); return o == null ? GfoInvkAble_.Rv_unhandled : o; } public static final GfoTemplateFactory _ = new GfoTemplateFactory(); GfoTemplateFactory() {} - HashAdp hash = HashAdp_.new_(); + Hash_adp hash = Hash_adp_.new_(); } diff --git a/100_core/src_330_store/gplx/DataRdr.java b/100_core/src_330_store/gplx/DataRdr.java index 8cdfe9c4a..f75377171 100644 --- a/100_core/src_330_store/gplx/DataRdr.java +++ b/100_core/src_330_store/gplx/DataRdr.java @@ -20,7 +20,7 @@ import gplx.core.strings.*; public interface DataRdr extends SrlMgr, RlsAble { String NameOfNode(); String XtoStr(); Io_url Uri(); void Uri_set(Io_url s); - HashAdp EnvVars(); + Hash_adp EnvVars(); boolean Parse(); void Parse_set(boolean v); int FieldCount(); diff --git a/100_core/src_330_store/gplx/DataRdr_.java b/100_core/src_330_store/gplx/DataRdr_.java index 31ffb508e..464209c26 100644 --- a/100_core/src_330_store/gplx/DataRdr_.java +++ b/100_core/src_330_store/gplx/DataRdr_.java @@ -25,8 +25,8 @@ public class DataRdr_ { class DataRdr_null implements DataRdr { public String NameOfNode() {return XtoStr();} public String XtoStr() {return "<< NULL READER >>";} public boolean Type_rdr() {return true;} - public HashAdp EnvVars() {return HashAdp_.Null;} - public Io_url Uri() {return Io_url_.Null;} public void Uri_set(Io_url s) {} + public Hash_adp EnvVars() {return Hash_adp_.Noop;} + public Io_url Uri() {return Io_url_.Empty;} public void Uri_set(Io_url s) {} public boolean Parse() {return parse;} public void Parse_set(boolean v) {parse = v;} private boolean parse; public int FieldCount() {return 0;} public String KeyAt(int i) {return XtoStr();} @@ -60,7 +60,7 @@ class DataRdr_null implements DataRdr { public DecimalAdp SrlDecimalOr(String key, DecimalAdp or) {return or;} public double SrlDoubleOr(String key, double or) {return or;} public Object SrlObjOr(String key, Object or) {return or;} - public void SrlList(String key, ListAdp list, SrlObj proto, String itmKey) {} + public void SrlList(String key, List_adp list, SrlObj proto, String itmKey) {} public void TypeKey_(String v) {} public void XtoStr_gfml(String_bldr sb) {sb.Add_str_w_crlf("NULL:;");} public SrlMgr SrlMgr_new(Object o) {return this;} diff --git a/100_core/src_330_store/gplx/DataWtr.java b/100_core/src_330_store/gplx/DataWtr.java index dd829febd..e99108e13 100644 --- a/100_core/src_330_store/gplx/DataWtr.java +++ b/100_core/src_330_store/gplx/DataWtr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx; public interface DataWtr extends SrlMgr { - HashAdp EnvVars(); + Hash_adp EnvVars(); void InitWtr(String key, Object val); void WriteTableBgn(String name, GfoFldList fields); diff --git a/100_core/src_330_store/gplx/DataWtr_.java b/100_core/src_330_store/gplx/DataWtr_.java index cc6e543c5..55ec0d214 100644 --- a/100_core/src_330_store/gplx/DataWtr_.java +++ b/100_core/src_330_store/gplx/DataWtr_.java @@ -22,7 +22,7 @@ public class DataWtr_ { } class DataWtr_null implements DataWtr { public boolean Type_rdr() {return false;} - public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_(); + public Hash_adp EnvVars() {return envVars;} Hash_adp envVars = Hash_adp_.new_(); public void InitWtr(String key, Object val) {} public void WriteTableBgn(String name, GfoFldList fields) {} public void WriteNodeBgn(String nodeName) {} @@ -42,7 +42,7 @@ class DataWtr_null implements DataWtr { public DecimalAdp SrlDecimalOr(String key, DecimalAdp or) {return or;} public double SrlDoubleOr(String key, double or) {return or;} public Object SrlObjOr(String key, Object or) {return or;} - public void SrlList(String key, ListAdp list, SrlObj proto, String itmKey) {} + public void SrlList(String key, List_adp list, SrlObj proto, String itmKey) {} public void TypeKey_(String v) {} public SrlMgr SrlMgr_new(Object o) {return this;} } diff --git a/100_core/src_330_store/gplx/DataWtr_base.java b/100_core/src_330_store/gplx/DataWtr_base.java index 6dbf4dd85..b707fe1e7 100644 --- a/100_core/src_330_store/gplx/DataWtr_base.java +++ b/100_core/src_330_store/gplx/DataWtr_base.java @@ -17,12 +17,12 @@ along with this program. If not, see . */ package gplx; public abstract class DataWtr_base implements SrlMgr { - @gplx.Virtual public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_(); + @gplx.Virtual public Hash_adp EnvVars() {return envVars;} Hash_adp envVars = Hash_adp_.new_(); public boolean Type_rdr() {return false;} public abstract void WriteData(String key, Object o); public abstract void WriteNodeBgn(String nodeName); public abstract void WriteNodeEnd(); - @gplx.Virtual public void SrlList(String key, ListAdp list, SrlObj proto, String itmKey) { + @gplx.Virtual public void SrlList(String key, List_adp list, SrlObj proto, String itmKey) { this.WriteNodeBgn(key); for (Object itmObj : list) { SrlObj itm = (SrlObj)itmObj; diff --git a/100_core/src_330_store/gplx/SrlMgr.java b/100_core/src_330_store/gplx/SrlMgr.java index bb87432a8..545cfb4bd 100644 --- a/100_core/src_330_store/gplx/SrlMgr.java +++ b/100_core/src_330_store/gplx/SrlMgr.java @@ -29,7 +29,7 @@ public interface SrlMgr { DecimalAdp SrlDecimalOr(String key, DecimalAdp v); DateAdp SrlDateOr(String key, DateAdp v); Object SrlObjOr(String key, Object v); - void SrlList(String key, ListAdp list, SrlObj proto, String itmKey); + void SrlList(String key, List_adp list, SrlObj proto, String itmKey); void TypeKey_(String v); SrlMgr SrlMgr_new(Object o); } diff --git a/100_core/src_330_store/gplx/stores/DataRdr_base.java b/100_core/src_330_store/gplx/stores/DataRdr_base.java index fe9319b17..fea8e42d4 100644 --- a/100_core/src_330_store/gplx/stores/DataRdr_base.java +++ b/100_core/src_330_store/gplx/stores/DataRdr_base.java @@ -19,10 +19,10 @@ package gplx.stores; import gplx.*; import gplx.core.strings.*; public abstract class DataRdr_base implements SrlMgr { public boolean Parse() {return parse;} public void Parse_set(boolean v) {parse = v;} private boolean parse; - public Io_url Uri() {return uri;} public void Uri_set(Io_url s) {uri = s;} Io_url uri = Io_url_.Null; + public Io_url Uri() {return uri;} public void Uri_set(Io_url s) {uri = s;} Io_url uri = Io_url_.Empty; public abstract String NameOfNode(); public boolean Type_rdr() {return true;} - public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_(); + public Hash_adp EnvVars() {return envVars;} Hash_adp envVars = Hash_adp_.new_(); public abstract Object Read(String key); public abstract int FieldCount(); public abstract String KeyAt(int i); @@ -38,13 +38,13 @@ public abstract class DataRdr_base implements SrlMgr { try {return (String)val;} catch (Exception exc) {Err_dataRdr_ReadFailed_useOr(exc, String.class, key, val, or); return or;} } - public byte[] ReadBryByStr(String key) {return Bry_.new_utf8_(ReadStr(key));} + public byte[] ReadBryByStr(String key) {return Bry_.new_u8(ReadStr(key));} public byte[] ReadBryByStrOr(String key, byte[] or) { Object val = Read(key); if (val == null) return or; - try {return Bry_.new_utf8_((String)val);} + try {return Bry_.new_u8((String)val);} catch (Exception exc) {Err_dataRdr_ReadFailed_useOr(exc, byte[].class, key, val, or); return or;} } - @gplx.Virtual public void SrlList(String key, ListAdp list, SrlObj proto, String itmKey) { + @gplx.Virtual public void SrlList(String key, List_adp list, SrlObj proto, String itmKey) { list.Clear(); DataRdr subRdr = this.Subs_byName_moveFirst(key); // collection node subRdr = subRdr.Subs(); diff --git a/100_core/src_330_store/gplx/stores/DataRdr_mem.java b/100_core/src_330_store/gplx/stores/DataRdr_mem.java index 7439b2814..50f530b4b 100644 --- a/100_core/src_330_store/gplx/stores/DataRdr_mem.java +++ b/100_core/src_330_store/gplx/stores/DataRdr_mem.java @@ -20,10 +20,10 @@ public class DataRdr_mem extends DataRdr_base implements GfoNdeRdr { @Override public String NameOfNode() {return cur.Name();} public GfoNde UnderNde() {return cur;} @Override public int FieldCount() {return flds.Count();} - @Override public String KeyAt(int i) {return flds.FetchAt(i).Key();} + @Override public String KeyAt(int i) {return flds.Get_at(i).Key();} @Override public Object ReadAt(int i) {return cur.ReadAt(i);} @Override public Object Read(String key) { - int i = flds.IndexOf(key); if (i == ListAdp_.NotFound) return null; + int i = flds.Idx_of(key); if (i == List_adp_.NotFound) return null; return cur.ReadAt(i); } public boolean MoveNextPeer() { diff --git a/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr.java b/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr.java index ff92fb689..615735946 100644 --- a/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr.java +++ b/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr.java @@ -20,9 +20,9 @@ import gplx.xmls.*; /*Xpath_*/ public class XmlDataRdr extends DataRdr_base implements DataRdr { @Override public String NameOfNode() {return nde.Name();} public String XtoStr() {return nde.Xml_outer();} @Override public int FieldCount() {return nde.Atrs() == null ? 0 : nde.Atrs().Count();} // nde.Attributes == null when nde is XmlText; ex: val - @Override public String KeyAt(int i) {return nde.Atrs().FetchAt(i).Name();} + @Override public String KeyAt(int i) {return nde.Atrs().Get_at(i).Name();} @Override public Object ReadAt(int i) { - XmlAtr attrib = nde.Atrs().FetchAt(i); + XmlAtr attrib = nde.Atrs().Get_at(i); return (attrib == null) ? null : attrib.Value(); } @Override public Object Read(String key) { @@ -33,7 +33,7 @@ public class XmlDataRdr extends DataRdr_base implements DataRdr { nde = null; return false; } - nde = peerList.FetchAt(pos); + nde = peerList.Get_at(pos); return true; } @Override public DataRdr Subs() { @@ -56,7 +56,7 @@ public class XmlDataRdr extends DataRdr_base implements DataRdr { public void Rls() {nde = null; peerList = null;} public String NodeValue_get() { if (nde.SubNdes().Count() != 1) return ""; - XmlNde sub = nde.SubNdes().FetchAt(0); + XmlNde sub = nde.SubNdes().Get_at(0); return (sub.NdeType_textOrEntityReference()) ? sub.Text_inner() : ""; } public String Node_OuterXml() {return nde.Xml_outer();} diff --git a/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr_.java b/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr_.java index ddcfad373..4d5b82a93 100644 --- a/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr_.java +++ b/100_core/src_330_store/gplx/stores/xmls/XmlDataRdr_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.stores.xmls; import gplx.*; import gplx.stores.*; public class XmlDataRdr_ { public static XmlDataRdr file_(Io_url url) { - String text = Io_mgr._.LoadFilStr(url); + String text = Io_mgr.I.LoadFilStr(url); return new XmlDataRdr(text); } public static XmlDataRdr text_(String text) {return new XmlDataRdr(text);} diff --git a/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java b/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java index 0376f8a28..7e64133b6 100644 --- a/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java +++ b/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java @@ -85,10 +85,10 @@ class XmlDataWtr extends DataWtr_base implements DataWtr { ndeOpened = false; } else { - String name = (String)names.FetchAtLast(); + String name = (String)names.Get_at_last(); sb.Add("" + String_.CrLf); } - names.DelAt(names.Count() - 1); + names.Del_at(names.Count() - 1); // if (nde.ParentNode == null) throw Err_.new_("WriteXmlNodeEnd() called on root node"); // nde = nde.ParentNode; // WriteLineFeed(doc, nde); @@ -107,7 +107,7 @@ class XmlDataWtr extends DataWtr_base implements DataWtr { // int atrCount = 0; // int ndeState = -1; static final int NdeState0_Opened = 0, NdeState0_H = 1; // XmlDocument doc = new XmlDocument(); XmlNode nde; - ListAdp names = ListAdp_.new_(); + List_adp names = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); public static XmlDataWtr new_() {return new XmlDataWtr();} XmlDataWtr() {} } 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 c2de9d918..946daa344 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java @@ -130,7 +130,7 @@ class DsvParser { nextValType = ValType_Data; lineMode = LineType_Data; } - String_bldr sb = String_bldr_.new_(); ListAdp tkns = ListAdp_.new_(); DsvTblBldr bldr = DsvTblBldr.new_(); + String_bldr sb = String_bldr_.new_(); List_adp tkns = List_adp_.new_(); DsvTblBldr bldr = DsvTblBldr.new_(); boolean cmdSeqOn = false, qteOn = false, csvOn = false; int nextValType = ValType_Data, lineMode = LineType_Data; @gplx.Internal protected static DsvParser dsv_() {return new DsvParser();} @@ -138,9 +138,9 @@ class DsvParser { DsvParser rv = new DsvParser(); rv.csvOn = true; rv.lineMode = hasHdr ? LineType_FldNames : LineType_Data; - ListAdp names = ListAdp_.new_(), types = ListAdp_.new_(); + List_adp names = List_adp_.new_(), types = List_adp_.new_(); for (int i = 0; i < flds.Count(); i++) { - GfoFld fld = flds.FetchAt(i); + GfoFld fld = flds.Get_at(i); names.Add(fld.Key()); types.Add(fld.Type().Key()); } rv.bldr.MakeFldNames(names); rv.bldr.MakeFldTypes(types); @@ -159,13 +159,13 @@ class DsvTblBldr { if (stage != Stage_Init) CreateTbl(); // CreateTbl if HDR or ROW is in progress return root; } - public void MakeTblBgn(ListAdp tkns) { + public void MakeTblBgn(List_adp tkns) { if (stage != Stage_Init) CreateTbl(); // CreateTbl if HDR or ROW is in progress - tbl.Name_((String)tkns.FetchAt(0)); + tbl.Name_((String)tkns.Get_at(0)); layout.HeaderList().Add_TableName(); stage = Stage_Hdr; tkns.Clear(); } - public void MakeFldNames(ListAdp tkns) { + public void MakeFldNames(List_adp tkns) { if (stage == Stage_Row) CreateTbl(); // CreateTbl if ROW is in progress; NOTE: exclude HDR, as first HDR would have called CreateTbl fldNames.Clear(); for (Object fldNameObj : tkns) @@ -173,23 +173,23 @@ class DsvTblBldr { layout.HeaderList().Add_LeafNames(); stage = Stage_Hdr; tkns.Clear(); } - public void MakeFldTypes(ListAdp tkns) { + public void MakeFldTypes(List_adp tkns) { if (stage == Stage_Row) CreateTbl(); // CreateTbl if ROW is in progress; NOTE: exclude HDR, as first HDR would have called CreateTbl fldTypes.Clear(); for (Object fldTypeObj : tkns) { - ClassXtn type = ClassXtnPool._.FetchOrFail((String)fldTypeObj); + ClassXtn type = ClassXtnPool._.Get_by_or_fail((String)fldTypeObj); fldTypes.Add(type); } layout.HeaderList().Add_LeafTypes(); stage = Stage_Hdr; tkns.Clear(); } - public void MakeComment(ListAdp tkns) { + public void MakeComment(List_adp tkns) { if (stage == Stage_Row) // comments in ROW; ignore; NOTE: tkns.Clear() could be merged, but this seems clearer tkns.Clear(); else { // comments in HDR String_bldr sb = String_bldr_.new_(); for (int i = 0; i < tkns.Count(); i++) - sb.Add((String)tkns.FetchAt(i)); + sb.Add((String)tkns.Get_at(i)); layout.HeaderList().Add_Comment(sb.XtoStr()); tkns.Clear(); } @@ -199,19 +199,19 @@ class DsvTblBldr { layout.HeaderList().Add_BlankLine(); stage = Stage_Init; // NOTE: mark stage as INIT; } - public void MakeVals(ListAdp tkns) { + public void MakeVals(List_adp tkns) { if (stage != Stage_Row) CreateFlds(tkns.Count()); // stage != Stage_Row means if (noRowsCreated) GfoNde row = GfoNde_.vals_(tbl.SubFlds(), MakeValsAry(tkns)); tbl.Subs().Add(row); stage = Stage_Row; tkns.Clear(); } - Object[] MakeValsAry(ListAdp tkns) { + Object[] MakeValsAry(List_adp tkns) { GfoFldList subFlds = tbl.SubFlds(); int subFldsCount = subFlds.Count(); if (tkns.Count() > subFldsCount) throw Err_.new_("values.Count cannot be greater than fields.Count").Add("values.Count", tkns.Count()).Add("fields.Count", subFldsCount); Object[] rv = new Object[subFldsCount]; for (int i = 0; i < subFldsCount; i++) { - ClassXtn typx = subFlds.FetchAt(i).Type(); - String val = i < tkns.Count() ? (String)tkns.FetchAt(i) : null; + ClassXtn typx = subFlds.Get_at(i).Type(); + String val = i < tkns.Count() ? (String)tkns.Get_at(i) : null; rv[i] = typx.ParseOrNull(val); } return rv; @@ -233,14 +233,14 @@ class DsvTblBldr { else { // all else, where either names or types is defined int maxCount = fldNamesCount > fldTypesCount ? fldNamesCount : fldTypesCount; for (int i = 0; i < maxCount; i++) { - String name = i < fldNamesCount ? (String)fldNames.FetchAt(i) : "fld" + i; - ClassXtn typx = i < fldTypesCount ? (ClassXtn)fldTypes.FetchAt(i) : StringClassXtn._; + String name = i < fldNamesCount ? (String)fldNames.Get_at(i) : "fld" + i; + ClassXtn typx = i < fldTypesCount ? (ClassXtn)fldTypes.Get_at(i) : StringClassXtn._; tbl.SubFlds().Add(name, typx); } } } GfoNde root; GfoNde tbl; DsvStoreLayout layout = DsvStoreLayout.dsv_brief_(); - ListAdp fldNames = ListAdp_.new_(); ListAdp fldTypes = ListAdp_.new_(); + List_adp fldNames = List_adp_.new_(); List_adp fldTypes = List_adp_.new_(); int stage = Stage_Init; public static DsvTblBldr new_() {return new DsvTblBldr();} DsvTblBldr() {this.Init();} @gplx.Internal protected static final String NullTblName = ""; 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 fdf701452..f47d19dcf 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 @@ -150,27 +150,27 @@ class DsvDataRdr_fxt { public DsvDataRdr_fxt tst_FldListCsv(String... names) {return tst_Flds(TblIdx0, GfoFldList_.str_(names));} public DsvDataRdr_fxt tst_Flds(int tblIdx, GfoFldList expdFlds) { GfoNde tbl = root.Subs().FetchAt_asGfoNde(tblIdx); - ListAdp expdList = ListAdp_.new_(), actlList = ListAdp_.new_(); + List_adp expdList = List_adp_.new_(), actlList = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); GfoFldList_BldDbgList(expdFlds, expdList, sb); GfoFldList_BldDbgList(tbl.SubFlds(), actlList, sb); Tfds.Eq_list(expdList, actlList); return this; } - void GfoFldList_BldDbgList(GfoFldList flds, ListAdp list, String_bldr sb) { + void GfoFldList_BldDbgList(GfoFldList flds, List_adp list, String_bldr sb) { for (int i = 0; i < flds.Count(); i++) { - GfoFld fld = flds.FetchAt(i); + GfoFld fld = flds.Get_at(i); sb.Add(fld.Key()).Add(",").Add(fld.Type().Key()); list.Add(sb.Xto_str_and_clear()); } } public DsvDataRdr_fxt tst_Tbls(String... expdNames) { - ListAdp actlList = ListAdp_.new_(); + List_adp actlList = List_adp_.new_(); for (int i = 0; i < root.Subs().Count(); i++) { GfoNde tbl = root.Subs().FetchAt_asGfoNde(i); actlList.Add(tbl.Name()); } - Tfds.Eq_ary(expdNames, actlList.XtoStrAry()); + Tfds.Eq_ary(expdNames, actlList.To_str_ary()); return this; } public DsvDataRdr_fxt tst_DatNull() { @@ -184,7 +184,7 @@ class DsvDataRdr_fxt { Tfds.Eq(0, tbl.Subs().Count()); return this; } - ListAdp expdList = ListAdp_.new_(), actlList = ListAdp_.new_(); + List_adp expdList = List_adp_.new_(), actlList = List_adp_.new_(); String_bldr sb = String_bldr_.new_(); for (int i = 0; i < tbl.Subs().Count(); i++) { GfoNde row = tbl.Subs().FetchAt_asGfoNde(i); diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_layout_tst.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_layout_tst.java index 8e5353eb5..5c2592e0a 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_layout_tst.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_layout_tst.java @@ -121,10 +121,10 @@ public class DsvDataRdr_layout_tst { } void tst_Layout(int subIdx, int... expd) { GfoNde tbl = root.Subs().FetchAt_asGfoNde(subIdx); - DsvStoreLayout layout = (DsvStoreLayout)tbl.EnvVars().Fetch(DsvStoreLayout.Key_const); + DsvStoreLayout layout = (DsvStoreLayout)tbl.EnvVars().Get_by(DsvStoreLayout.Key_const); int[] actl = new int[layout.HeaderList().Count()]; for (int i = 0; i < actl.length; i++) - actl[i] = layout.HeaderList().FetchAt(i).Id(); + actl[i] = layout.HeaderList().Get_at(i).Id(); Tfds.Eq_ary(expd, actl); } GfoNde root; diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java index ba0fb6ed5..7e3fc3cb1 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java @@ -27,7 +27,7 @@ public class DsvDataWtr extends DataWtr_base implements DataWtr { @Override public void WriteNodeBgn(String name) {WriteTableBgn(name, GfoFldList_.Null);} public void WriteTableBgn(String name, GfoFldList flds) { for (int i = 0; i < layout.HeaderList().Count(); i++) { - DsvHeaderItm data = layout.HeaderList().FetchAt(i); + DsvHeaderItm data = layout.HeaderList().Get_at(i); int id = data.Id(); if (id == DsvHeaderItm.Id_TableName) WriteTableName(name); else if (id == DsvHeaderItm.Id_LeafNames) WriteMeta(flds, true, sym.FldNamesSym()); @@ -46,7 +46,7 @@ public class DsvDataWtr extends DataWtr_base implements DataWtr { } void WriteMeta(GfoFldList flds, boolean isName, String cmd) { for (int i = 0; i < flds.Count(); i++) { - GfoFld fld = flds.FetchAt(i); + GfoFld fld = flds.Get_at(i); String val = isName ? fld.Key(): fld.Type().Key(); sb.WriteFld(val); } diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvHeaderList.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvHeaderList.java index 9448c7677..0a87283a4 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvHeaderList.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvHeaderList.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.stores.dsvs; import gplx.*; import gplx.stores.*; public class DsvHeaderList { @gplx.Internal protected int Count() {return list.Count();} - @gplx.Internal protected DsvHeaderItm FetchAt(int i) {return (DsvHeaderItm)list.FetchAt(i);} + @gplx.Internal protected DsvHeaderItm Get_at(int i) {return (DsvHeaderItm)list.Get_at(i);} public DsvHeaderList Add_LeafTypes() {this.Add(new DsvHeaderItm(DsvHeaderItm.Id_LeafTypes, null)); return this;} public DsvHeaderList Add_LeafNames() {this.Add(new DsvHeaderItm(DsvHeaderItm.Id_LeafNames, null)); return this;} public DsvHeaderList Add_TableName() {this.Add(new DsvHeaderItm(DsvHeaderItm.Id_TableName, null)); return this;} @@ -26,7 +26,7 @@ public class DsvHeaderList { public DsvHeaderList Add_Comment(String comment) {this.Add(new DsvHeaderItm(DsvHeaderItm.Id_Comment, comment)); return this;} void Add(DsvHeaderItm data) {list.Add(data);} - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); public static DsvHeaderList new_() {return new DsvHeaderList();} DsvHeaderList() {} } class DsvHeaderItm { diff --git a/100_core/src_400_gfs/gplx/GfsCore.java b/100_core/src_400_gfs/gplx/GfsCore.java index 41b6f3cc7..ec4f960e9 100644 --- a/100_core/src_400_gfs/gplx/GfsCore.java +++ b/100_core/src_400_gfs/gplx/GfsCore.java @@ -26,7 +26,7 @@ public class GfsCore implements GfoInvkAble { public void AddCmd(GfoInvkAble invk, String key) {root.AddCmd(invk, key);} public void AddObj(GfoInvkAble invk, String key) {root.AddObj(invk, key);} public void AddDeep(GfoInvkAble invk, String... ary) { - GfoInvkCmdMgrOwner cur = (GfoInvkCmdMgrOwner)((GfsRegyItm)root.Fetch(ary[0])).InvkAble(); + GfoInvkCmdMgrOwner cur = (GfoInvkCmdMgrOwner)((GfsRegyItm)root.Get_by(ary[0])).InvkAble(); for (int i = 1; i < ary.length - 1; i++) cur = (GfoInvkCmdMgrOwner)cur.InvkMgr().Invk(GfsCtx._, 0, ary[i], GfoMsg_.Null, cur); cur.InvkMgr().Add_cmd(ary[ary.length - 1], invk); @@ -46,22 +46,22 @@ public class GfsCore implements GfoInvkAble { GfoRegyItm itm = GfoRegy._.FetchOrNull(key); if (itm == null) {UsrDlg_._.Warn(UsrMsg.new_("could not find script for key").Add("key", key)); return;} Io_url url = itm.Url(); - if (!Io_mgr._.ExistsFil(url)) { + if (!Io_mgr.I.ExistsFil(url)) { UsrDlg_._.Warn(UsrMsg.new_("script url does not exist").Add("key", key).Add("url", url)); return; } - this.ExecText(Io_mgr._.LoadFilStr(url)); + this.ExecText(Io_mgr.I.LoadFilStr(url)); } - public Object ExecFile_ignoreMissing(Io_url url) {if (!Io_mgr._.ExistsFil(url)) return null; return ExecText(Io_mgr._.LoadFilStr(url));} - public Object ExecFile(Io_url url) {return ExecText(Io_mgr._.LoadFilStr(url));} + public Object ExecFile_ignoreMissing(Io_url url) {if (!Io_mgr.I.ExistsFil(url)) return null; return ExecText(Io_mgr.I.LoadFilStr(url));} + public Object ExecFile(Io_url url) {return ExecText(Io_mgr.I.LoadFilStr(url));} public Object ExecFile_ignoreMissing(GfoInvkAble root, Io_url url) { - if (!Io_mgr._.ExistsFil(url)) return null; + if (!Io_mgr.I.ExistsFil(url)) return null; if (msgParser == null) throw Err_.new_("msgParser is null"); - return Exec_bry(Io_mgr._.LoadFilBry(url), root); + return Exec_bry(Io_mgr.I.LoadFilBry(url), root); } public Object Exec_bry(byte[] bry) {return Exec_bry(bry, root);} public Object Exec_bry(byte[] bry, GfoInvkAble root) { - GfoMsg rootMsg = msgParser.ParseToMsg(String_.new_utf8_(bry)); + GfoMsg rootMsg = msgParser.ParseToMsg(String_.new_u8(bry)); Object rv = null; GfsCtx ctx = GfsCtx.new_(); for (int i = 0; i < rootMsg.Subs_count(); i++) { @@ -136,7 +136,7 @@ class GfsCore_ { // if (ctx.Match(k, Invk_Add)) { // String libKey = m.ReadStr("libKey"), regKey = m.ReadStr("regKey"); // if (ctx.Deny()) return this; -// GfsRegyItm itm = regy.Fetch(libKey); +// GfsRegyItm itm = regy.Get_by(libKey); // if (regy.Has(regKey)) {ctx.Write_warn("'{0}' already exists", regKey); return this;} // regy.Add(regKey, itm.InvkAble(), itm.Type_cmd()); // ctx.Write_note("added '{0}' as '{1}'", regKey, libKey); @@ -151,7 +151,7 @@ class GfsCore_ { // else if (ctx.Match(k, Invk_Load)) { // Io_url url = (Io_url)m.ReadObj("url", Io_url_.Parser); // if (ctx.Deny()) return this; -// String loadText = Io_mgr._.LoadFilStr(url); +// String loadText = Io_mgr.I.LoadFilStr(url); // GfoMsg loadMsg = core.MsgParser().ParseToMsg(loadText); // return core.Exec(ctx, loadMsg); // } diff --git a/100_core/src_400_gfs/gplx/GfsCoreHelp.java b/100_core/src_400_gfs/gplx/GfsCoreHelp.java index d68e99a22..d0aa31632 100644 --- a/100_core/src_400_gfs/gplx/GfsCoreHelp.java +++ b/100_core/src_400_gfs/gplx/GfsCoreHelp.java @@ -23,7 +23,7 @@ class GfsCoreHelp implements GfoInvkAble { if (String_.Eq(path, "")) { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < core.Root_as_regy().Count(); i++) { - GfsRegyItm itm = (GfsRegyItm)core.Root_as_regy().FetchAt(i); + GfsRegyItm itm = (GfsRegyItm)core.Root_as_regy().Get_at(i); sb.Add_spr_unless_first(itm.Key(), String_.CrLf, i); } return sb.XtoStr(); @@ -57,7 +57,7 @@ class GfsCoreHelp implements GfoInvkAble { invk.Invk(ctx, 0, "", GfoMsg_.Null); String_bldr sb = String_bldr_.new_(); for (int i = 0; i < ctx.Help_browseList().Count(); i++) { - String s = (String)ctx.Help_browseList().FetchAt(i); + String s = (String)ctx.Help_browseList().Get_at(i); sb.Add_spr_unless_first(s, String_.CrLf, i); } return sb.XtoStr(); diff --git a/100_core/src_400_gfs/gplx/GfsCtx.java b/100_core/src_400_gfs/gplx/GfsCtx.java index b3fedf647..eb9c9d35f 100644 --- a/100_core/src_400_gfs/gplx/GfsCtx.java +++ b/100_core/src_400_gfs/gplx/GfsCtx.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx; public class GfsCtx { - public OrderedHash Vars() {return vars;} OrderedHash vars = OrderedHash_.new_(); + public Ordered_hash Vars() {return vars;} Ordered_hash vars = Ordered_hash_.new_(); public boolean Fail_if_unhandled() {return fail_if_unhandled;} public GfsCtx Fail_if_unhandled_(boolean v) {fail_if_unhandled = v; return this;} private boolean fail_if_unhandled; public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} public GfsCtx Usr_dlg_(Gfo_usr_dlg v) {usr_dlg = v; return this;} Gfo_usr_dlg usr_dlg; public boolean Help_browseMode() {return help_browseMode;} public GfsCtx Help_browseMode_(boolean v) {help_browseMode = v; return this;} private boolean help_browseMode; - @gplx.Internal protected ListAdp Help_browseList() {return help_browseList;} ListAdp help_browseList = ListAdp_.new_(); + @gplx.Internal protected List_adp Help_browseList() {return help_browseList;} List_adp help_browseList = List_adp_.new_(); public Object MsgSrc() {return msgSrc;} public GfsCtx MsgSrc_(Object v) {msgSrc = v; return this;} Object msgSrc; public boolean Match(String k, String match) { if (help_browseMode) { diff --git a/100_core/src_400_gfs/gplx/GfsRegy.java b/100_core/src_400_gfs/gplx/GfsRegy.java index 0391449dc..f9299c183 100644 --- a/100_core/src_400_gfs/gplx/GfsRegy.java +++ b/100_core/src_400_gfs/gplx/GfsRegy.java @@ -20,11 +20,11 @@ class GfsRegy implements GfoInvkAble { public int Count() {return hash.Count();} public void Clear() {hash.Clear(); typeHash.Clear();} public boolean Has(String k) {return hash.Has(k);} - public GfsRegyItm FetchAt(int i) {return (GfsRegyItm)hash.FetchAt(i);} - public GfsRegyItm Fetch(String key) {return (GfsRegyItm)hash.Fetch(key);} - public GfsRegyItm FetchByType(GfoInvkAble invk) {return (GfsRegyItm)typeHash.Fetch(ClassAdp_.FullNameOf_obj(invk));} + public GfsRegyItm Get_at(int i) {return (GfsRegyItm)hash.Get_at(i);} + public GfsRegyItm Get_by(String key) {return (GfsRegyItm)hash.Get_by(key);} + public GfsRegyItm FetchByType(GfoInvkAble invk) {return (GfsRegyItm)typeHash.Get_by(ClassAdp_.FullNameOf_obj(invk));} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - Object rv = (GfsRegyItm)hash.Fetch(k); if (rv == null) throw Err_.missing_key_(k); + Object rv = (GfsRegyItm)hash.Get_by(k); if (rv == null) throw Err_.missing_key_(k); return rv; } public void AddObj(GfoInvkAble invk, String key) {Add(key, invk, false);} @@ -33,15 +33,15 @@ class GfsRegy implements GfoInvkAble { if (hash.Has(key)) return; GfsRegyItm regyItm = new GfsRegyItm().Key_(key).InvkAble_(invk).IsCmd_(typeCmd).TypeKey_(ClassAdp_.FullNameOf_obj(invk)); hash.Add(key, regyItm); - typeHash.Add_if_new(regyItm.TypeKey(), regyItm); // NOTE: changed to allow same Object to be added under different aliases (app, xowa) DATE:2014-06-09; + typeHash.Add_if_dupe_use_1st(regyItm.TypeKey(), regyItm); // NOTE: changed to allow same Object to be added under different aliases (app, xowa) DATE:2014-06-09; } public void Del(String k) { - GfsRegyItm itm =(GfsRegyItm)hash.Fetch(k); + GfsRegyItm itm =(GfsRegyItm)hash.Get_by(k); if (itm != null) typeHash.Del(itm.TypeKey()); hash.Del(k); } - HashAdp typeHash = HashAdp_.new_(); - OrderedHash hash = OrderedHash_.new_(); + Hash_adp typeHash = Hash_adp_.new_(); + Ordered_hash hash = Ordered_hash_.new_(); public static GfsRegy new_() {return new GfsRegy();} GfsRegy() {} } class GfsRegyItm implements GfoInvkAble { diff --git a/100_core/src_410_gfoCfg/gplx/GfoRegy.java b/100_core/src_410_gfoCfg/gplx/GfoRegy.java index fb108b186..baa5e3e45 100644 --- a/100_core/src_410_gfoCfg/gplx/GfoRegy.java +++ b/100_core/src_410_gfoCfg/gplx/GfoRegy.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx; public class GfoRegy implements GfoInvkAble { public int Count() {return hash.Count();} - public HashAdp Parsers() {return parsers;} HashAdp parsers = HashAdp_.new_(); - public GfoRegyItm FetchOrNull(String key) {return (GfoRegyItm)hash.Fetch(key);} + public Hash_adp Parsers() {return parsers;} Hash_adp parsers = Hash_adp_.new_(); + public GfoRegyItm FetchOrNull(String key) {return (GfoRegyItm)hash.Get_by(key);} public Object FetchValOrFail(String key) { - GfoRegyItm rv = (GfoRegyItm)hash.Fetch(key); if (rv == null) throw Err_.new_("regy does not have key").Add("key", key); + GfoRegyItm rv = (GfoRegyItm)hash.Get_by(key); if (rv == null) throw Err_.new_("regy does not have key").Add("key", key); return rv.Val(); } public Object FetchValOrNull(String key) {return FetchValOr(key, null);} @@ -30,10 +30,10 @@ public class GfoRegy implements GfoInvkAble { return itm == null ? or : itm.Val(); } public void Del(String key) {hash.Del(key);} - public void RegObj(String key, Object val) {RegItm(key, val, GfoRegyItm.ValType_Obj, Io_url_.Null);} + public void RegObj(String key, Object val) {RegItm(key, val, GfoRegyItm.ValType_Obj, Io_url_.Empty);} public void RegDir(Io_url dirUrl, String match, boolean recur, String chopBgn, String chopEnd) { - Io_url[] filUrls = Io_mgr._.QueryDir_args(dirUrl).FilPath_(match).Recur_(recur).ExecAsUrlAry(); - if (filUrls.length == 0 && !Io_mgr._.ExistsDir(dirUrl)) {UsrDlg_._.Stop(UsrMsg.new_("dirUrl does not exist").Add("dirUrl", dirUrl.Xto_api())); return;} + Io_url[] filUrls = Io_mgr.I.QueryDir_args(dirUrl).FilPath_(match).Recur_(recur).ExecAsUrlAry(); + if (filUrls.length == 0 && !Io_mgr.I.ExistsDir(dirUrl)) {UsrDlg_._.Stop(UsrMsg.new_("dirUrl does not exist").Add("dirUrl", dirUrl.Xto_api())); return;} for (Io_url filUrl : filUrls) { String key = filUrl.NameAndExt(); int pos = String_.Find_none; @@ -58,11 +58,11 @@ public class GfoRegy implements GfoInvkAble { public void RegObjByType(String key, String val, String type) { Object o = val; if (String_.EqNot(type, StringClassXtn.Key_const)) { - ParseAble parser = (ParseAble)parsers.Fetch(type); + ParseAble parser = (ParseAble)parsers.Get_by(type); if (parser == null) throw Err_.new_("could not find parser").Add("type", type).Add("key", key).Add("val", val); o = parser.ParseAsObj(val); } - RegItm(key, o, GfoRegyItm.ValType_Obj, Io_url_.Null); + RegItm(key, o, GfoRegyItm.ValType_Obj, Io_url_.Empty); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_RegDir)) { @@ -85,9 +85,9 @@ public class GfoRegy implements GfoInvkAble { return this; } public static final String Invk_RegDir = "RegDir", Invk_RegObj = "RegObj"; void RegItm(String key, Object val, int valType, Io_url url) { - hash.AddReplace(key, new GfoRegyItm(key, val, valType, url)); + hash.Add_if_dupe_use_nth(key, new GfoRegyItm(key, val, valType, url)); } - HashAdp hash = HashAdp_.new_(); + Hash_adp hash = Hash_adp_.new_(); public static final String Err_ChopBgn = "chopBgn results in null key", Err_ChopEnd = "chopEnd results in null key", Err_Dupe = "key already registered"; public static final GfoRegy _ = new GfoRegy(); GfoRegy() {} @gplx.Internal protected static GfoRegy new_() {return new GfoRegy();} diff --git a/100_core/src_410_gfoCfg/gplx/GfoRegy_RegDir_tst.java b/100_core/src_410_gfoCfg/gplx/GfoRegy_RegDir_tst.java index 88a5bc0cd..e213c2f19 100644 --- a/100_core/src_410_gfoCfg/gplx/GfoRegy_RegDir_tst.java +++ b/100_core/src_410_gfoCfg/gplx/GfoRegy_RegDir_tst.java @@ -20,7 +20,7 @@ import org.junit.*; public class GfoRegy_RegDir_tst { @Before public void setup() { regy = GfoRegy.new_(); - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); root = Io_url_.mem_dir_("mem/root"); } GfoRegy regy; Io_url root; @Test public void Basic() { @@ -57,5 +57,5 @@ public class GfoRegy_RegDir_tst { GfoRegyItm itm = regy.FetchOrNull(expd); Tfds.Eq_nullNot(itm); } - void ini_fil(String... nest) {Io_mgr._.SaveFilStr(root.GenSubFil_nest(nest), "");} + void ini_fil(String... nest) {Io_mgr.I.SaveFilStr(root.GenSubFil_nest(nest), "");} } diff --git a/100_core/src_410_gfoCfg/gplx/GfoRegy_basic_tst.java b/100_core/src_410_gfoCfg/gplx/GfoRegy_basic_tst.java index b11c05ae9..b28c0c0c9 100644 --- a/100_core/src_410_gfoCfg/gplx/GfoRegy_basic_tst.java +++ b/100_core/src_410_gfoCfg/gplx/GfoRegy_basic_tst.java @@ -25,7 +25,7 @@ public class GfoRegy_basic_tst { regy.Parsers().Add("Io_url", Io_url_.Parser); Io_url expd = Io_url_.new_any_("C:\\fil.txt"); regy.RegObjByType("test", expd.Xto_api(), "Io_url"); - Io_url actl = (Io_url)regy.FetchValOr("test", Io_url_.Null); + Io_url actl = (Io_url)regy.FetchValOr("test", Io_url_.Empty); Tfds.Eq(expd.Xto_api(), actl.Xto_api()); } } diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_test.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_test.java index 3284956bd..d1183b28b 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_test.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_test.java @@ -18,12 +18,12 @@ along with this program. If not, see . package gplx; import gplx.core.strings.*; public class Gfo_usr_dlg__gui_test implements Gfo_usr_dlg__gui { - public String[] Xto_str_ary() {return msgs.XtoStrAry();} - public ListAdp Warns() {return warns;} + public String[] Xto_str_ary() {return msgs.To_str_ary();} + public List_adp Warns() {return warns;} public String_ring Prog_msgs() {return ring;} String_ring ring = new String_ring().Max_(0); public void Clear() {msgs.Clear(); warns.Clear();} - public void Write_prog(String text) {msgs.Add(text);} ListAdp msgs = ListAdp_.new_(); + public void Write_prog(String text) {msgs.Add(text);} List_adp msgs = List_adp_.new_(); public void Write_note(String text) {msgs.Add(text);} - public void Write_warn(String text) {warns.Add(text);} ListAdp warns = ListAdp_.new_(); + public void Write_warn(String text) {warns.Add(text);} List_adp warns = List_adp_.new_(); public void Write_stop(String text) {msgs.Add(text);} } diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_.java index 63bcee8b9..d3da9c519 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_.java @@ -20,9 +20,9 @@ public class Gfo_usr_dlg__log_ { public static final Gfo_usr_dlg__log Noop = new Gfo_usr_dlg__log_noop(); } class Gfo_usr_dlg__log_noop implements Gfo_usr_dlg__log { - public Io_url Session_fil() {return Io_url_.Null;} - public Io_url Session_dir() {return Io_url_.Null;} - public Io_url Log_dir() {return Io_url_.Null;} public void Log_dir_(Io_url v) {} + public Io_url Session_fil() {return Io_url_.Empty;} + public Io_url Session_dir() {return Io_url_.Empty;} + public Io_url Log_dir() {return Io_url_.Empty;} public void Log_dir_(Io_url v) {} public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled; public boolean Queue_enabled() {return queue_enabled;} public void Queue_enabled_(boolean v) {queue_enabled = v;} private boolean queue_enabled; public void Log_msg_to_url_fmt(Io_url url, String fmt, Object... args) {} diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_base.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_base.java index e70c54a6d..6885ac4f5 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_base.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__log_base.java @@ -20,7 +20,7 @@ import gplx.core.strings.*; public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { private int archive_dirs_max = 8; private Io_url log_dir, err_fil; - private OrderedHash queued_list = OrderedHash_.new_(); + private Ordered_hash queued_list = Ordered_hash_.new_(); private Bry_fmtr fmtr = Bry_fmtr.tmp_(); private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); public boolean Queue_enabled() {return queue_enabled;} public void Queue_enabled_(boolean v) {queue_enabled = v; if (!v) this.Flush();} private boolean queue_enabled; public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = true; @@ -29,7 +29,7 @@ public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { private void Flush() { int queued_len = queued_list.Count(); for (int i = 0; i < queued_len; i++) { - Usr_log_fil fil = (Usr_log_fil)queued_list.FetchAt(i); + Usr_log_fil fil = (Usr_log_fil)queued_list.Get_at(i); if (fil.Url() == null) { fil.Url_(session_dir.GenSubFil("session.txt")); } @@ -45,26 +45,26 @@ public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { } public void Log_term() { if (!enabled) return; - Io_url[] archive_dirs = Io_mgr._.QueryDir_args(log_dir).DirInclude_().DirOnly_().ExecAsUrlAry(); + Io_url[] archive_dirs = Io_mgr.I.QueryDir_args(log_dir).DirInclude_().DirOnly_().ExecAsUrlAry(); int archive_dirs_len = archive_dirs.length; int session_cutoff = archive_dirs_len - archive_dirs_max; for (int i = 0; i < session_cutoff; i++) { Io_url archive_dir = archive_dirs[i]; - Io_mgr._.DeleteDirDeep(archive_dir); + Io_mgr.I.DeleteDirDeep(archive_dir); this.Log_to_session("archive dir del: " + session_dir.Raw()); } this.Log_to_session("app term"); MoveCurrentToArchive(session_dir); } - private void MoveCurrentToArchive(Io_url dir) {Io_mgr._.MoveDirDeep(dir, dir.OwnerDir().GenSubDir(DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss_fff()));} + private void MoveCurrentToArchive(Io_url dir) {Io_mgr.I.MoveDirDeep(dir, dir.OwnerDir().GenSubDir(DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss_fff()));} public void Log_info(boolean warn, String s) {if (warn) Log_to_err(s); else Log_to_session(s);} public void Log_msg_to_url_fmt(Io_url url, String fmt, Object... args) { if (!enabled) return; - String msg = Bld_msg(String_.new_utf8_(fmtr.Fmt_(fmt).Bld_bry_many(tmp_bfr, args))); + String msg = Bld_msg(String_.new_u8(fmtr.Fmt_(fmt).Bld_bry_many(tmp_bfr, args))); Log_msg(url, msg); Log_msg(session_fil, msg); } - public void Log_to_session_fmt(String fmt, Object... args) {Log_to_session(String_.new_utf8_(fmtr.Fmt_(fmt).Bld_bry_many(tmp_bfr, args)));} + public void Log_to_session_fmt(String fmt, Object... args) {Log_to_session(String_.new_u8(fmtr.Fmt_(fmt).Bld_bry_many(tmp_bfr, args)));} public void Log_to_session(String s) { if (!enabled) return; String line = Bld_msg(s); @@ -87,7 +87,7 @@ public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { private void Log_msg(Io_url url, String txt) { if (queue_enabled) { String url_raw = url == null ? "mem" : url.Raw(); - Usr_log_fil fil = (Usr_log_fil)queued_list.Fetch(url_raw); + Usr_log_fil fil = (Usr_log_fil)queued_list.Get_by(url_raw); if (fil == null) { fil = new Usr_log_fil(url); queued_list.Add(url_raw, fil); @@ -95,7 +95,7 @@ public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { fil.Add(txt); } else - Io_mgr._.AppendFilStr(url, txt); + Io_mgr.I.AppendFilStr(url, txt); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_enabled_)) enabled = m.ReadYn("v"); @@ -114,7 +114,7 @@ class Usr_log_fil { public void Flush() { if (sb.Count() == 0) return; try { - Io_mgr._.AppendFilStr(url, sb.Xto_str_and_clear()); + Io_mgr.I.AppendFilStr(url, sb.Xto_str_and_clear()); } catch (Exception e) { ConsoleAdp._.WriteLine(Err_.Message_gplx_brief(e)); diff --git a/100_core/src_420_usrMsg/gplx/UsrMsg.java b/100_core/src_420_usrMsg/gplx/UsrMsg.java index 29555599a..940e20a82 100644 --- a/100_core/src_420_usrMsg/gplx/UsrMsg.java +++ b/100_core/src_420_usrMsg/gplx/UsrMsg.java @@ -20,13 +20,13 @@ import gplx.core.strings.*; public class UsrMsg { public int VisibilityDuration() {return visibilityDuration;} public UsrMsg VisibilityDuration_(int v) {visibilityDuration = v; return this;} int visibilityDuration = 3000; public String Hdr() {return hdr;} public UsrMsg Hdr_(String val) {hdr = val; return this;} private String hdr; - public OrderedHash Args() {return args;} OrderedHash args = OrderedHash_.new_(); + public Ordered_hash Args() {return args;} Ordered_hash args = Ordered_hash_.new_(); public UsrMsg Add(String k, Object v) { args.Add(k, KeyVal_.new_(k, v)); return this; } - public UsrMsg AddReplace(String k, Object v) { - args.AddReplace(k, KeyVal_.new_(k, v)); + public UsrMsg Add_if_dupe_use_nth(String k, Object v) { + args.Add_if_dupe_use_nth(k, KeyVal_.new_(k, v)); return this; } public String XtoStrSingleLine() {return XtoStr(" ");} @@ -35,7 +35,7 @@ public class UsrMsg { if (hdr == null) { GfoMsg m = GfoMsg_.new_cast_(cmd); for (int i = 0; i < args.Count(); i++) { - KeyVal kv = (KeyVal)args.FetchAt(i); + KeyVal kv = (KeyVal)args.Get_at(i); m.Add(kv.Key(), kv.Val()); } return Object_.Xto_str_strict_or_null_mark(invk.Invk(GfsCtx._, 0, cmd, m)); @@ -43,7 +43,7 @@ public class UsrMsg { String_bldr sb = String_bldr_.new_(); sb.Add(hdr).Add(spr); for (int i = 0; i < args.Count(); i++) { - KeyVal kv = (KeyVal)args.FetchAt(i); + KeyVal kv = (KeyVal)args.Get_at(i); sb.Add_spr_unless_first("", " ", i); sb.Add_fmt("{0}={1}", kv.Key(), kv.Val(), spr); } diff --git a/100_core/src_420_usrMsg/gplx/UsrMsgWkr.java b/100_core/src_420_usrMsg/gplx/UsrMsgWkr.java index cedbef815..1b41cb375 100644 --- a/100_core/src_420_usrMsg/gplx/UsrMsgWkr.java +++ b/100_core/src_420_usrMsg/gplx/UsrMsgWkr.java @@ -25,7 +25,7 @@ class UsrMsgWkrList { wkr = v; else { if (list == null) { - list = ListAdp_.new_(); + list = List_adp_.new_(); list.Add(wkr); wkr = null; } @@ -45,6 +45,6 @@ class UsrMsgWkrList { } } } - ListAdp list; UsrMsgWkr wkr; int type; + List_adp list; UsrMsgWkr wkr; int type; public UsrMsgWkrList(int type) {this.type = type;} } diff --git a/100_core/src_420_usrMsg/gplx/UsrMsgWkr_test.java b/100_core/src_420_usrMsg/gplx/UsrMsgWkr_test.java index e7d215982..4d95fa164 100644 --- a/100_core/src_420_usrMsg/gplx/UsrMsgWkr_test.java +++ b/100_core/src_420_usrMsg/gplx/UsrMsgWkr_test.java @@ -22,7 +22,7 @@ public class UsrMsgWkr_test implements UsrMsgWkr { } public boolean HasWarn(UsrMsg um) { for (int i = 0; i < msgs.Count(); i++) { - UsrMsg found = (UsrMsg)msgs.FetchAt(i); + UsrMsg found = (UsrMsg)msgs.Get_at(i); if (String_.Eq(um.XtoStr(), found.XtoStr())) return true; } return false; @@ -34,5 +34,5 @@ public class UsrMsgWkr_test implements UsrMsgWkr { dlg.Reg(UsrMsgWkr_.Type_Warn, wkr); return wkr; } - ListAdp msgs = ListAdp_.new_(); + List_adp msgs = List_adp_.new_(); } diff --git a/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java b/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java index 6d8360f10..72df704cd 100644 --- a/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java +++ b/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java @@ -20,7 +20,7 @@ import gplx.core.strings.*; public class PerfLogMgr_fxt { public void Init(Io_url url, String text) { this.url = url; - entries.ResizeBounds(1000); + entries.Resize_bounds(1000); entries.Add(new PerfLogItm(0, text + "|" + DateAdp_.Now().XtoStr_gplx())); tmr.Bgn(); } @@ -41,10 +41,10 @@ public class PerfLogMgr_fxt { PerfLogItm itm = (PerfLogItm)itmObj; sb.Add(itm.XtoStr()).Add_char_crlf(); } - Io_mgr._.AppendFilStr(url, sb.XtoStr()); + Io_mgr.I.AppendFilStr(url, sb.XtoStr()); entries.Clear(); } - ListAdp entries = ListAdp_.new_(); PerfLogTmr tmr = PerfLogTmr.new_(); Io_url url = Io_url_.Null; + List_adp entries = List_adp_.new_(); PerfLogTmr tmr = PerfLogTmr.new_(); Io_url url = Io_url_.Empty; public static final PerfLogMgr_fxt _ = new PerfLogMgr_fxt(); PerfLogMgr_fxt() {} class PerfLogItm { public String XtoStr() { diff --git a/100_core/src_800_tst/gplx/Tfds.java b/100_core/src_800_tst/gplx/Tfds.java index 9047a7d08..201c1627e 100644 --- a/100_core/src_800_tst/gplx/Tfds.java +++ b/100_core/src_800_tst/gplx/Tfds.java @@ -29,8 +29,8 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt public static void Eq_date(DateAdp expd, DateAdp actl) {Eq_wkr(expd.XtoStr_gplx(), actl.XtoStr_gplx(), true, EmptyStr);} public static void Eq_date(DateAdp expd, DateAdp actl, String fmt, Object... args){Eq_wkr(expd.XtoStr_gplx(), actl.XtoStr_gplx(), true, String_.Format(fmt, args));} public static void Eq_url(Io_url expd, Io_url actl) {Eq_wkr(expd.Raw(), actl.Raw(), true, EmptyStr);} - public static void Eq_bry(String expd, byte[] actl) {Eq_wkr(expd, String_.new_utf8_(actl), true, EmptyStr);} - public static void Eq_bry(byte[] expd, byte[] actl) {Eq_wkr(String_.new_utf8_(expd), String_.new_utf8_(actl), true, EmptyStr);} + public static void Eq_bry(String expd, byte[] actl) {Eq_wkr(expd, String_.new_u8(actl), true, EmptyStr);} + public static void Eq_bry(byte[] expd, byte[] actl) {Eq_wkr(String_.new_u8(expd), String_.new_u8(actl), true, EmptyStr);} public static void Eq_str(XtoStrAble expd, XtoStrAble actl, String msg) {Eq_wkr(expd.XtoStr(), actl.XtoStr(), true, msg);} public static void Eq_str(XtoStrAble expd, XtoStrAble actl) {Eq_wkr(expd.XtoStr(), actl.XtoStr(), true, String_.Empty);} public static void Eq_str_lines(String lhs, String rhs) {Eq_str_lines(lhs, rhs, EmptyStr);} @@ -57,8 +57,8 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt public static void Eq_ary(Object lhs, Object rhs, String fmt, Object... args){Eq_ary_wkr(lhs, rhs, true, String_.Format(fmt, args));} public static void Eq_ary_str(Object lhs, Object rhs, String note) {Eq_ary_wkr(lhs, rhs, false, note);} public static void Eq_ary_str(Object lhs, Object rhs) {Eq_ary_wkr(lhs, rhs, false, EmptyStr);} - public static void Eq_list(ListAdp lhs, ListAdp rhs) {Eq_list_wkr(lhs, rhs, TfdsEqListItmStr_cls_default._, EmptyStr);} - public static void Eq_list(ListAdp lhs, ListAdp rhs, TfdsEqListItmStr xtoStr) {Eq_list_wkr(lhs, rhs, xtoStr, EmptyStr);} + public static void Eq_list(List_adp lhs, List_adp rhs) {Eq_list_wkr(lhs, rhs, TfdsEqListItmStr_cls_default._, EmptyStr);} + public static void Eq_list(List_adp lhs, List_adp rhs, TfdsEqListItmStr xtoStr) {Eq_list_wkr(lhs, rhs, xtoStr, EmptyStr);} static void Eq_able_wkr(EqAble lhs, EqAble rhs, boolean expd, String customMsg) { boolean actl = false; if (lhs == null && rhs != null) actl = false; @@ -75,11 +75,11 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt throw Err_.new_(msg); } static void Eq_ary_wkr(Object lhsAry, Object rhsAry, boolean compareUsingEquals, String customMsg) { - ListAdp list = ListAdp_.new_(); boolean pass = true; + List_adp list = List_adp_.new_(); boolean pass = true; int lhsLen = Array_.Len(lhsAry), rhsLen = Array_.Len(rhsAry); for (int i = 0; i < lhsLen; i++) { - Object lhs = Array_.FetchAt(lhsAry, i); - Object rhs = i >= rhsLen ? "<>" : Array_.FetchAt(rhsAry, i); + Object lhs = Array_.Get_at(lhsAry, i); + Object rhs = i >= rhsLen ? "<>" : Array_.Get_at(rhsAry, i); String lhsString = msgBldr.Obj_xtoStr(lhs); String rhsString = msgBldr.Obj_xtoStr(rhs); // even if compareUsingEquals, method does ToStr on each itm for failMsg boolean isEq = compareUsingEquals ? Object_.Eq(lhs, rhs) @@ -89,7 +89,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt } for (int i = lhsLen; i < rhsLen; i++) { String lhsString = "<>"; - String rhsString = msgBldr.Obj_xtoStr(Array_.FetchAt(rhsAry, i)); + String rhsString = msgBldr.Obj_xtoStr(Array_.Get_at(rhsAry, i)); Eq_ary_wkr_addItm(list, i, false, lhsString, rhsString); pass = false; } @@ -97,12 +97,12 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt String msg = msgBldr.Eq_ary_xtoStr(list, lhsLen, rhsLen, customMsg); throw Err_.new_(msg); } - static void Eq_list_wkr(ListAdp lhsList, ListAdp rhsList, TfdsEqListItmStr xtoStr, String customMsg) { - ListAdp list = ListAdp_.new_(); boolean pass = true; + static void Eq_list_wkr(List_adp lhsList, List_adp rhsList, TfdsEqListItmStr xtoStr, String customMsg) { + List_adp list = List_adp_.new_(); boolean pass = true; int lhsLen = lhsList.Count(), rhsLen = rhsList.Count(); for (int i = 0; i < lhsLen; i++) { - Object lhs = lhsList.FetchAt(i); - Object rhs = i >= rhsLen ? null : rhsList.FetchAt(i); + Object lhs = lhsList.Get_at(i); + Object rhs = i >= rhsLen ? null : rhsList.Get_at(i); String lhsStr = xtoStr.XtoStr(lhs, lhs); String rhsStr = rhs == null ? "<>" : xtoStr.XtoStr(rhs, lhs); boolean isEq = Object_.Eq(lhsStr, rhsStr); if (!isEq) pass = false; @@ -110,7 +110,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt } for (int i = lhsLen; i < rhsLen; i++) { String lhsStr = "<>"; - Object rhs = rhsList.FetchAt(i); + Object rhs = rhsList.Get_at(i); String rhsStr = xtoStr.XtoStr(rhs, null); Eq_ary_wkr_addItm(list, i, false, lhsStr, rhsStr); pass = false; @@ -119,7 +119,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt String msg = msgBldr.Eq_ary_xtoStr(list, lhsLen, rhsLen, customMsg); throw Err_.new_(msg); } - static void Eq_ary_wkr_addItm(ListAdp list, int i, boolean isEq, String lhsString, String rhsString) { + static void Eq_ary_wkr_addItm(List_adp list, int i, boolean isEq, String lhsString, String rhsString) { TfdsEqAryItm itm = new TfdsEqAryItm().Idx_(i).Eq_(isEq).Lhs_(lhsString).Rhs_(rhsString); list.Add(itm); } @@ -160,7 +160,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt private static final DateAdp time0 = DateAdp_.parse_gplx("2001-01-01 00:00:00.000"); private static DateAdp nowTime; // NOTE: cannot set to time0 due to static initialization; public static void WriteText(String text) {ConsoleAdp._.WriteText(text);} - public static void Write_bry(byte[] ary) {Write(String_.new_utf8_(ary));} + public static void Write_bry(byte[] ary) {Write(String_.new_u8(ary));} public static void Write() {Write("tmp");} public static void Write(Object... ary) { String_bldr sb = String_bldr_.new_(); @@ -192,20 +192,20 @@ class TfdsMsgBldr { ); return WrapMsg(detail); } - public String Eq_ary_xtoStr(ListAdp list, int lhsAryLen, int rhsAryLen, String customMsg) { + public String Eq_ary_xtoStr(List_adp list, int lhsAryLen, int rhsAryLen, String customMsg) { String_bldr sb = String_bldr_.new_(); sb.Add(CustomMsg_xtoStr(customMsg)); if (lhsAryLen != rhsAryLen) sb.Add_fmt_line("{0}element counts differ: {1} {2}", "\t\t", lhsAryLen, rhsAryLen); int lhsLenMax = 0, rhsLenMax = 0; for (int i = 0; i < list.Count(); i++) { - TfdsEqAryItm itm = (TfdsEqAryItm)list.FetchAt(i); + TfdsEqAryItm itm = (TfdsEqAryItm)list.Get_at(i); int lhsLen = String_.Len(itm.Lhs()), rhsLen = String_.Len(itm.Rhs()); if (lhsLen > lhsLenMax) lhsLenMax = lhsLen; if (rhsLen > rhsLenMax) rhsLenMax = rhsLen; } for (int i = 0; i < list.Count(); i++) { - TfdsEqAryItm itm = (TfdsEqAryItm)list.FetchAt(i); + TfdsEqAryItm itm = (TfdsEqAryItm)list.Get_at(i); sb.Add_fmt_line("{0}: {1} {2} {3}" , Int_.Xto_str_pad_bgn_zero(itm.Idx(), 4) , String_.PadBgn(itm.Lhs(), lhsLenMax, " ") diff --git a/100_core/src_800_tst/gplx/Tfds_tst.java b/100_core/src_800_tst/gplx/Tfds_tst.java new file mode 100644 index 000000000..a3d9fd624 --- /dev/null +++ b/100_core/src_800_tst/gplx/Tfds_tst.java @@ -0,0 +1,29 @@ +/* +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; +import org.junit.*; +public class Tfds_tst { + @Before public void init() {fxt.Clear();} private final Tfds_fxt fxt = new Tfds_fxt(); + @Test public void Basic() { + } +} +class Tfds_fxt { + public void Clear() {} + public void Test() { + } +} diff --git a/100_core/src_900_xml/gplx/Base85_utl.java b/100_core/src_900_xml/gplx/Base85_utl.java index df08a034a..aef80f06a 100644 --- a/100_core/src_900_xml/gplx/Base85_utl.java +++ b/100_core/src_900_xml/gplx/Base85_utl.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx; public class Base85_utl { - public static String XtoStr(int val, int minLen) {return String_.new_utf8_(XtoStrByAry(val, null, 0, minLen));} + public static String XtoStr(int val, int minLen) {return String_.new_u8(XtoStrByAry(val, null, 0, minLen));} public static byte[] XtoStrByAry(int val, int minLen) {return XtoStrByAry(val, null, 0, minLen);} public static byte[] XtoStrByAry(int val, byte[] ary, int aryPos, int minLen) { int strLen = DigitCount(val); @@ -43,7 +43,7 @@ public class Base85_utl { public static byte XtoByteChar(int v) {return (byte)(v + AsciiOffset);} public static int XtoInt(byte v) {return v - AsciiOffset;} public static int XtoIntByStr(String s) { - byte[] ary = Bry_.new_utf8_(s); + byte[] ary = Bry_.new_u8(s); return XtoIntByAry(ary, 0, ary.length - 1); } public static int XtoIntByAry(byte[] ary, int bgn, int end) { diff --git a/100_core/src_900_xml/gplx/Base85_utl_tst.java b/100_core/src_900_xml/gplx/Base85_utl_tst.java index 1b4668c0d..be649d09c 100644 --- a/100_core/src_900_xml/gplx/Base85_utl_tst.java +++ b/100_core/src_900_xml/gplx/Base85_utl_tst.java @@ -51,6 +51,6 @@ public class Base85_utl_tst { run_XtoStr(ary, 0, 2); // !!# run_XtoStr(ary, 3, 173); // !#$ run_XtoStr(ary, 6, 14709); // #$% - Tfds.Eq("!!#!#$#$%", String_.new_utf8_(ary)); + Tfds.Eq("!!#!#$#$%", String_.new_u8(ary)); } void run_XtoStr(byte[] ary, int aryPos, int val) {Base85_utl.XtoStrByAry(val, ary, aryPos, 3);} } diff --git a/100_core/src_900_xml/gplx/xmls/XmlAtrList.java b/100_core/src_900_xml/gplx/xmls/XmlAtrList.java index c4267d824..3553fab23 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlAtrList.java +++ b/100_core/src_900_xml/gplx/xmls/XmlAtrList.java @@ -32,6 +32,6 @@ public class XmlAtrList { Node xatr = list.getNamedItem(key); if (xatr == null) return null; return new XmlAtr(xatr); } - public XmlAtr FetchAt(int i) {return list == null ? null : new XmlAtr(list.item(i));} + public XmlAtr Get_at(int i) {return list == null ? null : new XmlAtr(list.item(i));} @gplx.Internal protected XmlAtrList(NamedNodeMap list) {this.list = list;} NamedNodeMap list; } diff --git a/100_core/src_900_xml/gplx/xmls/XmlDoc_tst.java b/100_core/src_900_xml/gplx/xmls/XmlDoc_tst.java index 9c1fc9438..50c8f71ea 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlDoc_tst.java +++ b/100_core/src_900_xml/gplx/xmls/XmlDoc_tst.java @@ -35,7 +35,7 @@ public class XmlDoc_tst { , "" ); xdoc = XmlDoc_.parse_(xml); - xnde = xdoc.Root().SubNdes().FetchAt(0); + xnde = xdoc.Root().SubNdes().Get_at(0); Tfds.Eq("a", xnde.Name()); Tfds.Eq("", xnde.Xml_outer()); } @@ -48,7 +48,7 @@ public class XmlDoc_tst { , "" ); xdoc = XmlDoc_.parse_(xml); - xnde = xdoc.Root().SubNdes().FetchAt(0); + xnde = xdoc.Root().SubNdes().Get_at(0); Tfds.Eq("a", xnde.Name()); Tfds.Eq("test me", xnde.Text_inner()); } @@ -59,9 +59,9 @@ public class XmlDoc_tst { ); xdoc = XmlDoc_.parse_(xml); XmlAtrList atrs = xdoc.Root().Atrs(); - XmlAtr atr = atrs.FetchAt(1); + XmlAtr atr = atrs.Get_at(1); tst_Atr(atr, "atr1", "1"); - atr = atrs.FetchAt(1); + atr = atrs.Get_at(1); tst_Atr(atr, "atr1", "1"); } void tst_Atr(XmlAtr atr, String expdName, String expdVal) { diff --git a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java index cd50ee171..cb005a56a 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java +++ b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java @@ -24,7 +24,7 @@ public class XmlFileSplitter { public void Clear() {hdr = null;} public void Split(Io_url xmlUrl) { Io_url partDir = opts.PartDir(); - byte[] xmlEndTagAry = Bry_.new_utf8_(opts.XmlEnd()); + byte[] xmlEndTagAry = Bry_.new_u8(opts.XmlEnd()); byte[][] nameAry = XtoByteAry(opts.XmlNames()); int partIdx = 0; @@ -36,7 +36,7 @@ public class XmlFileSplitter { int findPos = FindMatchPos(rdr.CurAry(), nameAry); if (findPos == String_.Find_none) throw Err_.new_("could not find any names in first segment"); byte[] dataAry = SplitHdr(rdr.CurAry(), findPos); if (opts.XmlBgn() != null) - hdr = Bry_.new_utf8_(opts.XmlBgn()); + hdr = Bry_.new_u8(opts.XmlBgn()); byte[] tempAry = new byte[0]; int newFindPos = FindMatchPosRev(dataAry, nameAry); findPos = (newFindPos <= findPos) ? String_.Find_none : newFindPos; @@ -134,7 +134,7 @@ public class XmlFileSplitter { byte[][] XtoByteAry(String[] names) { byte[][] rv = new byte[names.length][]; for (int i = 0; i < names.length; i++) - rv[i] = Bry_.new_utf8_(names[i]); + rv[i] = Bry_.new_u8(names[i]); return rv; } } diff --git a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter_tst.java b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter_tst.java index 824a9147f..3614916fc 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter_tst.java +++ b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter_tst.java @@ -21,7 +21,7 @@ import gplx.ios.*; import gplx.texts.*; public class XmlFileSplitter_tst { @Before public void setup() { splitter = new XmlFileSplitter(); - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); } XmlFileSplitter splitter; @Test public void FindMatchPos() { tst_FindMatchPos("abcde", "a", 0); @@ -59,22 +59,22 @@ public class XmlFileSplitter_tst { void tst_Split(String txt, String... expd) { Io_url xmlFil = Io_url_.mem_fil_("mem/800_misc/txt.xml"); Io_url tmpDir = xmlFil.OwnerDir().GenSubDir("temp_xml"); - Io_mgr._.DeleteDirDeep(tmpDir); + Io_mgr.I.DeleteDirDeep(tmpDir); splitter.Opts().StatusFmt_(null).PartDir_(tmpDir); splitter.Opts().Namer().Ctor_io(tmpDir, "", "fil_{0}.xml", "000"); - Io_mgr._.SaveFilStr(xmlFil, txt); + Io_mgr.I.SaveFilStr(xmlFil, txt); splitter.Split(xmlFil); - Io_url[] tmpFilAry = Io_mgr._.QueryDir_fils(tmpDir); + Io_url[] tmpFilAry = Io_mgr.I.QueryDir_fils(tmpDir); Tfds.Eq(expd.length, tmpFilAry.length); for (int i = 0; i < tmpFilAry.length; i++) { Io_url tmpFil = tmpFilAry[i]; - Tfds.Eq(expd[i], Io_mgr._.LoadFilStr(tmpFil)); + Tfds.Eq(expd[i], Io_mgr.I.LoadFilStr(tmpFil)); } } - byte[] byte_(String s) {return Bry_.new_utf8_(s);} + byte[] byte_(String s) {return Bry_.new_u8(s);} byte[][] byteAry_(String s) { byte[][] rv = new byte[1][]; - rv[0] = Bry_.new_utf8_(s); + rv[0] = Bry_.new_u8(s); return rv; } void tst_ExtractHdr(String src, String find, String expdHdr, String expdSrc) { @@ -82,7 +82,7 @@ public class XmlFileSplitter_tst { byte[] srcAry = byte_(src); int findPos = splitter.FindMatchPos(srcAry, byteAry_(find)); srcAry = splitter.SplitHdr(srcAry, findPos); - Tfds.Eq(String_.new_utf8_(splitter.Hdr()), expdHdr); - Tfds.Eq(String_.new_utf8_(srcAry), expdSrc); + Tfds.Eq(String_.new_u8(splitter.Hdr()), expdHdr); + Tfds.Eq(String_.new_u8(srcAry), expdSrc); } } diff --git a/100_core/src_900_xml/gplx/xmls/XmlNdeList.java b/100_core/src_900_xml/gplx/xmls/XmlNdeList.java index bbd657766..fe12b87fd 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlNdeList.java +++ b/100_core/src_900_xml/gplx/xmls/XmlNdeList.java @@ -19,17 +19,17 @@ package gplx.xmls; import gplx.*; import org.w3c.dom.NodeList; public interface XmlNdeList { int Count(); - XmlNde FetchAt(int i); + XmlNde Get_at(int i); } class XmlNdeList_cls_xml implements XmlNdeList { public int Count() {return list.getLength();} - public XmlNde FetchAt(int i) {return new XmlNde(list.item(i));} + public XmlNde Get_at(int i) {return new XmlNde(list.item(i));} @gplx.Internal protected XmlNdeList_cls_xml(NodeList list) {this.list = list;} NodeList list; } class XmlNdeList_cls_list implements XmlNdeList { public int Count() {return list.Count();} - public XmlNde FetchAt(int i) {return (XmlNde)list.FetchAt(i);} + public XmlNde Get_at(int i) {return (XmlNde)list.Get_at(i);} public void Add(XmlNde xnde) {list.Add(xnde);} - @gplx.Internal protected XmlNdeList_cls_list(int count) {list = ListAdp_.new_(); list.ResizeBounds(count);} ListAdp list; + @gplx.Internal protected XmlNdeList_cls_list(int count) {list = List_adp_.new_(); list.Resize_bounds(count);} List_adp list; } //#} \ No newline at end of file diff --git a/100_core/src_900_xml/gplx/xmls/XmlSplitRdr.java b/100_core/src_900_xml/gplx/xmls/XmlSplitRdr.java index 947f81822..83dec3b2c 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlSplitRdr.java +++ b/100_core/src_900_xml/gplx/xmls/XmlSplitRdr.java @@ -23,7 +23,7 @@ public class XmlSplitRdr { public int CurRead() {return curRead;} int curRead; public boolean Done() {return done;} private boolean done; public XmlSplitRdr InitAll_(Io_url url) { - stream = Io_mgr._.OpenStreamRead(url); + stream = Io_mgr.I.OpenStreamRead(url); curLen = stream.Len(); curAry = new byte[(int)curLen]; curSum = 0; @@ -32,8 +32,8 @@ public class XmlSplitRdr { return this; } public XmlSplitRdr Init_(Io_url url, int curArySize) { - stream = Io_mgr._.OpenStreamRead(url); - curLen = Io_mgr._.QueryFil(url).Size(); + stream = Io_mgr.I.OpenStreamRead(url); + curLen = Io_mgr.I.QueryFil(url).Size(); curAry = new byte[curArySize]; curSum = 0; curRead = 0; diff --git a/100_core/src_900_xml/gplx/xmls/XmlSplitWtr.java b/100_core/src_900_xml/gplx/xmls/XmlSplitWtr.java index a4ca7afd1..48266d86b 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlSplitWtr.java +++ b/100_core/src_900_xml/gplx/xmls/XmlSplitWtr.java @@ -26,7 +26,7 @@ public class XmlSplitWtr { public void Bgn(int partIdx) { String partStr = opts.Namer().GenStrIdxOnly(partIdx); url = Io_url_.mem_fil_(partStr); - stream = Io_mgr._.OpenStreamWrite(url); + stream = Io_mgr.I.OpenStreamWrite(url); init = true; } boolean init = true; byte[] hdr; XmlFileSplitterOpts opts; Io_url partDir; IoStream stream; public void Write(byte[] ary) { diff --git a/100_core/src_900_xml/gplx/xmls/Xpath_.java b/100_core/src_900_xml/gplx/xmls/Xpath_.java index 16e8fe899..900893a65 100644 --- a/100_core/src_900_xml/gplx/xmls/Xpath_.java +++ b/100_core/src_900_xml/gplx/xmls/Xpath_.java @@ -21,20 +21,20 @@ public class Xpath_ { public static XmlNdeList SelectAll(XmlNde owner, String xpath) {return Select(owner, xpath, Xpath_Args.all_());} public static XmlNde SelectFirst(XmlNde owner, String xpath) { XmlNdeList rv = Select(owner, xpath, Xpath_Args.first_()); - return rv.Count() == 0 ? null : rv.FetchAt(0); // selects first + return rv.Count() == 0 ? null : rv.Get_at(0); // selects first } public static XmlNdeList SelectElements(XmlNde owner) { XmlNdeList subNdes = owner.SubNdes(); int count = subNdes.Count(); XmlNdeList_cls_list list = new XmlNdeList_cls_list(count); for (int i = 0; i < count; i++) { - XmlNde sub = subNdes.FetchAt(i); + XmlNde sub = subNdes.Get_at(i); if (sub.NdeType_element()) list.Add(sub); } return list; } static XmlNdeList Select(XmlNde owner, String xpath, Xpath_Args args) { - XmlNdeList_cls_list rv = new XmlNdeList_cls_list(ListAdp_.Capacity_initial); + XmlNdeList_cls_list rv = new XmlNdeList_cls_list(List_adp_.Capacity_initial); String[] parts = String_.Split(xpath, "/"); TraverseSubs(owner, parts, 0, rv, args); return rv; @@ -45,7 +45,7 @@ public class Xpath_ { String name = parts[depth]; XmlNdeList subNdes = owner.SubNdes(); int count = subNdes.Count(); for (int i = 0; i < count; i++) { - XmlNde sub = subNdes.FetchAt(i); + XmlNde sub = subNdes.Get_at(i); if (args.Cancel) return; if (!String_.Eq(name, sub.Name())) continue; if (depth == partsLen - 1) { diff --git a/100_core/tst/gplx/ErrMock_tst.java b/100_core/tst/gplx/ErrMock_tst.java index f292e2543..fb1aed397 100644 --- a/100_core/tst/gplx/ErrMock_tst.java +++ b/100_core/tst/gplx/ErrMock_tst.java @@ -55,7 +55,7 @@ public class ErrMock_tst { // NOTE: ErrMock_tst name important b/c gplx java cod ErrMock_tst tst_Msg(String expd) {Tfds.Eq(expd, err.Hdr()); return this;} ErrMock_tst tst_ProcName(String expd) {Tfds.Eq(expd, err.Proc().SignatureRaw()); return this;} ErrMock_tst tst_Arg(int i, String expdKey, Object expdVal) { - KeyVal actl = (KeyVal)err.Args().FetchAt(i); + KeyVal actl = (KeyVal)err.Args().Get_at(i); KeyVal expd = KeyVal_.new_(expdKey, expdVal); Tfds.Eq(expd.XtoStr(), actl.XtoStr()); return this; } diff --git a/100_core/tst/gplx/GfoTreeBldr_fxt.java b/100_core/tst/gplx/GfoTreeBldr_fxt.java index 6fdd61dd3..a42abf785 100644 --- a/100_core/tst/gplx/GfoTreeBldr_fxt.java +++ b/100_core/tst/gplx/GfoTreeBldr_fxt.java @@ -17,8 +17,8 @@ along with this program. If not, see . */ package gplx; public class GfoTreeBldr_fxt { - public ListAdp Atrs() {return atrs;} ListAdp atrs = ListAdp_.new_(); - public ListAdp Subs() {return subs;} ListAdp subs = ListAdp_.new_(); + public List_adp Atrs() {return atrs;} List_adp atrs = List_adp_.new_(); + public List_adp Subs() {return subs;} List_adp subs = List_adp_.new_(); public GfoTreeBldr_fxt atr_(Object key, Object val) { atrs.Add(new Object[] {key, val}); return this; diff --git a/100_core/tst/gplx/TfdsTstr_fxt.java b/100_core/tst/gplx/TfdsTstr_fxt.java index 80e6cb135..6a276dca3 100644 --- a/100_core/tst/gplx/TfdsTstr_fxt.java +++ b/100_core/tst/gplx/TfdsTstr_fxt.java @@ -35,16 +35,16 @@ public class TfdsTstr_fxt { public void Fail() { manualFail = true; }boolean manualFail = false; - public int List_Max(ListAdp expd, ListAdp actl) {return Math_.Max(expd.Count(), actl.Count());} + public int List_Max(List_adp expd, List_adp actl) {return Math_.Max(expd.Count(), actl.Count());} public int List_Max(String[] expd, String[] actl) {return Math_.Max(expd.length, actl.length);} - public Object List_FetchAtOrNull(ListAdp l, int i) {return (i >= l.Count()) ? null : l.FetchAt(i);} + public Object List_FetchAtOrNull(List_adp l, int i) {return (i >= l.Count()) ? null : l.Get_at(i);} public void SubName_pop() {stack.Pop();} int nameLenMax = 0; public void tst_Equal(String hdr) { boolean pass = true; for (int i = 0; i < list.Count(); i++) { - TfdsTstrItm itm = (TfdsTstrItm)list.FetchAt(i); + TfdsTstrItm itm = (TfdsTstrItm)list.Get_at(i); if (!itm.Compare()) pass = false; // don't break early; Compare all vals } if (pass && !manualFail) return; @@ -52,7 +52,7 @@ public class TfdsTstr_fxt { sb.Add_char_crlf(); sb.Add_str_w_crlf(hdr); for (int i = 0; i < list.Count(); i++) { - TfdsTstrItm itm = (TfdsTstrItm)list.FetchAt(i); + TfdsTstrItm itm = (TfdsTstrItm)list.Get_at(i); if (itm.TypeOf == 1) { sb.Add_fmt_line(" /{0}", itm.SubName()); continue; @@ -66,7 +66,7 @@ public class TfdsTstr_fxt { sb.Add(String_.Repeat("_", 80)); throw Err_.new_(sb.XtoStr()); } - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); public static TfdsTstr_fxt new_() {return new TfdsTstr_fxt();} TfdsTstr_fxt() {} } class TfdsTstrItm { @@ -77,11 +77,11 @@ class TfdsTstrItm { public int TypeOf; public void SubName_make(StackAdp stack) { if (stack.Count() == 0) return; - ListAdp list = stack.XtoList(); + List_adp list = stack.XtoList(); String_bldr sb = String_bldr_.new_(); for (int i = 0; i < list.Count(); i++) { if (i != 0) sb.Add("."); - sb.Add((String)list.FetchAt(i)); + sb.Add((String)list.Get_at(i)); } subName = sb.XtoStr(); } diff --git a/100_core/tst/gplx/ios/IoEngineFxt.java b/100_core/tst/gplx/ios/IoEngineFxt.java index 42cfa6924..c4e5771f7 100644 --- a/100_core/tst/gplx/ios/IoEngineFxt.java +++ b/100_core/tst/gplx/ios/IoEngineFxt.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.ios; import gplx.*; public class IoEngineFxt { - IoEngine EngineOf(Io_url url) {return IoEnginePool._.Fetch(url.Info().EngineKey());} + IoEngine EngineOf(Io_url url) {return IoEnginePool._.Get_by(url.Info().EngineKey());} public void tst_ExistsPaths(boolean expd, Io_url... ary) { for (Io_url fil : ary) { if (fil.Type_dir()) @@ -36,11 +36,11 @@ public class IoEngineFxt { IoItmDir dirItem = EngineOf(dir).QueryDir(dir); Io_url[] actl = new Io_url[dirItem.SubDirs().Count() + dirItem.SubFils().Count()]; for (int i = 0; i < dirItem.SubDirs().Count(); i++) { - IoItmDir subDir = IoItmDir_.as_(dirItem.SubDirs().FetchAt(i)); + IoItmDir subDir = IoItmDir_.as_(dirItem.SubDirs().Get_at(i)); actl[i] = subDir.Url(); } for (int i = 0; i < dirItem.SubFils().Count(); i++) { - IoItmFil subFil = IoItmFil_.as_(dirItem.SubFils().FetchAt(i)); + IoItmFil subFil = IoItmFil_.as_(dirItem.SubFils().Get_at(i)); actl[i + dirItem.SubDirs().Count()] = subFil.Url(); } Tfds.Eq_ary_str(expd, actl); diff --git a/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java b/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java index ed5057826..4bd5bc4fa 100644 --- a/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java +++ b/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java @@ -92,7 +92,7 @@ public abstract class IoEngine_dir_deep_base { // tst_(dialog, 2, "scan", src_dir0a_dir0a); // } // void tst_(ConsoleDlg_dev dialog, int i, String s, Io_url root) { -// Object o = dialog.Written.FetchAt(i); +// Object o = dialog.Written.Get_at(i); // IoStatusArgs args = (IoStatusArgs)o; // Tfds.Eq(s, args.Op); // Tfds.Eq(root, args.Path); diff --git a/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java b/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java index 98d1e6039..d6e1f20b6 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java @@ -147,12 +147,12 @@ public abstract class IoEngine_fil_basic_base { stream.Read(buffer, 0, textLen); } finally {stream.Rls();} - String actl = String_.new_utf8_(buffer); + String actl = String_.new_u8(buffer); Tfds.Eq("text", actl); } @Test @gplx.Virtual public void OpenStreamWrite() { IoStream stream = IoEngine_xrg_openWrite.new_(fil).Exec(); - byte[] buffer = Bry_.new_utf8_("text"); + byte[] buffer = Bry_.new_u8("text"); int textLen = String_.Len("text"); stream.Write(buffer, 0, textLen); stream.Rls(); @@ -160,12 +160,12 @@ public abstract class IoEngine_fil_basic_base { fx.tst_LoadFilStr(fil, "text"); } // @Test public virtual void OpenStreamWrite_in_place() { -// byte[] buffer = Bry_.new_utf8_("a|b|c"); +// byte[] buffer = Bry_.new_u8("a|b|c"); // IoStream stream = IoEngine_xrg_openWrite.new_(fil).Exec(); // stream.Write(buffer, 0, buffer.length); // stream.Rls(); // -// buffer = Bry_.new_utf8_("B"); +// buffer = Bry_.new_u8("B"); // stream = IoEngine_xrg_openWrite.new_(fil).Exec(); // stream.Seek(2); // stream.Write(buffer, 0, buffer.length); diff --git a/100_core/tst/gplx/ios/IoEngine_fil_basic_memory_tst.java b/100_core/tst/gplx/ios/IoEngine_fil_basic_memory_tst.java index e0da42132..0e67e2532 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_basic_memory_tst.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_basic_memory_tst.java @@ -31,7 +31,7 @@ public class IoEngine_fil_basic_memory_tst extends IoEngine_fil_basic_base { // bugfix: verify changed file in ownerDir's hash IoItmDir dirItm = fx.tst_ScanDir(fil.OwnerDir(), fil); - IoItmFil_mem filItm = (IoItmFil_mem)dirItm.SubFils().FetchAt(0); + IoItmFil_mem filItm = (IoItmFil_mem)dirItm.SubFils().Get_at(0); Tfds.Eq(filItm.Text(), "changed"); } @Test public void RecycleFil() { @@ -39,10 +39,10 @@ public class IoEngine_fil_basic_memory_tst extends IoEngine_fil_basic_base { fx.tst_ExistsPaths(true, fil); IoRecycleBin bin = IoRecycleBin._; - ListAdp list = Tfds.RscDir.XtoNames(); + List_adp list = Tfds.RscDir.XtoNames(); // foreach (String s in list) // Tfds.Write(s); - list.DelAt(0); // remove drive + list.Del_at(0); // remove drive IoEngine_xrg_recycleFil recycleXrg = bin.Send_xrg(fil) .RootDirNames_(list) .AppName_("gplx.test").Time_(DateAdp_.parse_gplx("20100102_115559123")).Uuid_(Guid_adp_.parse_("467ffb41-cdfe-402f-b22b-be855425784b")); diff --git a/100_core/tst/gplx/ios/IoEngine_fil_basic_system_tst.java b/100_core/tst/gplx/ios/IoEngine_fil_basic_system_tst.java index d2a287cdf..9f467a3b8 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_basic_system_tst.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_basic_system_tst.java @@ -34,7 +34,7 @@ public class IoEngine_fil_basic_system_tst extends IoEngine_fil_basic_base { fx.tst_ExistsPaths(true, fil); IoRecycleBin bin = IoRecycleBin._; - ListAdp list = root.XtoNames(); list.DelAt(0); // remove drive + List_adp list = root.XtoNames(); list.Del_at(0); // remove drive IoEngine_xrg_recycleFil recycleXrg = bin.Send_xrg(fil) .RootDirNames_(list) .AppName_("gplx.test").Time_(DateAdp_.parse_gplx("20100102_115559123")).Uuid_(Guid_adp_.parse_("467ffb41-cdfe-402f-b22b-be855425784b")); diff --git a/100_core/tst/gplx/ios/IoEngine_fil_xfer_memory_tst.java b/100_core/tst/gplx/ios/IoEngine_fil_xfer_memory_tst.java index dff6bbec1..cf3b97ea6 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_xfer_memory_tst.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_xfer_memory_tst.java @@ -22,7 +22,7 @@ public class IoEngine_fil_xfer_memory_tst extends IoEngine_fil_xfer_base { root = Io_url_.mem_dir_("mem"); } @Override protected IoEngine engine_() {return IoEngine_.Mem_init_();} @Override protected Io_url AltRoot() { - Io_mgr._.InitEngine_mem_("mem2"); + Io_mgr.I.InitEngine_mem_("mem2"); return Io_url_.mem_dir_("mem2"); } } diff --git a/100_core/tst/gplx/ios/IoEngine_stream_xfer_tst.java b/100_core/tst/gplx/ios/IoEngine_stream_xfer_tst.java index 08dd8d4bb..a4418ee9d 100644 --- a/100_core/tst/gplx/ios/IoEngine_stream_xfer_tst.java +++ b/100_core/tst/gplx/ios/IoEngine_stream_xfer_tst.java @@ -21,7 +21,7 @@ public class IoEngine_stream_xfer_tst { @Before public void setup() { srcEngine = IoEngine_memory.new_("mock1"); trgEngine = IoEngine_memory.new_("mock2"); - IoEnginePool._.AddReplace(srcEngine); IoEnginePool._.AddReplace(trgEngine); + IoEnginePool._.Add_if_dupe_use_nth(srcEngine); IoEnginePool._.Add_if_dupe_use_nth(trgEngine); IoUrlInfoRegy._.Reg(IoUrlInfo_.mem_("mem1/", srcEngine.Key())); IoUrlInfoRegy._.Reg(IoUrlInfo_.mem_("mem2/", trgEngine.Key())); srcDir = Io_url_.mem_dir_("mem1/dir"); trgDir = Io_url_.mem_dir_("mem2/dir"); diff --git a/100_core/tst/gplx/ios/IoEngine_xrg_queryDir_tst.java b/100_core/tst/gplx/ios/IoEngine_xrg_queryDir_tst.java index 2b06f5207..dab411088 100644 --- a/100_core/tst/gplx/ios/IoEngine_xrg_queryDir_tst.java +++ b/100_core/tst/gplx/ios/IoEngine_xrg_queryDir_tst.java @@ -46,7 +46,7 @@ public class IoEngine_xrg_queryDir_tst { tst_ExecPathAry(finder_().DirInclude_() // include dirs; NOTE: fil1A not returned b/c Recur_ is not true , dir_("dirA"), fil_("fil1.txt")); } - @Test public void SortBy() { + @Test public void Sort_by() { save_text_(fil_("fil2a.txt"), fil_("fil1.txt")); tst_ExecPathAry(finder_() // default: sortByAscOrder @@ -58,7 +58,7 @@ public class IoEngine_xrg_queryDir_tst { Io_url[] save_text_(Io_url... ary) { for (Io_url url : ary) - Io_mgr._.SaveFilStr(url, url.Raw()); + Io_mgr.I.SaveFilStr(url, url.Raw()); return ary; } void tst_ExecPathAry(IoEngine_xrg_queryDir finder, Io_url... expd) {Tfds.Eq_ary(expd, finder.ExecAsUrlAry());} diff --git a/100_core/tst/gplx/ios/IoItmDir_FetchDeepOrNull_tst.java b/100_core/tst/gplx/ios/IoItmDir_FetchDeepOrNull_tst.java index 0ef1c9315..25233d520 100644 --- a/100_core/tst/gplx/ios/IoItmDir_FetchDeepOrNull_tst.java +++ b/100_core/tst/gplx/ios/IoItmDir_FetchDeepOrNull_tst.java @@ -25,8 +25,8 @@ public class IoItmDir_FetchDeepOrNull_tst { @Test public void FetchDeepOrNull() { tst_FetchDeepOrNull(rootDir, drive.GenSubDir("sub1"), true); tst_FetchDeepOrNull(rootDir, drive.GenSubDir("sub2"), false); - tst_FetchDeepOrNull(rootDir.SubDirs().FetchAt(0), drive.GenSubDir("sub1"), true); - tst_FetchDeepOrNull(rootDir.SubDirs().FetchAt(0), drive.GenSubDir("sub2"), false); + tst_FetchDeepOrNull(rootDir.SubDirs().Get_at(0), drive.GenSubDir("sub1"), true); + tst_FetchDeepOrNull(rootDir.SubDirs().Get_at(0), drive.GenSubDir("sub2"), false); } void tst_FetchDeepOrNull(Object rootDirObj, Io_url find, boolean expdFound) { IoItmDir rootDir = IoItmDir_.as_(rootDirObj); diff --git a/100_core/tst/gplx/ios/IoUrl_lnx_tst.java b/100_core/tst/gplx/ios/IoUrl_lnx_tst.java index 250fe8a5a..912e4045a 100644 --- a/100_core/tst/gplx/ios/IoUrl_lnx_tst.java +++ b/100_core/tst/gplx/ios/IoUrl_lnx_tst.java @@ -46,7 +46,7 @@ public class IoUrl_lnx_tst { @Test public void OwnerDir() { fx.tst_OwnerDir(Io_url_.lnx_dir_("/home/lnxusr"), Io_url_.lnx_dir_("/home")); fx.tst_OwnerDir(Io_url_.lnx_dir_("/fil.txt"), Io_url_.lnx_dir_("/")); - fx.tst_OwnerDir(Io_url_.lnx_dir_("/"), Io_url_.Null); + fx.tst_OwnerDir(Io_url_.lnx_dir_("/"), Io_url_.Empty); } @Test public void NameAndExt() { fx.tst_NameAndExt(Io_url_.lnx_fil_("/fil.txt"), "fil.txt"); diff --git a/100_core/tst/gplx/ios/IoUrl_wnt_tst.java b/100_core/tst/gplx/ios/IoUrl_wnt_tst.java index 341b47af2..ed10bbd58 100644 --- a/100_core/tst/gplx/ios/IoUrl_wnt_tst.java +++ b/100_core/tst/gplx/ios/IoUrl_wnt_tst.java @@ -42,8 +42,8 @@ public class IoUrl_wnt_tst { @Test public void OwnerDir() { fx.tst_OwnerDir(Io_url_.wnt_dir_("C:\\dir\\sub1"), Io_url_.wnt_dir_("C:\\dir")); fx.tst_OwnerDir(Io_url_.wnt_fil_("C:\\fil.txt"), Io_url_.wnt_dir_("C:")); - fx.tst_OwnerDir(Io_url_.wnt_dir_("C:"), Io_url_.Null); -// fx.tst_OwnerDir(Io_url_.wnt_fil_("press enter to select this folder"), Io_url_.Null); + fx.tst_OwnerDir(Io_url_.wnt_dir_("C:"), Io_url_.Empty); +// fx.tst_OwnerDir(Io_url_.wnt_fil_("press enter to select this folder"), Io_url_.Empty); } @Test public void NameAndExt() { fx.tst_NameAndExt(Io_url_.wnt_fil_("C:\\fil.txt"), "fil.txt"); @@ -81,7 +81,7 @@ public class IoUrl_wnt_tst { class IoUrlFxt { public void tst_Xto_api(Io_url url, String expd) {Tfds.Eq(expd, url.Xto_api());} public void tst_OwnerRoot(Io_url url, String expd) {Tfds.Eq(expd, url.OwnerRoot().Raw());} - public void tst_XtoNames(Io_url url, String... expdAry) {Tfds.Eq_ary(expdAry, url.XtoNames().XtoStrAry());} + public void tst_XtoNames(Io_url url, String... expdAry) {Tfds.Eq_ary(expdAry, url.XtoNames().To_str_ary());} public void tst_NameAndExt(Io_url url, String expd) {Tfds.Eq(expd, url.NameAndExt());} public void tst_Xto_gplx(Io_url url, String expd) {Tfds.Eq(expd, url.Raw());} public void tst_IsDir(Io_url url, boolean expd) {Tfds.Eq(expd, url.Type_dir());} diff --git a/100_core/tst/gplx/stores/xmls/XmlDataRdr_tst.java b/100_core/tst/gplx/stores/xmls/XmlDataRdr_tst.java index 7ee94b7c1..cb5252131 100644 --- a/100_core/tst/gplx/stores/xmls/XmlDataRdr_tst.java +++ b/100_core/tst/gplx/stores/xmls/XmlDataRdr_tst.java @@ -91,11 +91,11 @@ class XmlDataRdr_fxt { public DataRdr rdr_(String... ary) {return XmlDataRdr_.text_(String_.Concat(ary));} public void tst_Subs_ByName(DataRdr rdr, String xpath, String key, String... expdAry) { DataRdr subRdr = rdr.Subs_byName(xpath); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); while (subRdr.MoveNextPeer()) list.Add(subRdr.Read(key)); - String[] actlAry = list.XtoStrAry(); + String[] actlAry = list.To_str_ary(); Tfds.Eq_ary(actlAry, expdAry); } public static XmlDataRdr_fxt new_() {return new XmlDataRdr_fxt();} XmlDataRdr_fxt() {} diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr.java index 7025efd28..155d3fcfe 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr.java @@ -29,6 +29,6 @@ public interface GfmlLxr extends GfoEvObj { class GfmlLxrRegy { public int Count() {return hash.Count();} public void Add(GfmlLxr lxr) {hash.Add(lxr.Key(), lxr);} - public GfmlLxr Fetch(String key) {return (GfmlLxr)hash.Fetch(key);} - HashAdp hash = HashAdp_.new_(); + public GfmlLxr Get_by(String key) {return (GfmlLxr)hash.Get_by(key);} + Hash_adp hash = Hash_adp_.new_(); } diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlObjList.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlObjList.java index f3ec78286..12f8d0e82 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlObjList.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlObjList.java @@ -16,10 +16,10 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.gfml; import gplx.*; -public class GfmlObjList extends ListAdp_base { - @gplx.New public GfmlObj FetchAt(int idx) {return (GfmlObj)FetchAt_base(idx);} +public class GfmlObjList extends List_adp_base { + @gplx.New public GfmlObj Get_at(int idx) {return (GfmlObj)Get_at_base(idx);} public void Add(GfmlObj tkn) {Add_base(tkn);} - public void AddAt(GfmlObj tkn, int idx) {super.AddAt_base(idx, tkn);} + public void Add_at(GfmlObj tkn, int idx) {super.AddAt_base(idx, tkn);} public void Del(GfmlObj tkn) {Del_base(tkn);} public static GfmlObjList new_() {return new GfmlObjList();} GfmlObjList() {} } diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java index 40ce14008..35bf985a7 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java @@ -33,7 +33,7 @@ public class GfmlTkn_ { @gplx.Internal protected static GfmlTkn composite_list_(String tknType, GfmlObjList list) { GfmlTkn[] ary = new GfmlTkn[list.Count()]; for (int i = 0; i < list.Count(); i++) - ary[i] = (GfmlTkn)list.FetchAt(i); + ary[i] = (GfmlTkn)list.Get_at(i); return GfmlTkn_.composite_(tknType, ary); } } diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java index d6e40d7f8..7a24869a5 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java @@ -21,15 +21,15 @@ public class GfmlTrie { public String[] Symbols() { String[] rv = new String[symbols.Count()]; for (int i = 0; i < rv.length; i++) - rv[i] = String_.cast_(symbols.FetchAt(i)); + rv[i] = String_.cast_(symbols.Get_at(i)); return rv; - } OrderedHash symbols = OrderedHash_.new_(); + } Ordered_hash symbols = Ordered_hash_.new_(); public int LastMatchCount; // PERF: prop is faster than method public Object FindMatch(CharStream stream) { Object result = null; int moveCount = 0; LastMatchCount = 0; IntObjHash_base link = rootLink; while (stream.AtMid()) { - Object found = link.Fetch(stream.Cur()); + Object found = link.Get_by(stream.Cur()); if (found == null) break; // found is null; can happen for false matches; ex: type) { diff --git a/150_gfui/src_700_env/gplx/gfui/Swt_kit.java b/150_gfui/src_700_env/gplx/gfui/Swt_kit.java index 4a34fd205..f2c4b13c2 100644 --- a/150_gfui/src_700_env/gplx/gfui/Swt_kit.java +++ b/150_gfui/src_700_env/gplx/gfui/Swt_kit.java @@ -47,7 +47,7 @@ import gplx.core.threads.Thread_adp_; import gplx.core.threads.*; public class Swt_kit implements Gfui_kit { private final KeyValHash ctor_args = KeyValHash.new_(); private final KeyValHash ctor_args_null = KeyValHash.new_(); - private final HashAdp kit_args = HashAdp_.new_(); private Swt_msg_wkr_stop msg_wkr_stop; + private final Hash_adp kit_args = Hash_adp_.new_(); private Swt_msg_wkr_stop msg_wkr_stop; private Gfo_usr_dlg gui_wtr; private String xul_runner_path = null; private final Bry_fmtr ask_fmtr = Bry_fmtr.new_().Fail_when_invalid_escapes_(false); private final Bry_bfr ask_bfr = Bry_bfr.new_(); private final Object thread_lock = new Object(); @@ -60,7 +60,7 @@ public class Swt_kit implements Gfui_kit { public void Kit_mode_(int v) {synchronized (thread_lock) {mode = v;}} public boolean Kit_mode__ready() {return Kit_mode() == Swt_kit_mode.Tid_ready;} public boolean Kit_mode__term() {return Kit_mode() == Swt_kit_mode.Tid_term;} - public boolean Kit_sync_cmd_exists() {synchronized (thread_lock) {return sync_cmd_list.Count() != 0;}} private final ListAdp sync_cmd_list = ListAdp_.new_(); + public boolean Kit_sync_cmd_exists() {synchronized (thread_lock) {return sync_cmd_list.Count() != 0;}} private final List_adp sync_cmd_list = List_adp_.new_(); public void Kit_sync_cmd_add(Swt_gui_cmd cmd) {synchronized (thread_lock) {sync_cmd_list.Add(cmd);}} public void Kit_sync_cmd_del(Swt_gui_cmd cmd) {synchronized (thread_lock) {sync_cmd_list.Del(cmd);}} public GfoInvkAbleCmd Kit_term_cbk() {return term_cbk;} public void Kit_term_cbk_(GfoInvkAbleCmd v) {this.term_cbk = v;} private GfoInvkAbleCmd term_cbk = GfoInvkAbleCmd.Null; @@ -99,12 +99,12 @@ public class Swt_kit implements Gfui_kit { return; } // add kv to widget_cfg_hash; new controls will get properties from cfg_hash - KeyValHash widget_cfg_hash = (KeyValHash)kit_args.Fetch(type); + KeyValHash widget_cfg_hash = (KeyValHash)kit_args.Get_by(type); if (widget_cfg_hash == null) { widget_cfg_hash = KeyValHash.new_(); kit_args.Add(type, widget_cfg_hash); } - widget_cfg_hash.AddReplace(key, val); + widget_cfg_hash.Add_if_dupe_use_nth(key, val); } public boolean Ask_yes_no(String grp_key, String msg_key, String fmt, Object... args) { Swt_dlg_msg dlg = (Swt_dlg_msg)New_dlg_msg(ask_fmtr.Bld_str_many(ask_bfr, fmt, args)).Init_btns_(Gfui_dlg_msg_.Btn_yes, Gfui_dlg_msg_.Btn_no).Init_ico_(Gfui_dlg_msg_.Ico_question); @@ -149,7 +149,7 @@ public class Swt_kit implements Gfui_kit { public Gfui_html New_html(String key, GfuiElem owner, KeyVal... args) { ctor_args.Clear(); // check cfg for browser type - KeyValHash html_cfg_args = (KeyValHash)kit_args.Fetch(Gfui_kit_.Cfg_HtmlBox); + KeyValHash html_cfg_args = (KeyValHash)kit_args.Get_by(Gfui_kit_.Cfg_HtmlBox); if (html_cfg_args != null) { KeyVal browser_type = html_cfg_args.FetchOrNull(Cfg_Html_BrowserType); if (browser_type != null) ctor_args.Add(browser_type); @@ -190,7 +190,7 @@ public class Swt_kit implements Gfui_kit { public Gfui_dlg_file New_dlg_file(byte type, String msg) {return new Swt_dlg_file(type, shell).Init_msg_(msg);} public Gfui_dlg_msg New_dlg_msg(String msg) {return new Swt_dlg_msg(shell).Init_msg_(msg);} public ImageAdp New_img_load(Io_url url) { - if (url == Io_url_.Null) return ImageAdp_.Null; + if (url == Io_url_.Empty) return ImageAdp_.Null; Image img = new Image(display, url.Raw()); Rectangle rect = img.getBounds(); return new Swt_img(this, img, rect.width, rect.height).Url_(url); @@ -242,6 +242,7 @@ public class Swt_kit implements Gfui_kit { public static final String Cfg_Html_BrowserType = "BrowserType"; public static int Cfg_Html_BrowserType_parse(String v) { if (String_.Eq(v, "mozilla")) return Swt_html.Browser_tid_mozilla; + else if (String_.Eq(v, "webkit")) return Swt_html.Browser_tid_webkit; else return Swt_html.Browser_tid_none; } public static FontAdp Control_font_get(Font font, GxwCore_base owner) { diff --git a/150_gfui/tst/gplx/gfui/GfuiFocusOrderer_tst.java b/150_gfui/tst/gplx/gfui/GfuiFocusOrderer_tst.java index 9a73656a6..d6c01e01f 100644 --- a/150_gfui/tst/gplx/gfui/GfuiFocusOrderer_tst.java +++ b/150_gfui/tst/gplx/gfui/GfuiFocusOrderer_tst.java @@ -20,7 +20,7 @@ import org.junit.*; public class GfuiFocusOrderer_tst { @Before public void setup() { owner = GfuiElem_.new_(); - list = ListAdp_.new_(); // list of all controls + list = List_adp_.new_(); // list of all controls } @Test public void Horizontal() { ini_Subs(owner, list, xy_(40, 0), xy_(20, 0), xy_(0, 0)); @@ -57,8 +57,8 @@ public class GfuiFocusOrderer_tst { ini_Subs(owner, list, xy_(0, 0), xy_(20, 0)); tst_FocusIndxs(owner, list, 0, 1); - GfuiElem sub1 = owner.SubElems().FetchAt(0); - GfuiElem sub2 = owner.SubElems().FetchAt(1); + GfuiElem sub1 = owner.SubElems().Get_at(0); + GfuiElem sub2 = owner.SubElems().Get_at(1); sub1.Focus_idx_(1); sub2.Focus_idx_(0); @@ -66,8 +66,8 @@ public class GfuiFocusOrderer_tst { tst_FocusIndxs(owner, list, 1, 0); } PointAdp xy_(int x, int y) {return PointAdp_.new_(x, y);} - GfuiElem sub_(GfuiElem owner, int i) {return owner.SubElems().FetchAt(i);} - void ini_Subs(GfuiElem owner, ListAdp list, PointAdp... points) { + GfuiElem sub_(GfuiElem owner, int i) {return owner.SubElems().Get_at(i);} + void ini_Subs(GfuiElem owner, List_adp list, PointAdp... points) { for (int i = 0; i < points.length; i++) { GfuiElem sub = GfuiElem_.sub_(Int_.Xto_str(i), owner); sub.Pos_(points[i]); @@ -75,13 +75,13 @@ public class GfuiFocusOrderer_tst { list.Add(sub); } } - void tst_FocusIndxs(GfuiElem owner, ListAdp list, int... expd) { + void tst_FocusIndxs(GfuiElem owner, List_adp list, int... expd) { int[] actl = new int[list.Count()]; for (int i = 0; i < actl.length; i++) { - GfuiElem sub = (GfuiElem)list.FetchAt(i); + GfuiElem sub = (GfuiElem)list.Get_at(i); actl[i] = sub.UnderElem().Core().Focus_index(); } Tfds.Eq_ary(expd, actl); } - GfuiElem owner; ListAdp list; + GfuiElem owner; List_adp list; } diff --git a/150_gfui/tst/gplx/gfui/GfxItmList.java b/150_gfui/tst/gplx/gfui/GfxItmList.java index cec13f7ca..c29be7192 100644 --- a/150_gfui/tst/gplx/gfui/GfxItmList.java +++ b/150_gfui/tst/gplx/gfui/GfxItmList.java @@ -16,14 +16,14 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.gfui; import gplx.*; -public class GfxItmList extends ListAdp_base { - @gplx.New public GfxItm FetchAt(int i) {return (GfxItm)FetchAt_base(i);} +public class GfxItmList extends List_adp_base { + @gplx.New public GfxItm Get_at(int i) {return (GfxItm)Get_at_base(i);} public void Add(GfxItm gfxItm) {Add_base(gfxItm);} } class GfxItmListFxt { public void tst_SubItm_count(GfxAdpMok gfx, int expd) {Tfds.Eq(expd, gfx.SubItms().Count());} public void tst_SubItm(GfxAdpMok gfx, int i, GfxItm expd) { - GfxItm actl = gfx.SubItms().FetchAt(i); + GfxItm actl = gfx.SubItms().Get_at(i); Tfds.Eq(expd, actl); } public static GfxItmListFxt new_() {return new GfxItmListFxt();} GfxItmListFxt() {} diff --git a/150_gfui/tst/gplx/gfui/ImageAdp_tst.java b/150_gfui/tst/gplx/gfui/ImageAdp_tst.java index c139b152e..04e07a187 100644 --- a/150_gfui/tst/gplx/gfui/ImageAdp_tst.java +++ b/150_gfui/tst/gplx/gfui/ImageAdp_tst.java @@ -33,13 +33,13 @@ public class ImageAdp_tst { @Test public void SaveAsBmp() { img = ImageAdp_.file_(load); Io_url save = load.GenNewNameOnly("strawberry_temp"); - DateAdp beforeModifiedTime = Io_mgr._.QueryFil(save).ModifiedTime(); + DateAdp beforeModifiedTime = Io_mgr.I.QueryFil(save).ModifiedTime(); img.SaveAsBmp(save); - DateAdp afterModifiedTime = Io_mgr._.QueryFil(save).ModifiedTime(); + DateAdp afterModifiedTime = Io_mgr.I.QueryFil(save).ModifiedTime(); Tfds.Eq_true(CompareAble_.Is_more(afterModifiedTime, beforeModifiedTime)); - String loadHash = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, Io_mgr._.OpenStreamRead(load)); - String saveHash = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, Io_mgr._.OpenStreamRead(save)); + String loadHash = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, Io_mgr.I.OpenStreamRead(load)); + String saveHash = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, Io_mgr.I.OpenStreamRead(save)); Tfds.Eq(loadHash, saveHash); } } diff --git a/150_gfui/tst/gplx/gfui/TabBox_tst.java b/150_gfui/tst/gplx/gfui/TabBox_tst.java index 89a981f5a..bd71db016 100644 --- a/150_gfui/tst/gplx/gfui/TabBox_tst.java +++ b/150_gfui/tst/gplx/gfui/TabBox_tst.java @@ -25,16 +25,16 @@ public class TabBox_tst { // fx.Make(1).tst_Selected("0").FetchBtnAt(0).tst_X(0); // fx.Make(3).tst_Selected("2").FetchBtnAt(2).tst_X(160); } -// @Test public void DelAt() { -// fx.Make(2).DelAt(1).tst_Btns("0"); -// fx.Make(2).DelAt(0).tst_Btns("1"); -// fx.Make(3).DelAt(0).tst_Btns("1", "2"); -// fx.Make(3).DelAt(1).tst_Btns("0", "2"); -// fx.Make(3).DelAt(2).tst_Btns("0", "1"); +// @Test public void Del_at() { +// fx.Make(2).Del_at(1).tst_Btns("0"); +// fx.Make(2).Del_at(0).tst_Btns("1"); +// fx.Make(3).Del_at(0).tst_Btns("1", "2"); +// fx.Make(3).Del_at(1).tst_Btns("0", "2"); +// fx.Make(3).Del_at(2).tst_Btns("0", "1"); -// fx.Make(3).Select(1).DelAt(1).tst_Selected("2"); // 1 deleted; 2 shifted down into slot -// fx.Make(3).Select(1).DelAt(0).tst_Selected("1"); // 0 deleted; 1 still remains active (but will have idx of 0 -// fx.Make(3).Select(2).DelAt(2).tst_Selected("1"); // 2 deleted; 1 selected +// fx.Make(3).Select(1).Del_at(1).tst_Selected("2"); // 1 deleted; 2 shifted down into slot +// fx.Make(3).Select(1).Del_at(0).tst_Selected("1"); // 0 deleted; 1 still remains active (but will have idx of 0 +// fx.Make(3).Select(2).Del_at(2).tst_Selected("1"); // 2 deleted; 1 selected // } // @Test public void Selected_byAdd() { // fx.Make(2).Select(0).tst_Selected("0").Select(1).tst_Selected("1"); @@ -42,7 +42,7 @@ public class TabBox_tst { // @Test public void Selected_byBtn() { // fx.Make(2).tst_Selected("1"); // -// GfuiBtn btn = fx.TabBox().SubBtnArea().FetchAt(0); +// GfuiBtn btn = fx.TabBox().SubBtnArea().Get_at(0); // btn.Click(); // fx.tst_Selected("0"); // } @@ -73,27 +73,27 @@ class TabBoxFxt implements GfoInvkAble { tabBox.Tabs_Add(Int_.Xto_str(i), Int_.Xto_str(i)); return this; } - @gplx.Internal protected TabBoxFxt DelAt(int index) {tabBox.Tabs_DelAt(index); return this;} + @gplx.Internal protected TabBoxFxt Del_at(int index) {tabBox.Tabs_DelAt(index); return this;} // @gplx.Internal protected TabBoxFxt Select(int index) {tabBox.Tabs_Select(index); return this;} @gplx.Internal protected GfuiElemFxt FetchBtnAt(int index) { - GfuiBtn btn = (GfuiBtn)tabBox.BtnBox().SubElems().FetchAt(index); + GfuiBtn btn = (GfuiBtn)tabBox.BtnBox().SubElems().Get_at(index); GfuiElemFxt fx_elem = GfuiElemFxt.new_(btn); return fx_elem; } // @gplx.Internal protected TabBoxFxt tst_BtnX(int idx, int expdX) { -// Tfds.Eq(expdX, tabBox.SubBtnArea().FetchAt(idx).X()); +// Tfds.Eq(expdX, tabBox.SubBtnArea().Get_at(idx).X()); // return this; // } @gplx.Internal protected TabBoxFxt tst_Selected(String expd) { TabPnlItm curTab = tabBox.Tabs_SelectedItm(); - GfuiBtn btn = (GfuiBtn)tabBox.BtnBox().SubElems().FetchAt(curTab.Idx()); + GfuiBtn btn = (GfuiBtn)tabBox.BtnBox().SubElems().Get_at(curTab.Idx()); Tfds.Eq(expd, btn.Text()); return this; } @gplx.Internal protected TabBoxFxt tst_Btns(String... expd) { String[] actl = new String[tabBox.Tabs_Count() ]; for (int i = 0; i < tabBox.Tabs_Count() ; i++) { - GfuiBtn button = (GfuiBtn)tabBox.BtnBox().SubElems().FetchAt(i); + GfuiBtn button = (GfuiBtn)tabBox.BtnBox().SubElems().Get_at(i); actl[i] = button.TextMgr().Val(); } Tfds.Eq_ary(expd, actl); @@ -109,8 +109,8 @@ class TabBoxFxt implements GfoInvkAble { // return this; // } // @gplx.Internal protected TabBoxFxt tst_FocusOrder() { -// for (int i = 0; i < tabBox.SubBtnArea().SubZones().FetchAt(0).Count(); i++) { -// GfuiElem subBtn = (GfuiElem)tabBox.SubBtnArea().SubZones().FetchAt(0).FetchAt(i); +// for (int i = 0; i < tabBox.SubBtnArea().SubZones().Get_at(0).Count(); i++) { +// GfuiElem subBtn = (GfuiElem)tabBox.SubBtnArea().SubZones().Get_at(0).Get_at(i); // Tfds.Eq(i, subBtn.UnderElem().Core().Focus_index()); // } // return this; diff --git a/150_gfui/xtn/gplx/gfui/Swt_html.java b/150_gfui/xtn/gplx/gfui/Swt_html.java index 47a3ee074..5801541e2 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_html.java +++ b/150_gfui/xtn/gplx/gfui/Swt_html.java @@ -61,11 +61,11 @@ class Swt_html implements Gxw_html, Swt_control, FocusListener { public String Html_doc_html() {return Eval_script_as_str(kit.Html_cfg().Doc_html());} public void Html_doc_html_load_by_mem(String html) { html_doc_html_load_tid = Gxw_html_load_tid_.Tid_mem; - browser.setText(html); // DBG: Io_mgr._.SaveFilStr(Io_url_.new_fil_("C:\\temp.txt"), s) + browser.setText(html); // DBG: Io_mgr.I.SaveFilStr(Io_url_.new_fil_("C:\\temp.txt"), s) } public void Html_doc_html_load_by_url(String path, String html) { html_doc_html_load_tid = Gxw_html_load_tid_.Tid_url; - Io_mgr._.SaveFilStr(path, html); + Io_mgr.I.SaveFilStr(path, html); browser.setUrl(path); } public byte Html_doc_html_load_tid() {return html_doc_html_load_tid;} private byte html_doc_html_load_tid; @@ -120,7 +120,7 @@ class Swt_html implements Gxw_html, Swt_control, FocusListener { return Eval_script_as_exec(kit.Html_cfg().Window_vpos_(node_path.Val(), scroll_top.Val())); } private String_obj_ref scroll_top = String_obj_ref.null_(), node_path = String_obj_ref.null_(); public boolean Html_doc_find(String elem_id, String find, boolean dir_fwd, boolean case_match, boolean wrap_find) { - if (String_.Eq(find, String_.Empty)) return false; + // if (String_.Eq(find, String_.Empty)) return false; find = String_.Replace(find, "\\", "\\\\"); // escape \ -> \\ find = String_.Replace(find, "'", "\\'"); // escape ' -> \'; NOTE: \\' instead of \' boolean search_text_is_diff = !String_.Eq(find, prv_find_str); @@ -167,7 +167,7 @@ class Swt_html implements Gxw_html, Swt_control, FocusListener { public static final int Browser_tid_none = SWT.NONE , Browser_tid_mozilla = SWT.MOZILLA - , Browser_tid_webKit = SWT.WEBKIT + , Browser_tid_webkit = SWT.WEBKIT ; } class Swt_core_cmds_html extends Swt_core_cmds { diff --git a/150_gfui/xtn/gplx/gfui/Swt_img.java b/150_gfui/xtn/gplx/gfui/Swt_img.java index 04752a8ce..113c35824 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_img.java +++ b/150_gfui/xtn/gplx/gfui/Swt_img.java @@ -27,7 +27,7 @@ class Swt_img implements ImageAdp { public SizeAdp Size() {if (size == null) size = SizeAdp_.new_(width, height); return size;} SizeAdp size; public int Width() {return width;} int width; public int Height() {return height;} int height; - public Io_url Url() {return url;} public ImageAdp Url_(Io_url v) {url = v; return this;} Io_url url = Io_url_.Null; + public Io_url Url() {return url;} public ImageAdp Url_(Io_url v) {url = v; return this;} Io_url url = Io_url_.Empty; public Object Under() {return under;} Image under; public boolean Disposed() {return under.isDisposed();} public void Rls() {under.dispose();} diff --git a/150_gfui/xtn/gplx/gfui/Swt_win.java b/150_gfui/xtn/gplx/gfui/Swt_win.java index fd311870a..2215411b3 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_win.java +++ b/150_gfui/xtn/gplx/gfui/Swt_win.java @@ -65,7 +65,7 @@ class Swt_win implements GxwWin, Swt_control { } boolean pin = false; public IconAdp IconWin() {return icon;} IconAdp icon; public void IconWin_set(IconAdp i) { - if (i == null || i.Url() == Io_url_.Null) return; + if (i == null || i.Url() == Io_url_.Empty) return; icon = i; Image image = null; try { diff --git a/400_xowa/.classpath b/400_xowa/.classpath index 70444e82f..f9dfc7fee 100644 --- a/400_xowa/.classpath +++ b/400_xowa/.classpath @@ -9,7 +9,6 @@ - diff --git a/400_xowa/src/gplx/cache/Gfo_cache_mgr_base.java b/400_xowa/src/gplx/cache/Gfo_cache_mgr_base.java index b6022302d..75d1b6e54 100644 --- a/400_xowa/src/gplx/cache/Gfo_cache_mgr_base.java +++ b/400_xowa/src/gplx/cache/Gfo_cache_mgr_base.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx.cache; import gplx.*; public class Gfo_cache_mgr_base { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public int Compress_max() {return compress_max;} public void Compress_max_(int v) {compress_max = v;} private int compress_max = 16; public int Compress_to() {return compress_to;} public void Compress_to_(int v) {compress_to = v;} private int compress_to = 8; protected Object Base_get_or_null(byte[] key) { - Object rv_obj = hash.Fetch(key); + Object rv_obj = hash.Get_by(key); return rv_obj == null ? null : ((Gfo_cache_itm)rv_obj).Val(); } protected void Base_add(byte[] key, Object val) { @@ -33,15 +33,15 @@ public class Gfo_cache_mgr_base { hash.Del(key); } public void Compress() { - hash.SortBy(Gfo_cache_itm_comparer.Touched_asc); + hash.Sort_by(Gfo_cache_itm_comparer.Touched_asc); int del_len = hash.Count() - compress_to; - ListAdp del_list = ListAdp_.new_(); + List_adp del_list = List_adp_.new_(); for (int i = 0; i < del_len; i++) { - Gfo_cache_itm itm = (Gfo_cache_itm)hash.FetchAt(i); + Gfo_cache_itm itm = (Gfo_cache_itm)hash.Get_at(i); del_list.Add(itm); } for (int i = 0; i < del_len; i++) { - Gfo_cache_itm itm = (Gfo_cache_itm)del_list.FetchAt(i); + Gfo_cache_itm itm = (Gfo_cache_itm)del_list.Get_at(i); hash.Del(itm.Key()); } } diff --git a/400_xowa/src/gplx/cache/Gfo_cache_mgr_bry.java b/400_xowa/src/gplx/cache/Gfo_cache_mgr_bry.java index e38b1f986..fd3b6eebe 100644 --- a/400_xowa/src/gplx/cache/Gfo_cache_mgr_bry.java +++ b/400_xowa/src/gplx/cache/Gfo_cache_mgr_bry.java @@ -46,7 +46,7 @@ class Io_url_exists_mgr { byte[] url_key = url.RawBry(); Object rv_obj = cache_mgr.Get_or_null(url_key); if (rv_obj != null) return ((Bool_obj_ref)rv_obj).Val(); // cached val exists; use it - boolean exists = Io_mgr._.ExistsFil(url); + boolean exists = Io_mgr.I.ExistsFil(url); cache_mgr.Add(url_key, Bool_obj_ref.new_(exists)); return exists; } diff --git a/400_xowa/src/gplx/core/brys/Bit_.java b/400_xowa/src/gplx/core/brys/Bit_.java index 81339951e..c8b6ff075 100644 --- a/400_xowa/src/gplx/core/brys/Bit_.java +++ b/400_xowa/src/gplx/core/brys/Bit_.java @@ -28,7 +28,7 @@ public class Bit_ { byte[] rv = new byte[8]; for (int i = 0; i < 8; i++) rv[i] = bits[i] ? Byte_ascii.Num_1 : Byte_ascii.Num_0; - return String_.new_ascii_(rv); + return String_.new_a7(rv); } public static int[] Bld_pow_ary(int... seg_ary) { int seg_ary_len = seg_ary.length; diff --git a/400_xowa/src/gplx/core/brys/Bry_rdr.java b/400_xowa/src/gplx/core/brys/Bry_rdr.java index 1e54f48b4..de90405e5 100644 --- a/400_xowa/src/gplx/core/brys/Bry_rdr.java +++ b/400_xowa/src/gplx/core/brys/Bry_rdr.java @@ -85,6 +85,6 @@ public class Bry_rdr { public double Read_double_to_pipe() {return Read_double_to(Byte_ascii.Pipe);} public double Read_double_to(byte to_char) { byte[] double_bry = Read_bry_to(to_char); - return Double_.parse_(String_.new_ascii_(double_bry)); // double will never have utf8 + return Double_.parse_(String_.new_a7(double_bry)); // double will never have utf8 } } \ No newline at end of file diff --git a/400_xowa/src/gplx/core/brys/Bry_rdr_tst.java b/400_xowa/src/gplx/core/brys/Bry_rdr_tst.java index ce1f727bc..1fad2a5bb 100644 --- a/400_xowa/src/gplx/core/brys/Bry_rdr_tst.java +++ b/400_xowa/src/gplx/core/brys/Bry_rdr_tst.java @@ -43,14 +43,14 @@ public class Bry_rdr_tst { class Bry_rdr_fxt { private Bry_rdr rdr; public void Clear() {rdr = new Bry_rdr();} - public Bry_rdr_fxt Init_src(String v) {rdr.Src_(Bry_.new_utf8_(v)); return this;} + public Bry_rdr_fxt Init_src(String v) {rdr.Src_(Bry_.new_u8(v)); return this;} public Bry_rdr_fxt Init_pos(int v) {rdr.Pos_(v); return this;} public void Test_read_int(int expd_val) { Tfds.Eq(expd_val, rdr.Read_int_to_pipe()); } public void Test_read_bry(String expd_str) { byte[] actl_bry = rdr.Read_bry_to_pipe(); - String actl_str = actl_bry == null ? null : String_.new_utf8_(actl_bry); + String actl_str = actl_bry == null ? null : String_.new_u8(actl_bry); Tfds.Eq(expd_str, actl_str); } } diff --git a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java index bf5be0a5f..ed5bfbb71 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java @@ -39,19 +39,19 @@ public class Btrie_bwd_mgr { cur = nxt; } } - public Btrie_bwd_mgr Add_str_byte(String key, byte val) {return Add(Bry_.new_utf8_(key), Byte_obj_val.new_(val));} + public Btrie_bwd_mgr Add_str_byte(String key, byte val) {return Add(Bry_.new_u8(key), Byte_obj_val.new_(val));} public Btrie_bwd_mgr Add_byteVal_strAry(byte val, String... ary) { int ary_len = ary.length; Byte_obj_val byteVal = Byte_obj_val.new_(val); for (int i = 0; i < ary_len; i++) { String itm = ary[i]; - Add(Bry_.new_utf8_(itm), byteVal); + Add(Bry_.new_u8(itm), byteVal); } return this; } - public Btrie_bwd_mgr Add(String key, Object val) {return Add(Bry_.new_utf8_(key), val);} + public Btrie_bwd_mgr Add(String key, Object val) {return Add(Bry_.new_u8(key), val);} public Btrie_bwd_mgr Add(byte[] key, Object val) { - if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_utf8_(key)); + if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_u8(key)); int key_len = key.length; Btrie_slim_itm cur = root; for (int i = key_len - 1; i > -1; i--) { diff --git a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr_tst.java b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr_tst.java index e6cb3229d..c017b4ff4 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr_tst.java +++ b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr_tst.java @@ -24,7 +24,7 @@ public class Btrie_bwd_mgr_tst { run_Add("c" , 1); run_Add("abc" , 123); } - @Test public void Fetch() { + @Test public void Get_by() { ini_setup1(); tst_MatchAtCur("c" , 1); tst_MatchAtCur("abc" , 123); @@ -68,19 +68,19 @@ public class Btrie_bwd_mgr_tst { tst_MatchAtCur("a", 1); tst_MatchAtCur("A", 1); } - private void run_Add(String k, int val) {trie.Add(Bry_.new_utf8_(k), val);} + private void run_Add(String k, int val) {trie.Add(Bry_.new_u8(k), val);} private void tst_Match(String srcStr, byte b, int bgn_pos, int expd) { - byte[] src = Bry_.new_utf8_(srcStr); + byte[] src = Bry_.new_u8(srcStr); Object actl = trie.Match(b, src, bgn_pos, -1); Tfds.Eq(expd, actl); } private void tst_MatchAtCur(String srcStr, Object expd) { - byte[] src = Bry_.new_utf8_(srcStr); + byte[] src = Bry_.new_u8(srcStr); Object actl = trie.Match(src[src.length - 1], src, src.length - 1, -1); Tfds.Eq(expd, actl); } private void tst_MatchAtCurExact(String srcStr, Object expd) { - byte[] src = Bry_.new_utf8_(srcStr); + byte[] src = Bry_.new_u8(srcStr); Object actl = trie.Match_exact(src, src.length - 1, -1); Tfds.Eq(expd, actl); } 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 015fb56cf..54085edf2 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java @@ -44,11 +44,11 @@ public class Btrie_fast_mgr { } public Btrie_fast_mgr Add_bry_bval(byte key, byte val) {return Add(new byte[] {key}, Byte_obj_val.new_(val));} public Btrie_fast_mgr Add_bry_bval(byte[] key, byte val) {return Add(key, Byte_obj_val.new_(val));} - public Btrie_fast_mgr Add_str_byte(String key, byte val) {return Add(Bry_.new_utf8_(key), Byte_obj_val.new_(val));} + public Btrie_fast_mgr Add_str_byte(String key, byte val) {return Add(Bry_.new_u8(key), Byte_obj_val.new_(val));} public Btrie_fast_mgr Add(byte key, Object val) {return Add(new byte[] {key}, val);} - public Btrie_fast_mgr Add(String key, Object val) {return Add(Bry_.new_utf8_(key), val);} + public Btrie_fast_mgr Add(String key, Object val) {return Add(Bry_.new_u8(key), val);} public Btrie_fast_mgr Add(byte[] key, Object val) { - if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_utf8_(key)); + if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_u8(key)); int key_len = key.length; int key_end = key_len - 1; ByteTrieItm_fast cur = root; for (int i = 0; i < key_len; i++) { @@ -63,7 +63,7 @@ public class Btrie_fast_mgr { return this; } public Btrie_fast_mgr Add_stub(byte tid, String s) { - byte[] bry = Bry_.new_utf8_(s); + byte[] bry = Bry_.new_u8(s); Btrie_itm_stub stub = new Btrie_itm_stub(tid, bry); return Add(bry, stub); } diff --git a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr_tst.java b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr_tst.java index 1523c23f7..bbc521ae8 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr_tst.java +++ b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr_tst.java @@ -20,7 +20,7 @@ import org.junit.*; public class Btrie_fast_mgr_tst { private Btrie_fast_mgr_fxt fxt = new Btrie_fast_mgr_fxt(); @Before public void init() {fxt.Clear();} - @Test public void Fetch() { + @Test public void Get_by() { fxt.Test_matchAtCur("a" , 1); fxt.Test_matchAtCur("abc" , 123); fxt.Test_matchAtCur("ab" , 1); @@ -65,21 +65,21 @@ class Btrie_fast_mgr_fxt { } public void Init_add(int val, byte... ary) {trie.Add(ary, val);} public void Test_match(String src_str, byte b, int bgn_pos, int expd) { - byte[] src = Bry_.new_ascii_(src_str); + byte[] src = Bry_.new_a7(src_str); Object actl = trie.Match_bgn_w_byte(b, src, bgn_pos, src.length); Tfds.Eq(expd, actl); } public void Test_matchAtCur(String src_str, Object expd) { - byte[] src = Bry_.new_ascii_(src_str); + byte[] src = Bry_.new_a7(src_str); Object actl = trie.Match_bgn(src, 0, src.length); Tfds.Eq(expd, actl); } public void Test_matchAtCurExact(String src_str, Object expd) { - byte[] src = Bry_.new_ascii_(src_str); + byte[] src = Bry_.new_a7(src_str); Object actl = trie.Match_exact(src, 0, src.length); Tfds.Eq(expd, actl); } public void Exec_del(String src_str) { - trie.Del(Bry_.new_utf8_(src_str)); + trie.Del(Bry_.new_u8(src_str)); } } 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 df2e282e2..1be986dc5 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java @@ -41,10 +41,10 @@ public class Btrie_slim_mgr implements Btrie_mgr { } } public Btrie_slim_mgr Add_bry_tid(byte[] bry, byte tid) {return (Btrie_slim_mgr)Add_obj(bry, Byte_obj_val.new_(tid));} - public Btrie_slim_mgr Add_str_byte(String key, byte val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_utf8_(key), Byte_obj_val.new_(val));} - public Btrie_slim_mgr Add_str_int(String key, int val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_utf8_(key), Int_obj_val.new_(val));} - public Btrie_slim_mgr Add_bry(String key, String val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_utf8_(key), Bry_.new_utf8_(val));} - public Btrie_slim_mgr Add_bry(String key, byte[] val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_utf8_(key), val);} + public Btrie_slim_mgr Add_str_byte(String key, byte val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_u8(key), Byte_obj_val.new_(val));} + public Btrie_slim_mgr Add_str_int(String key, int val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_u8(key), Int_obj_val.new_(val));} + public Btrie_slim_mgr Add_bry(String key, String val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_u8(key), Bry_.new_u8(val));} + public Btrie_slim_mgr Add_bry(String key, byte[] val) {return (Btrie_slim_mgr)Add_obj(Bry_.new_u8(key), val);} public Btrie_slim_mgr Add_bry(byte[] v) {return (Btrie_slim_mgr)Add_obj(v, v);} public Btrie_slim_mgr Add_bry_bval(byte b, byte val) {return (Btrie_slim_mgr)Add_obj(new byte[] {b}, Byte_obj_val.new_(val));} public Btrie_slim_mgr Add_bry_bval(byte[] bry, byte val) {return (Btrie_slim_mgr)Add_obj(bry, Byte_obj_val.new_(val));} @@ -52,10 +52,10 @@ public class Btrie_slim_mgr implements Btrie_mgr { int ary_len = ary.length; Byte_obj_val bval = Byte_obj_val.new_(val); for (int i = 0; i < ary_len; i++) - Add_obj(Bry_.new_utf8_(ary[i]), bval); + Add_obj(Bry_.new_u8(ary[i]), bval); return this; } - public Btrie_slim_mgr Add_stub(String key, byte val) {byte[] bry = Bry_.new_utf8_(key); return (Btrie_slim_mgr)Add_obj(bry, new Btrie_itm_stub(val, bry));} + public Btrie_slim_mgr Add_stub(String key, byte val) {byte[] bry = Bry_.new_u8(key); return (Btrie_slim_mgr)Add_obj(bry, new Btrie_itm_stub(val, bry));} public Btrie_slim_mgr Add_stubs(byte[][] ary) {return Add_stubs(ary, ary.length);} public Btrie_slim_mgr Add_stubs(byte[][] ary, int ary_len) { for (byte i = 0; i < ary_len; i++) { @@ -64,9 +64,9 @@ public class Btrie_slim_mgr implements Btrie_mgr { } return this; } - public Btrie_mgr Add_obj(String key, Object val) {return Add_obj(Bry_.new_utf8_(key), val);} + public Btrie_mgr Add_obj(String key, Object val) {return Add_obj(Bry_.new_u8(key), val);} public Btrie_mgr Add_obj(byte[] key, Object val) { - if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_utf8_(key)); + if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_u8(key)); int key_len = key.length; int key_end = key_len - 1; Btrie_slim_itm cur = root; for (int i = 0; i < key_len; i++) { diff --git a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr_tst.java b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr_tst.java index e37c7faca..25261a052 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr_tst.java +++ b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr_tst.java @@ -25,7 +25,7 @@ public class Btrie_slim_mgr_tst { run_Add("a" , 1); run_Add("abc" , 123); } - @Test public void Fetch() { + @Test public void Get_by() { ini_setup1(); tst_MatchAtCur("a" , 1); tst_MatchAtCur("abc" , 123); @@ -65,27 +65,27 @@ public class Btrie_slim_mgr_tst { } @Test public void Del() { ini_setup1(); - trie.Del(Bry_.new_ascii_("a")); // delete "a"; "abc" still remains; + trie.Del(Bry_.new_a7("a")); // delete "a"; "abc" still remains; tst_MatchAtCur("a" , null); tst_MatchAtCur("abc" , 123); - trie.Del(Bry_.new_ascii_("abc")); + trie.Del(Bry_.new_a7("abc")); tst_MatchAtCur("abc" , null); } - private void run_Add(String k, int val) {trie.Add_obj(Bry_.new_ascii_(k), val);} + private void run_Add(String k, int val) {trie.Add_obj(Bry_.new_a7(k), val);} private void tst_Match(String srcStr, byte b, int bgn_pos, int expd) { - byte[] src = Bry_.new_ascii_(srcStr); + byte[] src = Bry_.new_a7(srcStr); Object actl = trie.Match_bgn_w_byte(b, src, bgn_pos, src.length); Tfds.Eq(expd, actl); } private void tst_MatchAtCur(String srcStr, Object expd) { - byte[] src = Bry_.new_ascii_(srcStr); + byte[] src = Bry_.new_a7(srcStr); Object actl = trie.Match_bgn_w_byte(src[0], src, 0, src.length); Tfds.Eq(expd, actl); } private void tst_MatchAtCurExact(String srcStr, Object expd) { - byte[] src = Bry_.new_ascii_(srcStr); + byte[] src = Bry_.new_a7(srcStr); Object actl = trie.Match_exact(src, 0, src.length); Tfds.Eq(expd, actl); } diff --git a/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr.java index 496894997..4754e6c04 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr.java @@ -43,9 +43,9 @@ public class Btrie_utf8_mgr implements Btrie_mgr { } } public void Clear() {root.Clear(); count = 0;} - public Btrie_mgr Add_obj(String key, Object val) {return Add_obj(Bry_.new_utf8_(key), val);} + public Btrie_mgr Add_obj(String key, Object val) {return Add_obj(Bry_.new_u8(key), val);} public Btrie_mgr Add_obj(byte[] key, Object val) { - if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_utf8_(key)); + if (val == null) throw Err_.new_("null objects cannot be registered").Add("key", String_.new_u8(key)); int key_len = key.length; Btrie_utf8_itm cur = root; int c_bgn = 0; diff --git a/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr_tst.java b/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr_tst.java index d8b27eb35..ab8912f6a 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr_tst.java +++ b/400_xowa/src/gplx/core/btries/Btrie_utf8_mgr_tst.java @@ -21,8 +21,8 @@ import gplx.xowa.langs.cases.*; public class Btrie_utf8_mgr_tst { @Before public void init() {fxt.Clear();} private Btrie_utf8_mgr_fxt fxt = new Btrie_utf8_mgr_fxt(); @Test public void Ascii() { - fxt.Init_add(Bry_.new_ascii_("a") , "1"); - fxt.Init_add(Bry_.new_ascii_("abc") , "123"); + fxt.Init_add(Bry_.new_a7("a") , "1"); + fxt.Init_add(Bry_.new_a7("abc") , "123"); fxt.Test_match("a" , "1"); // single.exact fxt.Test_match("abc" , "123"); // many.exact fxt.Test_match("ab" , "1"); // single.more @@ -31,7 +31,7 @@ public class Btrie_utf8_mgr_tst { fxt.Test_match("aBC" , "123"); // upper } @Test public void Uft8() { - fxt.Init_add(Bry_.new_utf8_("aéi") , "1"); + fxt.Init_add(Bry_.new_u8("aéi") , "1"); fxt.Test_match("aéi" , "1"); // exact fxt.Test_match("aÉi" , "1"); // upper.utf8 fxt.Test_match("AÉI" , "1"); // upper.all @@ -39,38 +39,38 @@ public class Btrie_utf8_mgr_tst { fxt.Test_match("aei" , null); // no_match } @Test public void Uft8_match_pos() { - fxt.Init_add(Bry_.new_utf8_("aéi") , "1"); + fxt.Init_add(Bry_.new_u8("aéi") , "1"); fxt.Test_match_pos("aAÉI" , 1, "1"); // match at 1 fxt.Test_match_pos("aAÉI" , 0, null); // no_match at 0 } @Test public void Uft8_asymmetric() { - fxt.Init_add(Bry_.new_utf8_("İ") , "1"); + fxt.Init_add(Bry_.new_u8("İ") , "1"); fxt.Test_match("İ" , "1"); // exact=y; İ = Bry_.ints_(196,176) fxt.Test_match("i" , "1"); // lower=y; i = Bry_.ints_(105) fxt.Test_match("I" , null); // upper=n; I = Bry_.ints_( 73); see Btrie_utf8_itm and rv.asymmetric_bry fxt.Clear(); - fxt.Init_add(Bry_.new_utf8_("i") , "1"); + fxt.Init_add(Bry_.new_u8("i") , "1"); fxt.Test_match("i" , "1"); // exact=y fxt.Test_match("I" , "1"); // upper=y fxt.Test_match("İ" , null); // utf_8=n; note that a trie with "i" doesn't match a src with "İ" even though "İ" lower-cases to "i" } @Test public void Utf8_asymmetric_multiple() { // PURPOSE: problems in original implementation of Hash_adp_bry and uneven source / target counts; - fxt.Init_add(Bry_.new_utf8_("İİ") , "1"); + fxt.Init_add(Bry_.new_u8("İİ") , "1"); fxt.Test_match("İİ" , "1"); // exact fxt.Test_match("ii" , "1"); // lower fxt.Test_match("İi" , "1"); // mixed fxt.Test_match("iİ" , "1"); // mixed } @Test public void Utf8_asymmetric_upper() { // PURPOSE: "İ" and "I" should co-exist; see Btrie_utf8_itm and called_by_match - fxt.Init_add(Bry_.new_utf8_("İ") , "1"); - fxt.Init_add(Bry_.new_utf8_("I") , "1"); + fxt.Init_add(Bry_.new_u8("İ") , "1"); + fxt.Init_add(Bry_.new_u8("I") , "1"); fxt.Test_match("İ" , "1"); // exact fxt.Test_match("I" , "1"); // exact fxt.Test_match("i" , "1"); // lower } @Test public void Utf8_asymmetric_symbols() { // PURPOSE: test Hash_adp_bry and multi-byte syms (chars that will never be cased) - fxt.Init_add(Bry_.new_utf8_("a_b") , "1"); + fxt.Init_add(Bry_.new_u8("a_b") , "1"); fxt.Test_match("a_b" , "1"); // exact: len=3 fxt.Test_match("a†b" , null); // diff : len=3 fxt.Test_match("a±b" , null); // diff : len=2 @@ -84,12 +84,12 @@ class Btrie_utf8_mgr_fxt { } public void Init_add(byte[] key, Object val) {trie.Add_obj(key, val);} public void Test_match_pos(String src_str, int bgn_pos, String expd) { - byte[] src = Bry_.new_utf8_(src_str); + byte[] src = Bry_.new_u8(src_str); Object actl = trie.Match_bgn_w_byte(src[bgn_pos], src, bgn_pos, src.length); Tfds.Eq(expd, actl, src_str); } public void Test_match(String src_str, String expd) { - byte[] src = Bry_.new_utf8_(src_str); + byte[] src = Bry_.new_u8(src_str); Object actl = trie.Match_bgn_w_byte(src[0], src, 0, src.length); Tfds.Eq(expd, actl, src_str); } diff --git a/400_xowa/src/gplx/core/enums/Gfo_enum_grp.java b/400_xowa/src/gplx/core/enums/Gfo_enum_grp.java index dd23365ca..90cc49802 100644 --- a/400_xowa/src/gplx/core/enums/Gfo_enum_grp.java +++ b/400_xowa/src/gplx/core/enums/Gfo_enum_grp.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.core.enums; import gplx.*; import gplx.core.*; class Gfo_enum_grp { -// private OrderedHash itms = OrderedHash_.new_(); +// private Ordered_hash itms = Ordered_hash_.new_(); public Gfo_enum_grp(Guid_adp uid, String key, int id, String name, int sort, String xtn) { this.uid = uid; this.key = key; this.id = id; this.name = name; this.sort = sort; this.xtn = xtn; } diff --git a/400_xowa/src/gplx/core/flds/Gfo_fld_base.java b/400_xowa/src/gplx/core/flds/Gfo_fld_base.java index c9c82a688..dde13f9e1 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_base.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_base.java @@ -43,6 +43,6 @@ public class Gfo_fld_base { protected Gfo_fld_base Ctor_sql_base() { return Escape_clear().Ini_common() .Fld_dlm_(Byte_ascii.Comma).Row_dlm_(Byte_ascii.Paren_end).Escape_dlm_(Byte_ascii.Backslash).Quote_dlm_(Byte_ascii.Apos) - .Escape_reg(Byte_ascii.Backslash).Escape_reg(Byte_ascii.Quote).Escape_reg(Byte_ascii.Apos); // , Escape_eof = Bry_.new_utf8_("\\Z") + .Escape_reg(Byte_ascii.Backslash).Escape_reg(Byte_ascii.Quote).Escape_reg(Byte_ascii.Apos); // , Escape_eof = Bry_.new_u8("\\Z") } } 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 f2c43ef36..ee25146d0 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.core.flds; import gplx.*; import gplx.core.*; public class Gfo_fld_rdr extends Gfo_fld_base { - private Bry_bfr bfr = Bry_bfr.new_(); private static final byte[] Bry_nil = Bry_.new_ascii_("\\0"); + private Bry_bfr bfr = Bry_bfr.new_(); private static final byte[] Bry_nil = Bry_.new_a7("\\0"); public byte[] Data() {return data;} public Gfo_fld_rdr Data_(byte[] v) {data = v; data_len = v.length; pos = 0; return this;} private byte[] data; int data_len; public int Pos() {return pos;} public Gfo_fld_rdr Pos_(int v) {pos = v; return this;} private int pos; public int Fld_bgn() {return fld_bgn;} public Gfo_fld_rdr Fld_bgn_(int v) {fld_bgn = v; return this;} private int fld_bgn; @@ -26,7 +26,7 @@ public class Gfo_fld_rdr extends Gfo_fld_base { public int Row_idx() {return row_idx;} private int row_idx; public void Ini(byte[] data, int pos) {this.data = data; this.data_len = data.length; this.pos = pos;} - public String Read_str_simple() {Move_next_simple(); return String_.new_utf8_(data, fld_bgn, fld_end);} + public String Read_str_simple() {Move_next_simple(); return String_.new_u8(data, fld_bgn, fld_end);} public byte[] Read_bry_simple() {Move_next_simple(); return Bry_.Mid(data, fld_bgn, fld_end);} // was Mid_by_len???; 20120915 public int Read_int_base85_lenN(int len) {fld_bgn = pos; fld_end = pos + len - 1 ; pos = pos + len + 1 ; return Base85_utl.XtoIntByAry(data, fld_bgn, fld_end);} public int Read_int_base85_len5() {fld_bgn = pos; fld_end = pos + 4 ; pos = pos + 6 ; return Base85_utl.XtoIntByAry(data, fld_bgn, fld_end);} @@ -54,7 +54,7 @@ public class Gfo_fld_rdr extends Gfo_fld_base { f += (data[fld_bgn + 16] - Byte_ascii.Num_0) * 100; f += (data[fld_bgn + 17] - Byte_ascii.Num_0) * 10; f += (data[fld_bgn + 18] - Byte_ascii.Num_0); - if (data[fld_bgn + 19] != fld_dlm) throw Err_.new_("csv date is invalid").Add("txt", String_.new_utf8_len_safe_(data, fld_bgn, 20)); + if (data[fld_bgn + 19] != fld_dlm) throw Err_.new_("csv date is invalid").Add("txt", String_.new_u8_by_len(data, fld_bgn, 20)); fld_end = pos + 20; pos = fld_end + 1; ++fld_idx; return DateAdp_.new_(y, M, d, H, m, s, f); @@ -80,7 +80,7 @@ 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.Xto_bry_and_clear());} + public String Read_str_escape() {Move_next_escaped(bfr); return String_.new_u8(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();} 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 f8f10485f..23fcb0b71 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 @@ -39,7 +39,7 @@ public class Gfo_fld_rdr_tst { } class Gfo_fld_rdr_fxt { Gfo_fld_rdr rdr = new Gfo_fld_rdr(); Gfo_fld_wtr wtr = Gfo_fld_wtr.xowa_(); - public Gfo_fld_rdr_fxt Raw_(String v) {rdr.Data_(Bry_.new_utf8_(v)); return this;} + public Gfo_fld_rdr_fxt Raw_(String v) {rdr.Data_(Bry_.new_u8(v)); return this;} public Gfo_fld_rdr_fxt ini_xdat() {rdr.Ctor_xdat(); return this;} public Gfo_fld_rdr_fxt ini_sql() {rdr.Ctor_sql(); return this;} public Gfo_fld_rdr_fxt tst_Read_int(int expd) {Tfds.Eq(expd, rdr.Read_int()); return this;} @@ -47,7 +47,7 @@ class Gfo_fld_rdr_fxt { public Gfo_fld_rdr_fxt tst_Read_str_simple(String expd) {Tfds.Eq(expd, rdr.Read_str_simple()); return this;} public Gfo_fld_rdr_fxt tst_Read_str_escape(String expd) {Tfds.Eq(expd, rdr.Read_str_escape()); return this;} public Gfo_fld_rdr_fxt tst_Write_str_escape(String val, String expd) { - byte[] bry = Bry_.new_utf8_(val); + byte[] bry = Bry_.new_u8(val); wtr.Bfr_(bfr); wtr.Write_bry_escape_fld(bry); Tfds.Eq(expd, bfr.Xto_str()); diff --git a/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java b/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java index f6feff0c0..ce25d1205 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java @@ -51,7 +51,7 @@ public class Gfo_fld_wtr extends Gfo_fld_base { public boolean Flush_needed(int v) {return bfr.Len() + v > bfr_max;} public void Flush() { if (Fil_gen().Cur_url() == null) fil_gen.Nxt_url(); - Io_mgr._.AppendFilBfr(fil_gen.Cur_url(), bfr); + Io_mgr.I.AppendFilBfr(fil_gen.Cur_url(), bfr); } public void Flush_nxt() {Flush(); fil_gen.Nxt_url();} public Gfo_fld_wtr Ctor_xdat() {return (Gfo_fld_wtr)super.Ctor_xdat_base();} diff --git a/400_xowa/src/gplx/core/html/parsers/Gfo_html_parser.java b/400_xowa/src/gplx/core/html/parsers/Gfo_html_parser.java index 740bc83a3..1b1e4b335 100644 --- a/400_xowa/src/gplx/core/html/parsers/Gfo_html_parser.java +++ b/400_xowa/src/gplx/core/html/parsers/Gfo_html_parser.java @@ -25,16 +25,16 @@ class Gfo_html_parser { // int src_len = src.length; // int prv_pos = 0; // int css_find_bgn_len = Css_find_bgn.length; -// byte[] protocol_prefix_bry = Bry_.new_utf8_(protocol_prefix); +// byte[] protocol_prefix_bry = Bry_.new_u8(protocol_prefix); // while (true) { // int url_bgn = Bry_finder.Find_fwd(src, Css_find_bgn, prv_pos); if (url_bgn == Bry_.NotFound) break; // nothing left; stop // url_bgn += css_find_bgn_len; -// int url_end = Bry_finder.Find_fwd(src, Byte_ascii.Quote, url_bgn, src_len); if (url_end == Bry_.NotFound) {usr_dlg.Warn_many("", "main_page.css_parse", "could not find css; pos='~{0}' text='~{1}'", url_bgn, String_.new_utf8_len_safe_(src, url_bgn, url_bgn + 32)); break;} +// int url_end = Bry_finder.Find_fwd(src, Byte_ascii.Quote, url_bgn, src_len); if (url_end == Bry_.NotFound) {usr_dlg.Warn_many("", "main_page.css_parse", "could not find css; pos='~{0}' text='~{1}'", url_bgn, String_.new_u8_by_len(src, url_bgn, url_bgn + 32)); break;} // byte[] css_url_bry = Bry_.Mid(src, url_bgn, url_end); // css_url_bry = Bry_.Replace(css_url_bry, Css_amp_find, Css_amp_repl); // & -> & // css_url_bry = url_encoder.Decode(css_url_bry); // %2C -> %7C -> | // css_url_bry = Bry_.Add(protocol_prefix_bry, css_url_bry); -// rv.Add(String_.new_utf8_(css_url_bry)); +// rv.Add(String_.new_u8(css_url_bry)); // prv_pos = url_end; // } // return rv.XtoStrAry(); diff --git a/400_xowa/src/gplx/core/html/parsers/Xob_html_tkn.java b/400_xowa/src/gplx/core/html/parsers/Xob_html_tkn.java index 8db3ee9a8..ac7267ae9 100644 --- a/400_xowa/src/gplx/core/html/parsers/Xob_html_tkn.java +++ b/400_xowa/src/gplx/core/html/parsers/Xob_html_tkn.java @@ -24,7 +24,7 @@ interface Gfo_html_tkn { } class Gfo_html_tkn_ { public static final int Tid_link = 1; - public static final byte[] Key_link = Bry_.new_ascii_("link"); + public static final byte[] Key_link = Bry_.new_a7("link"); } class Gfo_html_tkn__link implements Gfo_html_tkn { public int Tid() {return Gfo_html_tkn_.Tid_link;} diff --git a/400_xowa/src/gplx/core/lists/Binary_search_.java b/400_xowa/src/gplx/core/lists/Binary_search_.java index 7a154cd29..a0a5875c8 100644 --- a/400_xowa/src/gplx/core/lists/Binary_search_.java +++ b/400_xowa/src/gplx/core/lists/Binary_search_.java @@ -20,7 +20,7 @@ public class Binary_search_ { public static int Search(CompareAble[] ary, int ary_len, CompareAble val) { if (ary_len == 1) return 0; int interval = ary_len / 2; - int pos = interval - ListAdp_.Base1; + int pos = interval - List_adp_.Base1; int pos_last = ary_len - 1; int pos_prv = -1; int loop_count = 0; 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 22e18f409..b3d98b50b 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm.java @@ -27,7 +27,7 @@ class Gfo_pattern_itm_text implements Gfo_pattern_itm { public Gfo_pattern_itm_text() {} public byte Tid() {return Gfo_pattern_itm_.Tid_text;} public byte[] Text() {return text;} private byte[] text; private int text_len; - public void Xto_str(String_bldr sb) {sb.Add(this.Tid()).Add("|" + String_.new_utf8_(text));} + public void Xto_str(String_bldr sb) {sb.Add(this.Tid()).Add("|" + String_.new_u8(text));} public void Compile(byte[] src, int bgn, int end) { this.text = Bry_.Mid(src, bgn, end); this.text_len = end - bgn; 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 866e16e9e..f2fe9b622 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java @@ -19,7 +19,7 @@ package gplx.core.regxs; import gplx.*; import gplx.core.*; public class Gfo_pattern_itm_ { public static final byte Tid_text = 0, Tid_wild = 1; public static Gfo_pattern_itm[] Compile(byte[] raw) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); int raw_len = raw.length; int itm_bgn = -1; Gfo_pattern_itm itm = null; @@ -46,6 +46,6 @@ public class Gfo_pattern_itm_ { ++pos; if (last) break; } - return (Gfo_pattern_itm[])rv.Xto_ary_and_clear(Gfo_pattern_itm.class); + return (Gfo_pattern_itm[])rv.To_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 29265539e..14563fd5c 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java @@ -59,25 +59,25 @@ public class Gfo_pattern_tst { } class Gfo_pattern_itm_fxt { public void Clear() {} - public Gfo_pattern pattern_(String raw) {return new Gfo_pattern(Bry_.new_utf8_(raw));} + public Gfo_pattern pattern_(String raw) {return new Gfo_pattern(Bry_.new_u8(raw));} public void Test_Match_y(Gfo_pattern pattern, String... itms) {Test_Match(pattern, itms, Bool_.Y);} public void Test_Match_n(Gfo_pattern pattern, String... itms) {Test_Match(pattern, itms, Bool_.N);} private void Test_Match(Gfo_pattern pattern, String[] itms, boolean expd) { int len = itms.length; for (int i = 0; i < len; i++) { String itm = itms[i]; - Tfds.Eq(expd, pattern.Match(Bry_.new_utf8_(itm)), "pattern={0} itm={1} expd={2}", String_.new_utf8_(pattern.Raw()), itm, expd); + Tfds.Eq(expd, pattern.Match(Bry_.new_u8(itm)), "pattern={0} itm={1} expd={2}", String_.new_u8(pattern.Raw()), itm, expd); } } public Gfo_pattern_itm_wild itm_wild_() {return Gfo_pattern_itm_wild._;} public Gfo_pattern_itm_text itm_text_(String raw) { Gfo_pattern_itm_text rv = new Gfo_pattern_itm_text(); - byte[] bry = Bry_.new_utf8_(raw); + byte[] bry = Bry_.new_u8(raw); rv.Compile(bry, 0, bry.length); return rv; } public void Test_Compile(String raw, Gfo_pattern_itm... expd) { - Gfo_pattern_itm[] actl = Gfo_pattern_itm_.Compile(Bry_.new_utf8_(raw)); + Gfo_pattern_itm[] actl = Gfo_pattern_itm_.Compile(Bry_.new_u8(raw)); Tfds.Eq(Ary_xto_str(expd), Ary_xto_str(actl)); } private static String Ary_xto_str(Gfo_pattern_itm[] ary) { diff --git a/400_xowa/src/gplx/core/threads/Gfo_async_mgr.java b/400_xowa/src/gplx/core/threads/Gfo_async_mgr.java index 165d7d31c..483ddfd83 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_async_mgr.java +++ b/400_xowa/src/gplx/core/threads/Gfo_async_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.core.threads; import gplx.*; import gplx.core.*; import gplx.core.primitives.*; public class Gfo_async_mgr implements GfoInvkAble { - private ListAdp queue = ListAdp_.new_(); + private List_adp queue = List_adp_.new_(); private Bool_obj_ref running = Bool_obj_ref.n_(); private Gfo_async_cmd_mkr cmd_mkr = new Gfo_async_cmd_mkr(); public void Queue(GfoInvkAble invk, String invk_key, Object... args) { @@ -39,7 +39,7 @@ public class Gfo_async_mgr implements GfoInvkAble { while (true) { synchronized (queue) { if (queue.Count() == 0) break; - cmd = (Gfo_async_cmd_itm)ListAdp_.Pop(queue); + cmd = (Gfo_async_cmd_itm)List_adp_.Pop(queue); cmd.Exec(); } } diff --git a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_download.java b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_download.java index c0dfc6846..185d460da 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_download.java +++ b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_download.java @@ -32,10 +32,10 @@ public class Gfo_thread_cmd_download implements Gfo_thread_cmd { public int Async_sleep_interval() {return Gfo_thread_cmd_.Async_sleep_interval_1_second;} public boolean Async_prog_enabled() {return false;} @gplx.Virtual public byte Async_init() { - if (Io_mgr._.ExistsFil(trg)) { + if (Io_mgr.I.ExistsFil(trg)) { int rslt = kit.Ask_yes_no_cancel(GRP_KEY, "target_exists", "Target file already exists: '~{0}'.\nDo you want to delete it?", trg.Raw()); switch (rslt) { - case Gfui_dlg_msg_.Btn_yes: Io_mgr._.DeleteFil(trg); break; + case Gfui_dlg_msg_.Btn_yes: Io_mgr.I.DeleteFil(trg); break; case Gfui_dlg_msg_.Btn_no: return Gfo_thread_cmd_.Init_cancel_step; case Gfui_dlg_msg_.Btn_cancel: return Gfo_thread_cmd_.Init_cancel_all; default: throw Err_mgr._.unhandled_(rslt); @@ -59,7 +59,7 @@ public class Gfo_thread_cmd_download implements Gfo_thread_cmd { kit.Ask_ok(GRP_KEY, "download.fail", "download failed. Please select 'read from file' if you've already downloaded a dump: url=~{0} error=~{1}", src, xrg.Rslt_err_str()); } } boolean download_pass = true; - protected gplx.ios.IoEngine_xrg_downloadFil xrg = Io_mgr._.DownloadFil_args("", Io_url_.Null); + protected gplx.ios.IoEngine_xrg_downloadFil xrg = Io_mgr.I.DownloadFil_args("", Io_url_.Empty); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_async_bgn)) Download(); else if (ctx.Match(k, Invk_owner)) return owner; diff --git a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_replace.java b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_replace.java index 201e020a4..01c164027 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_replace.java +++ b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_replace.java @@ -30,7 +30,7 @@ public class Gfo_thread_cmd_replace implements Gfo_thread_cmd { public int Async_sleep_interval() {return Gfo_thread_cmd_.Async_sleep_interval_1_second;} public boolean Async_prog_enabled() {return false;} @gplx.Virtual public byte Async_init() { - if (!Io_mgr._.ExistsFil(fil)) {kit.Ask_ok(GRP_KEY, "file_missing", "File does not exist: '~{0}'", fil.Raw()); return Gfo_thread_cmd_.Init_cancel_step;} + if (!Io_mgr.I.ExistsFil(fil)) {kit.Ask_ok(GRP_KEY, "file_missing", "File does not exist: '~{0}'", fil.Raw()); return Gfo_thread_cmd_.Init_cancel_step;} return Gfo_thread_cmd_.Init_ok; } public boolean Async_term() {return true;} @@ -38,16 +38,16 @@ public class Gfo_thread_cmd_replace implements Gfo_thread_cmd { public boolean Async_running() {return false;} @gplx.Virtual public void Async_run() {Exec_find_replace();} // NOTE: do not run async; if multiple commands for same file then they will not always work public void Exec_find_replace() { - String raw = Io_mgr._.LoadFilStr(fil); + String raw = Io_mgr.I.LoadFilStr(fil); int pairs_len = pairs.Count(); for (int i = 0; i < pairs_len; i++) { - KeyVal kv = (KeyVal)pairs.FetchAt(i); + KeyVal kv = (KeyVal)pairs.Get_at(i); raw = String_.Replace(raw, kv.Key(), kv.Val_to_str_or_null()); } - Io_mgr._.SaveFilStr(fil, raw); + Io_mgr.I.SaveFilStr(fil, raw); usr_dlg.Prog_many(GRP_KEY, "done", "replace completed: ~{0} ~{1}", fil.Raw(), pairs_len); } - public ListAdp pairs = ListAdp_.new_(); + public List_adp pairs = List_adp_.new_(); @gplx.Virtual public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_async_bgn)) Exec_find_replace(); else if (ctx.Match(k, Invk_owner)) return owner; diff --git a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_unzip.java b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_unzip.java index 73f9bd4c3..9369abaab 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_unzip.java +++ b/400_xowa/src/gplx/core/threads/Gfo_thread_cmd_unzip.java @@ -32,22 +32,22 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { public boolean Async_prog_enabled() {return true;} public void Async_prog_run(int async_sleep_sum) { String size_str = " please wait..."; - if (trg.Type_fil()) size_str = gplx.ios.Io_size_.Xto_str(Io_mgr._.QueryFil(trg).Size()); + if (trg.Type_fil()) size_str = gplx.ios.Io_size_.To_str(Io_mgr.I.QueryFil(trg).Size()); usr_dlg.Prog_many(GRP_KEY, "unzip", "unzipping: ~{0}", size_str); } @gplx.Virtual public byte Async_init() { - if (!Io_mgr._.ExistsFil(src)) { + if (!Io_mgr.I.ExistsFil(src)) { kit.Ask_ok(GRP_KEY, "source_missing", "Source file does not exist: '~{0}'", src.Raw()); return Gfo_thread_cmd_.Init_cancel_step; } trg_is_dir = trg.Type_dir(); if (delete_trg_if_exists - && (( trg_is_dir && Io_mgr._.ExistsDir(trg)) - || (!trg_is_dir && Io_mgr._.ExistsFil(trg))) + && (( trg_is_dir && Io_mgr.I.ExistsDir(trg)) + || (!trg_is_dir && Io_mgr.I.ExistsFil(trg))) ) { int rslt = kit.Ask_yes_no_cancel(GRP_KEY, "target_exists", "Target file already exists: '~{0}'.\nDo you want to delete it?", trg.Raw()); switch (rslt) { - case Gfui_dlg_msg_.Btn_yes: if (trg_is_dir) Io_mgr._.DeleteDirDeep(trg); else Io_mgr._.DeleteFil(trg); break; + case Gfui_dlg_msg_.Btn_yes: if (trg_is_dir) Io_mgr.I.DeleteDirDeep(trg); else Io_mgr.I.DeleteFil(trg); break; case Gfui_dlg_msg_.Btn_no: return Gfo_thread_cmd_.Init_cancel_step; case Gfui_dlg_msg_.Btn_cancel: return Gfo_thread_cmd_.Init_cancel_all; } @@ -61,9 +61,9 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { } public boolean Async_term() { if (rename_dir) { - Io_url[] dirs = Io_mgr._.QueryDir_args(trg.OwnerDir()).DirOnly_().Recur_(false).ExecAsUrlAry(); + Io_url[] dirs = Io_mgr.I.QueryDir_args(trg.OwnerDir()).DirOnly_().Recur_(false).ExecAsUrlAry(); int dirs_len = dirs.length; - Io_url zip_dir = Io_url_.Null; + Io_url zip_dir = Io_url_.Empty; for (int i = 0; i < dirs_len; i++) { Io_url dir = dirs[i]; if (String_.HasAtBgn(String_.Lower(dir.NameOnly()), String_.Lower(trg.NameOnly()))) { // HACK: check that directory starts with archive name; DATE:2013-12-22 @@ -71,19 +71,19 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { break; } } - if (zip_dir == Io_url_.Null) { + if (zip_dir == Io_url_.Empty) { kit.Ask_ok(GRP_KEY, "rename.fail", "unable to find directory: trg=~{0}", trg.Raw()); return false; } if (!String_.Eq(String_.Lower(zip_dir.Raw()), String_.Lower(trg.Raw()))) // HACK: inkscape is itself - Io_mgr._.MoveDirDeep(zip_dir, trg); + Io_mgr.I.MoveDirDeep(zip_dir, trg); } switch (term_cmd_for_src) { case Term_cmd_for_src_noop: break; - case Term_cmd_for_src_delete: Io_mgr._.DeleteFil(src); break; + case Term_cmd_for_src_delete: Io_mgr.I.DeleteFil(src); break; case Term_cmd_for_src_move: - if (term_cmd_for_src_url == Io_url_.Null) throw Err_mgr._.fmt_(GRP_KEY, "url_missing", "move specified, but no url"); - Io_mgr._.MoveFil_args(src, term_cmd_for_src_url, true).Exec(); + if (term_cmd_for_src_url == Io_url_.Empty) throw Err_mgr._.fmt_(GRP_KEY, "url_missing", "move specified, but no url"); + Io_mgr.I.MoveFil_args(src, term_cmd_for_src_url, true).Exec(); break; default: throw Err_mgr._.unhandled_(term_cmd_for_src); } @@ -93,7 +93,7 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { public static final byte Term_cmd_for_src_noop = 0, Term_cmd_for_src_delete = 1, Term_cmd_for_src_move = 2; boolean rename_dir = false, trg_is_dir = false, delete_trg_if_exists = true; public byte Term_cmd_for_src() {return term_cmd_for_src;} public void Term_cmd_for_src_(byte v) {term_cmd_for_src = v;} private byte term_cmd_for_src = Term_cmd_for_src_delete; - public Io_url Term_cmd_for_src_url() {return term_cmd_for_src_url;} public void Term_cmd_for_src_url_(Io_url v) {this.term_cmd_for_src_url = v;} Io_url term_cmd_for_src_url = Io_url_.Null; + public Io_url Term_cmd_for_src_url() {return term_cmd_for_src_url;} public void Term_cmd_for_src_url_(Io_url v) {this.term_cmd_for_src_url = v;} Io_url term_cmd_for_src_url = Io_url_.Empty; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_owner)) return owner; else if (ctx.Match(k, Invk_src_)) src = Bry_fmtr_eval_mgr_.Eval_url(url_eval_mgr, m.ReadBry("v")); diff --git a/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java b/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java index f237f8753..1b60bab2c 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java +++ b/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.core.threads; import gplx.*; import gplx.core.*; public class Gfo_thread_pool implements GfoInvkAble { private Object thread_lock = new Object(); - private ListAdp queue = ListAdp_.new_(); + private List_adp queue = List_adp_.new_(); private GfoMsg run_msg = GfoMsg_.new_cast_(Invk_run_wkr); private boolean running = false; public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} public Gfo_thread_pool Usr_dlg_(Gfo_usr_dlg v) {usr_dlg = v; return this;} private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Noop; @@ -39,7 +39,7 @@ public class Gfo_thread_pool implements GfoInvkAble { if (running) return; // already running; discard run request and rely on running-wkr to call Run when done int len = queue.Count(); if (len == 0) return; // nothing in list; occurs when last item calls Run when done running = true; - wkr = (Gfo_thread_wkr)ListAdp_.Pop_first(queue); + wkr = (Gfo_thread_wkr)List_adp_.Pop_first(queue); } Thread_adp_.Run_invk_msg(wkr.Name(), this, run_msg.Clear().Add("v", wkr)); } diff --git a/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr.java b/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr.java index fb127ed7b..ae209ac1f 100644 --- a/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr.java +++ b/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr.java @@ -17,10 +17,12 @@ along with this program. If not, see . */ package gplx.core.xmls; import gplx.*; import gplx.core.*; public class Gfo_xml_wtr { - private final Bry_bfr bfr = Bry_bfr.reset_(255); - private byte quote_byte = Byte_ascii.Quote; - private byte[] quote_escape = Bry_quote_2_escape; - private String nde_cur = null; + private final Bry_bfr bfr = Bry_bfr.reset_(255), txt_bfr = Bry_bfr.reset_(32); + private byte quote_byte = Byte_ascii.Apos; + private byte[] quote_escape = Bry_quote_1_escape; + private List_adp nde_stack = List_adp_.new_(); + private Gfo_xml_nde nde_cur = null; + private int indent = 0; public void Quote_(boolean apos) { if (apos) { this.quote_byte = Byte_ascii.Apos; @@ -31,27 +33,59 @@ public class Gfo_xml_wtr { this.quote_escape = Bry_quote_2_escape; } } - public Gfo_xml_wtr Nde_lhs_bgn(String v) { - this.nde_cur = v; - bfr.Add_byte(Byte_ascii.Angle_bgn).Add_str_utf8(nde_cur); + public Gfo_xml_wtr Nde_lhs_bgn_grp(String v) {return Nde_lhs_bgn(Bool_.Y, v);} + public Gfo_xml_wtr Nde_lhs_bgn_itm(String v) {return Nde_lhs_bgn(Bool_.N, v);} + private Gfo_xml_wtr Nde_lhs_bgn(boolean grp, String v) { + nde_cur = new Gfo_xml_nde(grp, v); + nde_stack.Add(nde_cur); + bfr.Add_byte_repeat(Byte_ascii.Space, indent); + bfr.Add_byte(Byte_ascii.Angle_bgn).Add_str_u8(v); + indent += 2; return this; } public Gfo_xml_wtr Nde_lhs_end() { bfr.Add_byte(Byte_ascii.Angle_end); + if (nde_cur.Grp()) bfr.Add_byte_nl(); + return this; + } + public Gfo_xml_wtr Nde_lhs(String v) {return Nde_lhs(Bool_.Y, v);} + private Gfo_xml_wtr Nde_lhs(boolean grp, String v) { + this.Nde_lhs_bgn(grp, v); + this.Nde_lhs_end(); return this; } - public Gfo_xml_wtr Nde_lhs(String v) {this.Nde_lhs_bgn(v); this.Nde_lhs_end(); return this;} public Gfo_xml_wtr Nde_rhs() { - bfr.Add(Bry_nde_rhs_bgn).Add_str_utf8(nde_cur).Add_byte(Byte_ascii.Angle_end); // EX: - this.nde_cur = null; + Gfo_xml_nde nde = (Gfo_xml_nde)List_adp_.Pop(nde_stack); + indent -= 2; + if (nde.Grp()) bfr.Add_byte_repeat(Byte_ascii.Space, indent); + bfr.Add(Bry_nde_rhs_bgn).Add_str_u8(nde.Name()).Add_byte(Byte_ascii.Angle_end); // EX: + bfr.Add_byte_nl(); + return this; + } + public Gfo_xml_wtr Nde_txt_str(String name, String text) { + this.Nde_lhs(Bool_.N, name); + this.Txt_str_u8(text); + this.Nde_rhs(); + return this; + } + public Gfo_xml_wtr Nde_txt_bry(String name, byte[] text) { + this.Nde_lhs(Bool_.N, name); + this.Txt_bry(text); + this.Nde_rhs(); + return this; + } + public Gfo_xml_wtr Nde_txt_int(String name, int text) { + this.Nde_lhs(Bool_.N, name); + this.Txt_bry(Int_.Xto_bry(text)); + this.Nde_rhs(); return this; } public Gfo_xml_wtr Atr_bgn(String key) { - bfr.Add_byte_space().Add_str_utf8(key).Add_byte(Byte_ascii.Eq).Add_byte(quote_byte); + bfr.Add_byte_space().Add_str_u8(key).Add_byte(Byte_ascii.Eq).Add_byte(quote_byte); return this; } - public Gfo_xml_wtr Atr_val_str_a7(String v) {bfr.Add_str_ascii(v); return this;} - public Gfo_xml_wtr Atr_val_str_u8(String v) {bfr.Add_str_utf8 (v); return this;} + public Gfo_xml_wtr Atr_val_str_a7(String v) {bfr.Add_str_a7(v); return this;} + public Gfo_xml_wtr Atr_val_str_u8(String v) {bfr.Add_str_u8 (v); return this;} public Gfo_xml_wtr Atr_val_bry (byte[] v) {bfr.Add(v); return this;} public Gfo_xml_wtr Atr_val_int (int v) {bfr.Add_int_variable(v); return this;} public Gfo_xml_wtr Atr_end() { @@ -59,27 +93,59 @@ public class Gfo_xml_wtr { return this; } public Gfo_xml_wtr Atr_kv_int(String key, int val) {return Atr_kv_bry(key, Int_.Xto_bry(val));} - public Gfo_xml_wtr Atr_kv_str_a7(String key, String val) {return Atr_kv_bry(key, Bry_.new_ascii_(val));} - public Gfo_xml_wtr Atr_kv_str_u8(String key, String val) {return Atr_kv_bry(key, Bry_.new_utf8_(val));} + public Gfo_xml_wtr Atr_kv_str_a7(String key, String val) {return Atr_kv_bry(key, Bry_.new_a7(val));} + public Gfo_xml_wtr Atr_kv_str_u8(String key, String val) {return Atr_kv_bry(key, Bry_.new_u8(val));} public Gfo_xml_wtr Atr_kv_bry(String key, byte[] val) { - bfr.Add_byte_space().Add_str_utf8(key); + bfr.Add_byte_space().Add_str_u8(key); bfr.Add_byte(Byte_ascii.Eq); Atr_val_quote(val); return this; } - private void Atr_val_quote(byte[] val_bry) { + private Gfo_xml_wtr Atr_val_quote(byte[] val_bry) { bfr.Add_byte(quote_byte); bfr.Add_bry_escape(quote_byte, quote_escape, val_bry, 0, val_bry.length); bfr.Add_byte(quote_byte); + return this; } - public void Txt_bry(byte[] txt) { - bfr.Add(txt); + public Gfo_xml_wtr Txt_bry(byte[] txt) { + int len = txt.length; + boolean dirty = false; + for (int i = 0; i < len; ++i) { + byte[] escape = null; + byte b = txt[i]; + switch (b) { + case Byte_ascii.Lt: escape = Bry_escape_lt; break; + case Byte_ascii.Gt: escape = Bry_escape_gt; break; + case Byte_ascii.Amp: escape = Bry_escape_amp; break; + default: break; + } + if (escape != null && !dirty) { + bfr.Add_mid(txt, 0, i); + dirty = true; + } + if (dirty) { + if (escape == null) bfr.Add_byte(b); + else bfr.Add(escape); + } + } + if (dirty) bfr.Add_bfr_and_clear(txt_bfr); + else bfr.Add(txt); + return this; } - + public Gfo_xml_wtr Txt_str_u8(String txt) {return Txt_bry(Bry_.new_u8(txt));} + public String Bld_str() {return bfr.Xto_str_and_clear();} private static final byte[] - Bry_nde_rhs_bgn = Bry_.new_ascii_("") - , Bry_quote_1_escape = Bry_.new_ascii_("'") - , Bry_quote_2_escape = Bry_.new_ascii_(""") + Bry_nde_rhs_bgn = Bry_.new_a7("") + , Bry_quote_1_escape = Bry_.new_a7("'") + , Bry_quote_2_escape = Bry_.new_a7(""") + , Bry_escape_lt = Bry_.new_a7("<") + , Bry_escape_gt = Bry_.new_a7(">") + , Bry_escape_amp = Bry_.new_a7("&") ; } +class Gfo_xml_nde { + public Gfo_xml_nde(boolean grp, String name) {this.grp = grp; this.name = name;} + public boolean Grp() {return grp;} private final boolean grp; + public String Name() {return name;} private final String name; +} diff --git a/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr_tst.java b/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr_tst.java new file mode 100644 index 000000000..269c012fd --- /dev/null +++ b/400_xowa/src/gplx/core/xmls/Gfo_xml_wtr_tst.java @@ -0,0 +1,81 @@ +/* +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.core.xmls; import gplx.*; import gplx.core.*; +import org.junit.*; +public class Gfo_xml_wtr_tst { + private final Gfo_xml_wtr_fxt fxt = new Gfo_xml_wtr_fxt(); + @Before public void init() {} + @Test public void Root() { + fxt.Wtr().Nde_lhs("a").Nde_rhs(); + fxt.Test_bld("", ""); + } + @Test public void Nest() { + fxt.Wtr() + .Nde_lhs("a") + . Nde_lhs("a_a") + . Nde_lhs("a_a_a") + . Nde_rhs() + . Nde_rhs() + .Nde_rhs() + ; + fxt.Test_bld + ( "" + , " " + , " " + , " " + , " " + , "" + ); + } + @Test public void Atrs() { + fxt.Wtr() + .Nde_lhs_bgn_itm("a") + .Atr_kv_str_a7("b", "b1") + .Nde_lhs_end() + .Nde_rhs() + ; + fxt.Test_bld(""); + } + @Test public void Atrs_escape() { + fxt.Wtr() + .Nde_lhs_bgn_itm("a") + .Atr_kv_str_a7("b", "'\"<>&") + .Nde_lhs_end() + .Nde_rhs() + ; + fxt.Test_bld(""); + } + @Test public void Nde_txt() { + fxt.Wtr() + .Nde_txt_str("a", "a123") + ; + fxt.Test_bld("a123"); + } + @Test public void Nde_txt_escape() { + fxt.Wtr() + .Nde_txt_str("a", "'\"<>&x") + ; + fxt.Test_bld("'\"<>&x"); + } +} +class Gfo_xml_wtr_fxt { + public Gfo_xml_wtr Wtr() {return wtr;} private final Gfo_xml_wtr wtr = new Gfo_xml_wtr(); + public void Test_bld(String... lines) { + Tfds.Eq_str_lines(String_.Concat_lines_nl_skip_last(lines), wtr.Bld_str()); + } +} diff --git a/400_xowa/src/gplx/dbs/Db_attach_cmd.java b/400_xowa/src/gplx/dbs/Db_attach_cmd.java index a1159c32f..ed4db2911 100644 --- a/400_xowa/src/gplx/dbs/Db_attach_cmd.java +++ b/400_xowa/src/gplx/dbs/Db_attach_cmd.java @@ -20,7 +20,7 @@ import gplx.dbs.engines.sqlite.*; public class Db_attach_cmd { private final boolean diff_db; private final Db_conn conn; private final String attach_name; private final Io_url attach_url; - private final ListAdp sql_list = ListAdp_.new_(); + private final List_adp sql_list = List_adp_.new_(); Db_attach_cmd(Db_conn conn, String attach_name, Io_url attach_url) { this.conn = conn; this.attach_name = attach_name; this.attach_url = attach_url; Sqlite_conn_info conn_info = (Sqlite_conn_info)conn.Conn_info(); @@ -38,7 +38,7 @@ public class Db_attach_cmd { conn.Txn_bgn(attach_name); // NOTE: BEGIN TRAN must occur after ATTACH else sqlite will throw error int len = sql_list.Count(); for (int i = 0; i < len; ++i) { - Db_exec_sql_by_attach_itm itm = (Db_exec_sql_by_attach_itm)sql_list.FetchAt(i); + Db_exec_sql_by_attach_itm itm = (Db_exec_sql_by_attach_itm)sql_list.Get_at(i); usr_dlg.Plog_many("", "", itm.Msg()); conn.Exec_sql(itm.Sql()); } diff --git a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java index 30fa7bdca..95244099b 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java @@ -17,12 +17,12 @@ along with this program. If not, see . */ package gplx.dbs.cfgs; import gplx.*; import gplx.dbs.*; public class Db_cfg_hash { - private final String grp; private final OrderedHash hash = OrderedHash_.new_(); + private final String grp; private final Ordered_hash hash = Ordered_hash_.new_(); public Db_cfg_hash(String grp) {this.grp = grp;} public int Len() {return hash.Count();} - public Db_cfg_itm Get_at(int i) {return (Db_cfg_itm)hash.FetchAt(i);} + public Db_cfg_itm Get_at(int i) {return (Db_cfg_itm)hash.Get_at(i);} public Db_cfg_itm Get(String key) { - Db_cfg_itm rv = (Db_cfg_itm)hash.Fetch(key); + Db_cfg_itm rv = (Db_cfg_itm)hash.Get_by(key); return rv == null ? Db_cfg_itm.Empty : rv; } public void Set(String key, String val) {hash.Del(key); Add(key, val);} diff --git a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java index 383690090..e45275ee3 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java @@ -22,7 +22,7 @@ public class Db_cfg_itm { public String Key() {return key;} private final String key; public String Val() {return val;} public Db_cfg_itm Val_(String v) {val = v; return this;} private String val; public String To_str_or(String or) {return val == null ? or : val;} - public byte[] To_bry_or(byte[] or) {try {return val == null ? or : Bry_.new_utf8_(val) ;} catch (Exception e) {throw err_parse(e, Bry_.Cls_val_name);}} + public byte[] To_bry_or(byte[] or) {try {return val == null ? or : Bry_.new_u8(val) ;} catch (Exception e) {throw err_parse(e, Bry_.Cls_val_name);}} public int To_int_or(int or) {try {return val == null ? or : Int_.parse_or_(val, or) ;} catch (Exception e) {throw err_parse(e, Int_.Cls_val_name);}} public long To_long_or(long or) {try {return val == null ? or : Long_.parse_or_(val, or) ;} catch (Exception e) {throw err_parse(e, Long_.Cls_val_name);}} public byte To_byte_or(byte or) {try {return val == null ? or : Byte_.parse_or_(val, or) ;} catch (Exception e) {throw err_parse(e, Byte_.Cls_val_name);}} @@ -40,8 +40,8 @@ public class Db_cfg_itm { private static final String Grp_none = ""; public static Db_cfg_itm new_str (String key, String val) {return new Db_cfg_itm(Grp_none , key, val);} public static Db_cfg_itm new_str (String grp, String key, String val) {return new Db_cfg_itm(grp , key, val);} - public static Db_cfg_itm new_bry (String key, byte[] val) {return new Db_cfg_itm(Grp_none , key, String_.new_utf8_(val));} - public static Db_cfg_itm new_bry (String grp, String key, byte[] val) {return new Db_cfg_itm(grp , key, String_.new_utf8_(val));} + public static Db_cfg_itm new_bry (String key, byte[] val) {return new Db_cfg_itm(Grp_none , key, String_.new_u8(val));} + public static Db_cfg_itm new_bry (String grp, String key, byte[] val) {return new Db_cfg_itm(grp , key, String_.new_u8(val));} public static Db_cfg_itm new_int (String key, int val) {return new Db_cfg_itm(Grp_none , key, Int_.Xto_str(val));} public static Db_cfg_itm new_int (String grp, String key, int val) {return new Db_cfg_itm(grp , key, Int_.Xto_str(val));} public static Db_cfg_itm new_long (String key, long val) {return new Db_cfg_itm(Grp_none , key, Long_.Xto_str(val));} diff --git a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java index 981a5545b..efd8d5f64 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java @@ -44,10 +44,12 @@ public class Db_cfg_tbl implements RlsAble { public void Insert_long (String grp, String key, long val) {Insert_str(grp, key, Long_.Xto_str(val));} public void Insert_date (String grp, String key, DateAdp val) {Insert_str(grp, key, val.XtoStr_fmt_yyyyMMdd_HHmmss());} public void Insert_guid (String grp, String key, Guid_adp val) {Insert_str(grp, key, val.XtoStr());} - public void Insert_bry (String grp, String key, byte[] val) {Insert_str(grp, key, String_.new_utf8_(val));} + public void Insert_bry (String grp, String key, byte[] val) {Insert_str(grp, key, String_.new_u8(val));} public void Insert_str (String grp, String key, String val) { if (stmt_insert == null) stmt_insert = conn.Stmt_insert(tbl_name, flds); - stmt_insert.Clear().Val_str(fld_grp, grp).Val_str(fld_key, key).Val_str(fld_val, val).Exec_insert(); + try { + stmt_insert.Clear().Val_str(fld_grp, grp).Val_str(fld_key, key).Val_str(fld_val, val).Exec_insert(); + } catch (Exception e) {throw Err_.new_("db_cfg.insert failed: grp={0} key={1} val={2} db={3} err={4}", grp, key, val, conn.Conn_info().Xto_api(), Err_.Message_lang(e));} } public void Update_yn (String grp, String key, boolean val) {Update_str(grp, key, val ? "y" : "n");} public void Update_byte (String grp, String key, byte val) {Update_str(grp, key, Byte_.Xto_str(val));} @@ -55,7 +57,7 @@ public class Db_cfg_tbl implements RlsAble { public void Update_long (String grp, String key, long val) {Update_str(grp, key, Long_.Xto_str(val));} public void Update_date (String grp, String key, DateAdp val) {Update_str(grp, key, val.XtoStr_fmt_yyyyMMdd_HHmmss());} public void Update_guid (String grp, String key, Guid_adp val) {Update_str(grp, key, val.XtoStr());} - public void Update_bry (String grp, String key, byte[] val) {Update_str(grp, key, String_.new_utf8_(val));} + public void Update_bry (String grp, String key, byte[] val) {Update_str(grp, key, String_.new_u8(val));} public void Update_str (String grp, String key, String val) { if (stmt_update == null) stmt_update = conn.Stmt_update_exclude(tbl_name, flds, fld_grp, fld_key); stmt_update.Clear().Val_str(fld_val, val).Crt_str(fld_grp, grp).Crt_str(fld_key, key).Exec_update(); @@ -114,7 +116,7 @@ public class Db_cfg_tbl implements RlsAble { private byte Parse_byte (String grp, String key, String val) {try {return Byte_.parse_(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Byte_.Cls_val_name);}} private int Parse_int (String grp, String key, String val) {try {return Int_.parse_(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Int_.Cls_val_name);}} private long Parse_long (String grp, String key, String val) {try {return Long_.parse_(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Long_.Cls_val_name);}} - private byte[] Parse_bry (String grp, String key, String val) {try {return Bry_.new_utf8_(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Bry_.Cls_val_name);}} + private byte[] Parse_bry (String grp, String key, String val) {try {return Bry_.new_u8(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Bry_.Cls_val_name);}} private DateAdp Parse_date (String grp, String key, String val) {try {return DateAdp_.parse_gplx(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, DateAdp_.Cls_ref_name);}} private Guid_adp Parse_guid (String grp, String key, String val) {try {return Guid_adp_.parse_(val) ;} catch (Exception e) {throw err_parse(e, grp, key, val, Guid_adp_.Cls_ref_name);}} private Err err_parse(Exception e, String grp, String key, String val, String type) {return Err_.new_("cfg.val is not parseable; grp={0} key={1} val={2} type={3}", grp, key, val, type);} diff --git a/400_xowa/src/gplx/dbs/schemas/Schema_tbl_mgr.java b/400_xowa/src/gplx/dbs/schemas/Schema_tbl_mgr.java index 72377aa7e..ff718691e 100644 --- a/400_xowa/src/gplx/dbs/schemas/Schema_tbl_mgr.java +++ b/400_xowa/src/gplx/dbs/schemas/Schema_tbl_mgr.java @@ -17,8 +17,8 @@ along with this program. If not, see . */ package gplx.dbs.schemas; import gplx.*; import gplx.dbs.*; public class Schema_tbl_mgr { - private OrderedHash hash = OrderedHash_.new_(); + private Ordered_hash hash = Ordered_hash_.new_(); public void Add(Schema_tbl_itm itm) {hash.Add(itm.Name(), itm);} public boolean Has(String name) {return hash.Has(name);} - public Schema_tbl_itm Get(String name) {return (Schema_tbl_itm)hash.Fetch(name);} + public Schema_tbl_itm Get(String name) {return (Schema_tbl_itm)hash.Get_by(name);} } diff --git a/400_xowa/src/gplx/dbs/schemas/updates/Schema_update_mgr.java b/400_xowa/src/gplx/dbs/schemas/updates/Schema_update_mgr.java index 7f1999789..cbbd8b7e7 100644 --- a/400_xowa/src/gplx/dbs/schemas/updates/Schema_update_mgr.java +++ b/400_xowa/src/gplx/dbs/schemas/updates/Schema_update_mgr.java @@ -17,12 +17,12 @@ along with this program. If not, see . */ package gplx.dbs.schemas.updates; import gplx.*; import gplx.dbs.*; import gplx.dbs.schemas.*; public class Schema_update_mgr { - private ListAdp cmds = ListAdp_.new_(); + private List_adp cmds = List_adp_.new_(); public void Add(Schema_update_cmd cmd) {cmds.Add(cmd);} public void Update(Schema_db_mgr schema_mgr, Db_conn conn) { int cmds_len = cmds.Count(); for (int i = 0; i < cmds_len; ++i) { - Schema_update_cmd cmd = (Schema_update_cmd)cmds.FetchAt(i); + Schema_update_cmd cmd = (Schema_update_cmd)cmds.Get_at(i); try {cmd.Exec(schema_mgr, conn);} catch (Exception e) { Gfo_usr_dlg_.I.Warn_many("", "", "failed to run update cmd; name=~{0} err=~{1}", cmd.Name(), Err_.Message_gplx_brief(e)); diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v2_bldr.java b/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v2_bldr.java index 4c1c5da1a..95964ec51 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v2_bldr.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v2_bldr.java @@ -19,7 +19,7 @@ package gplx.fsdb; import gplx.*; import gplx.dbs.*; import gplx.dbs.cfgs.*; import gplx.fsdb.meta.*; import gplx.fsdb.data.*; import gplx.xowa.files.origs.*; import gplx.xowa.*; import gplx.xowa.wikis.data.*; import gplx.xowa.bldrs.infos.*; public class Fsdb_db_mgr__v2_bldr { - public Fsdb_db_mgr__v2 Make(Xowe_wiki wiki, boolean delete_if_exists) { + public Fsdb_db_mgr__v2 Get_or_make(Xow_wiki wiki, boolean delete_if_exists) { // NOTE: must check if file exists else imports with existing v2 dbs will fail; DATE:2015-05-23 Xowd_db_layout layout = wiki.Data_mgr__core_mgr().Props().Layout_file(); String domain_str = wiki.Domain_str(); Io_url wiki_dir = wiki.Fsys_mgr().Root_dir(); @@ -30,14 +30,15 @@ public class Fsdb_db_mgr__v2_bldr { if (delete_if_exists) { Db_conn_bldr.I.Get_or_noop(main_core_url).Rls_conn(); Db_conn_bldr.I.Get_or_noop(user_core_url).Rls_conn(); - Io_mgr._.DeleteFil(main_core_url); - Io_mgr._.DeleteFil(user_core_url); + Io_mgr.I.DeleteFil(main_core_url); + Io_mgr.I.DeleteFil(user_core_url); } - Fsdb_db_file main_core_file = Make_core_file_main(wiki, main_core_url, main_core_name, layout); - Fsdb_db_file user_core_file = Make_core_file_user(wiki, user_core_url, user_core_name, main_core_name); + Fsdb_db_file main_core_file = Io_mgr.I.ExistsFil(main_core_url) ? Load_core_file(main_core_url) : Make_core_file_main(wiki, main_core_url, main_core_name, layout); + Fsdb_db_file user_core_file = Io_mgr.I.ExistsFil(user_core_url) ? Load_core_file(user_core_url) : Make_core_file_user(wiki, user_core_url, user_core_name, main_core_name); return new Fsdb_db_mgr__v2(layout, wiki_dir, main_core_file, user_core_file); } - private Fsdb_db_file Make_core_file_main(Xowe_wiki wiki, Io_url main_core_url, String main_core_name, Xowd_db_layout layout) { + private Fsdb_db_file Load_core_file(Io_url url) {return new Fsdb_db_file(url, Db_conn_bldr.I.Get(url));} + private Fsdb_db_file Make_core_file_main(Xow_wiki wiki, Io_url main_core_url, String main_core_name, Xowd_db_layout layout) { Db_conn conn = layout.Tid_is_all() ? Db_conn_bldr.I.Get(main_core_url) : Db_conn_bldr.I.New(main_core_url); // if all, use existing (assumes same file name); else, create new conn.Txn_bgn(); Fsdb_db_file rv = Make_core_file(main_core_url, conn, schema_is_1, Fsm_mnt_mgr.Mnt_idx_main); diff --git a/400_xowa/src/gplx/fsdb/data/Fsd_bin_tbl.java b/400_xowa/src/gplx/fsdb/data/Fsd_bin_tbl.java index 0b8655fbd..08cf84963 100644 --- a/400_xowa/src/gplx/fsdb/data/Fsd_bin_tbl.java +++ b/400_xowa/src/gplx/fsdb/data/Fsd_bin_tbl.java @@ -60,7 +60,7 @@ public class Fsd_bin_tbl implements RlsAble { public boolean Select_to_url(int owner_id, Io_url url) { byte[] rv = Select(owner_id); if (rv == null) return false; - Io_mgr._.SaveFilBry(url, rv); + Io_mgr.I.SaveFilBry(url, rv); return true; } private byte[] Select(int owner_id) { diff --git a/400_xowa/src/gplx/fsdb/data/Fsd_thm_itm.java b/400_xowa/src/gplx/fsdb/data/Fsd_thm_itm.java index 49a91a8fd..780204cfb 100644 --- a/400_xowa/src/gplx/fsdb/data/Fsd_thm_itm.java +++ b/400_xowa/src/gplx/fsdb/data/Fsd_thm_itm.java @@ -26,7 +26,7 @@ public class Fsd_thm_itm { public int Dir_id() {return dir_id;} private int dir_id; public int Fil_id() {return fil_id;} private int fil_id; public int Thm_id() {return thm_id;} private int thm_id; - public int Db_bin_id() {return bin_db_id;} private int bin_db_id; + public int Bin_db_id() {return bin_db_id;} private int bin_db_id; public int W() {return w;} private int w; public int H() {return h;} private int h; public double Time() {return time;} private double time; diff --git a/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl.java b/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl.java index f59e9dfc4..13b6bfdbd 100644 --- a/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl.java +++ b/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl.java @@ -20,7 +20,7 @@ import gplx.dbs.*; import gplx.fsdb.meta.*; import gplx.xowa.files.*; public class Fsd_thm_tbl implements RlsAble { private final String tbl_name; private final Db_meta_fld_list flds = Db_meta_fld_list.new_(); private final String fld_id, fld_owner_id, fld_w, fld_h, fld_time, fld_page, fld_bin_db_id, fld_size, fld_modified, fld_hash; - private final Db_conn conn; private Db_stmt stmt_insert, stmt_select_by_fil_w; private int mnt_id; private boolean schema_thm_page; + private final Db_conn conn; private Db_stmt stmt_insert, stmt_select_by_fil_exact, stmt_select_by_fil_near; private int mnt_id; private boolean schema_thm_page; public Fsd_thm_tbl(Db_conn conn, boolean schema_is_1, int mnt_id, boolean schema_thm_page) { this.conn = conn; this.mnt_id = mnt_id; this.schema_thm_page = schema_thm_page; this.tbl_name = schema_is_1 ? "fsdb_xtn_thm" : "fsdb_thm"; @@ -44,7 +44,8 @@ public class Fsd_thm_tbl implements RlsAble { } public void Rls() { stmt_insert = Db_stmt_.Rls(stmt_insert); - stmt_select_by_fil_w = Db_stmt_.Rls(stmt_select_by_fil_w); + stmt_select_by_fil_exact = Db_stmt_.Rls(stmt_select_by_fil_exact); + stmt_select_by_fil_near = Db_stmt_.Rls(stmt_select_by_fil_near); } public void Create_tbl() { conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds @@ -71,17 +72,17 @@ public class Fsd_thm_tbl implements RlsAble { .Val_str(fld_hash, Hash_null) .Exec_insert(); } - public boolean Select_itm_by_fil_width(int dir_id, int fil_id, Fsd_thm_itm thm) { - if (stmt_select_by_fil_w == null) stmt_select_by_fil_w = conn.Stmt_select(tbl_name, flds, String_.Ary_wo_null(fld_owner_id, fld_w, fld_time, fld_page)); - stmt_select_by_fil_w.Clear().Crt_int(fld_owner_id, fil_id).Crt_int(fld_w, thm.W()); + public boolean Select_itm_by_w_exact(int dir_id, int fil_id, Fsd_thm_itm thm) { + if (stmt_select_by_fil_exact == null) stmt_select_by_fil_exact = conn.Stmt_select(tbl_name, flds, String_.Ary_wo_null(fld_owner_id, fld_w, fld_time, fld_page)); + stmt_select_by_fil_exact.Clear().Crt_int(fld_owner_id, fil_id).Crt_int(fld_w, thm.W()); if (schema_thm_page) { - stmt_select_by_fil_w.Crt_double (fld_time, Xof_lnki_time.Db_save_double(thm.Time())); - stmt_select_by_fil_w.Crt_int (fld_page, Xof_lnki_page.Db_save_int(thm.Page())); + stmt_select_by_fil_exact.Crt_double (fld_time, Xof_lnki_time.Db_save_double(thm.Time())); + stmt_select_by_fil_exact.Crt_int (fld_page, Xof_lnki_page.Db_save_int(thm.Page())); } else { - stmt_select_by_fil_w.Crt_int (fld_time, Xof_lnki_time.Db_save_int(thm.Time())); + stmt_select_by_fil_exact.Crt_int (fld_time, Xof_lnki_time.Db_save_int(thm.Time())); } - Db_rdr rdr = stmt_select_by_fil_w.Exec_select__rls_manual(); + Db_rdr rdr = stmt_select_by_fil_exact.Exec_select__rls_manual(); try { return rdr.Move_next() ? Ctor_by_load(thm, rdr, dir_id) @@ -89,10 +90,10 @@ public class Fsd_thm_tbl implements RlsAble { } finally {rdr.Rls();} } - public boolean Select_itm_by_fil_width2(int dir_id, int fil_id, Fsd_thm_itm thm) { - if (stmt_select_by_fil_w == null) stmt_select_by_fil_w = conn.Stmt_select(tbl_name, flds, fld_owner_id); - ListAdp list = ListAdp_.new_(); - Db_rdr rdr = stmt_select_by_fil_w.Clear().Crt_int(fld_owner_id, thm.Fil_id()).Exec_select__rls_manual(); + public boolean Select_itm_by_w_near(int dir_id, int fil_id, Fsd_thm_itm thm) { + if (stmt_select_by_fil_near == null) stmt_select_by_fil_near = conn.Stmt_select(tbl_name, flds, fld_owner_id); + List_adp list = List_adp_.new_(); + Db_rdr rdr = stmt_select_by_fil_near.Clear().Crt_int(fld_owner_id, fil_id).Exec_select__rls_manual(); try { while (rdr.Move_next()) { Fsd_thm_itm itm = Fsd_thm_itm.new_(); @@ -127,13 +128,13 @@ public class Fsd_thm_tbl implements RlsAble { } public static final DateAdp Modified_null = null; public static final String Hash_null = "", Modified_null_str = ""; - public static boolean Match_nearest(ListAdp list, Fsd_thm_itm thm, boolean schema_thm_page) { + public static boolean Match_nearest(List_adp list, Fsd_thm_itm thm, boolean schema_thm_page) { int len = list.Count(); if (len == 0) return Bool_.N; - list.SortBy(Fsdb_thm_itm_sorter.I); + list.Sort_by(Fsdb_thm_itm_sorter.I); int thm_w = thm.W(), thm_page = thm.Page(); double thm_time = thm.Time(); Fsd_thm_itm max = null; for (int i = 0; i < len; ++i) { - Fsd_thm_itm comp = (Fsd_thm_itm)list.FetchAt(i); + Fsd_thm_itm comp = (Fsd_thm_itm)list.Get_at(i); int comp_w = comp.W(); int comp_page = schema_thm_page ? comp.Page() : thm_page; if ( thm_w == comp_w @@ -143,7 +144,8 @@ public class Fsd_thm_tbl implements RlsAble { thm.Init_by_match(comp); return Bool_.Y; } - if (comp_w > thm_w) max = comp; + if (comp_w > thm_w) max = comp; + else if (max == null) max = comp; else break; } if (max == null) return Bool_.N; diff --git a/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl_tst.java b/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl_tst.java index b39390476..6594fbd08 100644 --- a/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl_tst.java +++ b/400_xowa/src/gplx/fsdb/data/Fsd_thm_tbl_tst.java @@ -26,7 +26,7 @@ public class Fsd_thm_tbl_tst { fxt.Test_match_nearest_itm(fxt.Make(100), fxt.Make(100)); fxt.Test_match_nearest_itm(fxt.Make(350), fxt.Make(400)); fxt.Test_match_nearest_itm(fxt.Make(150), fxt.Make(200)); - fxt.Test_match_nearest_itm(fxt.Make(500), Fsd_thm_itm.Null); + fxt.Test_match_nearest_itm(fxt.Make(999), fxt.Make(400)); } @Test public void Empty() { fxt.Init_list(); // no items @@ -34,7 +34,7 @@ public class Fsd_thm_tbl_tst { } } class Fsd_thm_tbl_fxt { - private final ListAdp list = ListAdp_.new_(); + private final List_adp list = List_adp_.new_(); public void Clear() {list.Clear();} public Fsd_thm_itm Make(int w) { double time = gplx.xowa.files.Xof_lnki_time.Null; @@ -43,7 +43,7 @@ class Fsd_thm_tbl_fxt { rv.Init_by_req(w, time, page); return rv; } - public void Init_list(Fsd_thm_itm... ary) {list.AddMany((Object[])ary);} + public void Init_list(Fsd_thm_itm... ary) {list.Add_many((Object[])ary);} public void Test_match_nearest_itm(Fsd_thm_itm req, Fsd_thm_itm expd) { Fsd_thm_tbl.Match_nearest(list, req, Bool_.Y); if (expd == Fsd_thm_itm.Null) { diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_fil.java b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_fil.java index 921677432..de484f538 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_fil.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_fil.java @@ -36,7 +36,9 @@ public class Fsm_atr_fil { int dir_id = Get_dir_id_or_neg1(dir); return dir_id == Int_.Neg1 ? Fsd_fil_itm.Null : tbl_fil.Select_or_null(dir_id, fil); } - public boolean Select_thm(Fsd_thm_itm rv, int dir_id, int fil_id) {return tbl_thm.Select_itm_by_fil_width(dir_id, fil_id, rv);} + public boolean Select_thm(boolean exact, Fsd_thm_itm rv, int dir_id, int fil_id) { + return exact ? tbl_thm.Select_itm_by_w_exact(dir_id, fil_id, rv) : tbl_thm.Select_itm_by_w_near(dir_id, fil_id, rv); + } public int Insert_fil(Fsd_fil_itm rv, byte[] dir, byte[] fil, int ext_id, int bin_db_id, long bin_len, Io_stream_rdr bin_rdr) { int dir_id = Get_dir_id_or_make(dir); int fil_id = Get_fil_id_or_make(Tid_none, dir_id, fil, ext_id, bin_db_id, bin_len); diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_mgr.java b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_mgr.java index 85ef8b17b..a69080f08 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_mgr.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_mgr.java @@ -27,8 +27,8 @@ public class Fsm_atr_mgr { this.db__core = tbl.Select_1st_or_fail(mnt_itm, core_mgr, mnt_itm.Id(), schema_thm_page); } public Fsm_atr_fil Db__core() {return db__core;} - public Fsd_fil_itm Select_fil_or_null(byte[] dir, byte[] fil) {return db__core.Select_fil_or_null(dir, fil);} - public boolean Select_thm(Fsd_thm_itm rv, int dir_id, int fil_id) {return db__core.Select_thm(rv, dir_id, fil_id);} + public Fsd_fil_itm Select_fil_or_null(byte[] dir, byte[] fil) {return db__core.Select_fil_or_null(dir, fil);} + public boolean Select_thm(boolean exact, Fsd_thm_itm rv, int dir_id, int fil_id) {return db__core.Select_thm(exact, rv, dir_id, fil_id);} public void Txn_bgn() {db__core.Conn().Txn_bgn();} public void Txn_end() {db__core.Conn().Txn_end();} } diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_bin_tbl.java b/400_xowa/src/gplx/fsdb/meta/Fsm_bin_tbl.java index f6d798cc5..4a9b8fa1b 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_bin_tbl.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_bin_tbl.java @@ -34,7 +34,7 @@ public class Fsm_bin_tbl { conn.Stmt_insert(tbl_name, flds).Crt_int(fld_uid, id).Val_str(fld_url, url_rel).Exec_insert(); } public Fsm_bin_fil[] Select_all(Fsdb_db_mgr db_conn_mgr) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); Db_rdr rdr = conn.Stmt_select_order(tbl_name, flds, Db_meta_fld.Ary_empy, fld_uid).Clear().Exec_select__rls_auto(); try { while (rdr.Move_next()) { @@ -45,6 +45,6 @@ public class Fsm_bin_tbl { rv.Add(itm); } } finally {rdr.Rls();} - return (Fsm_bin_fil[])rv.Xto_ary(Fsm_bin_fil.class); + return (Fsm_bin_fil[])rv.To_ary(Fsm_bin_fil.class); } } diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java b/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java index e7c6d6f28..a9c76d7e4 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.fsdb.meta; import gplx.*; import gplx.fsdb.*; import gplx.dbs.*; import gplx.dbs.cfgs.*; import gplx.fsdb.meta.*; public class Fsm_cfg_mgr { - private final Db_cfg_tbl tbl; private final HashAdp grp_hash = HashAdp_.new_(); + private final Db_cfg_tbl tbl; private final Hash_adp grp_hash = Hash_adp_.new_(); public Fsm_cfg_mgr(Fsdb_db_mgr db_conn_mgr, Db_conn conn) { this.tbl = new Db_cfg_tbl(conn, db_conn_mgr.File__cfg_tbl_name()); } @@ -42,7 +42,7 @@ public class Fsm_cfg_mgr { public boolean Patch__page_gt_1() {return patch__page_gt_1;} private boolean patch__page_gt_1 = false; public void Patch__save(String cfg_key) {tbl.Insert_yn(Fsm_cfg_mgr.Grp_core, cfg_key, Bool_.Y);} public Db_cfg_hash Grps_get_or_load(String grp_key) { - Db_cfg_hash rv = (Db_cfg_hash)grp_hash.Fetch(grp_key); + Db_cfg_hash rv = (Db_cfg_hash)grp_hash.Get_by(grp_key); if (rv == null) { rv = tbl.Select_as_hash(grp_key); grp_hash.Add(grp_key, rv); diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_itm.java b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_itm.java index 42d73a55c..28719f3cf 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_itm.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_itm.java @@ -38,10 +38,10 @@ public class Fsm_mnt_itm { if (!cfg_mgr.Patch_next_id()) Fsm_mnt_itm_.Patch_next_id(this, name); } public int Next_id() {return cfg_mgr.Next_id();} - public Fsd_fil_itm Select_fil_or_null(byte[] dir, byte[] fil, boolean is_thumb, int width, double time) {return atr_mgr.Select_fil_or_null(dir, fil);} - public boolean Select_thm(Fsd_thm_itm rv, byte[] dir, byte[] fil) { + public Fsd_fil_itm Select_fil_or_null(byte[] dir, byte[] fil) {return atr_mgr.Select_fil_or_null(dir, fil);} + public boolean Select_thm(boolean exact, Fsd_thm_itm rv, byte[] dir, byte[] fil) { Fsd_fil_itm fil_itm = atr_mgr.Select_fil_or_null(dir, fil); - return fil_itm == Fsd_fil_itm.Null ? Bool_.N : atr_mgr.Select_thm(rv, fil_itm.Dir_id(), fil_itm.Fil_id()); + return fil_itm == Fsd_fil_itm.Null ? Bool_.N : atr_mgr.Select_thm(exact, rv, fil_itm.Dir_id(), fil_itm.Fil_id()); } public void Insert_img(Fsd_img_itm rv, Fsm_atr_fil atr_fil, Fsm_bin_fil bin_fil, byte[] dir, byte[] fil, int ext_id, int img_w, int img_h, long bin_len, Io_stream_rdr bin_rdr) { int fil_id = atr_fil.Insert_img(rv, dir, fil, ext_id, img_w, img_h, bin_fil.Id(), bin_len, bin_rdr); diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_mgr.java b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_mgr.java index fe4d33668..07f5646bb 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_mgr.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_mgr.java @@ -48,10 +48,10 @@ public class Fsm_mnt_mgr implements GfoInvkAble { cfg_tbl.Upsert_str(Xof_fsdb_mgr_cfg.Grp_xowa, Xof_fsdb_mgr_cfg.Key_upright_use_thumb_w , "y"); cfg_tbl.Upsert_str(Xof_fsdb_mgr_cfg.Grp_xowa, Xof_fsdb_mgr_cfg.Key_upright_fix_default , "y"); } - public static void Patch_core(Db_cfg_tbl cfg_tbl) { - cfg_tbl.Insert_int (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_next_id , 1); // start next_id at 1 - cfg_tbl.Insert_yn (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_schema_thm_page , Bool_.Y); // new dbs automatically have page and time in fsdb_xtn_tm - cfg_tbl.Insert_yn (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_patch__next_id , Bool_.Y); // new dbs automatically have correct next_id + public static void Patch_core(Db_cfg_tbl cfg_tbl) { // NOTE: thes need to be upserts else upgrading will fail; DATE:2015-05-23 + cfg_tbl.Upsert_int (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_next_id , 1); // start next_id at 1 + cfg_tbl.Upsert_yn (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_schema_thm_page , Bool_.Y); // new dbs automatically have page and time in fsdb_xtn_tm + cfg_tbl.Upsert_yn (Fsm_cfg_mgr.Grp_core, Fsm_cfg_mgr.Key_patch__next_id , Bool_.Y); // new dbs automatically have correct next_id } public static final String Cfg_grp_core = "core", Cfg_key_mnt_insert_idx = "mnt.insert_idx"; // SERIALIZED } diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_tbl.java b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_tbl.java index 3ee9e97d3..b2ef47696 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_tbl.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_mnt_tbl.java @@ -44,7 +44,7 @@ public class Fsm_mnt_tbl implements RlsAble { stmt.Clear().Val_str(fld_name, name).Val_str(fld_url, url).Crt_int(fld_id, id).Exec_update(); } public Fsm_mnt_itm[] Select_all() { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); Db_rdr rdr = conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Clear().Exec_select__rls_auto(); try { while (rdr.Move_next()) { @@ -53,7 +53,7 @@ public class Fsm_mnt_tbl implements RlsAble { } } finally {rdr.Rls();} - return (Fsm_mnt_itm[])list.Xto_ary_and_clear(Fsm_mnt_itm.class); + return (Fsm_mnt_itm[])list.To_ary_and_clear(Fsm_mnt_itm.class); } public static final String Mnt_name_main = "fsdb.main", Mnt_name_user = "fsdb.user"; } diff --git a/400_xowa/src/gplx/gfs/Gfs_lxr.java b/400_xowa/src/gplx/gfs/Gfs_lxr.java index c46ec27ac..5df3667eb 100644 --- a/400_xowa/src/gplx/gfs/Gfs_lxr.java +++ b/400_xowa/src/gplx/gfs/Gfs_lxr.java @@ -56,7 +56,7 @@ class Gfs_lxr_comment_flat implements Gfs_lxr { public int Process(Gfs_parser_ctx ctx, int lxr_bgn, int lxr_end) { byte[] src = ctx.Src(); int src_len = ctx.Src_len(); int end_pos = Bry_finder.Find_fwd(src, end_bry, lxr_end, src_len); - // if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("comment is not closed: {0}", String_.new_utf8_(end_bry)); + // if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("comment is not closed: {0}", String_.new_u8(end_bry)); return (end_pos == Bry_.NotFound) ? src_len // allow eos to terminate flat comment; needed for "tidy-always-adds-nl-in-textarea" fix; NOTE: DATE:2014-06-21 : end_pos + end_bry_len; // position after end_bry @@ -150,7 +150,7 @@ class Gfs_lxr_quote implements Gfs_lxr { public int Process(Gfs_parser_ctx ctx, int lxr_bgn, int lxr_end) { byte[] src = ctx.Src(); int src_len = ctx.Src_len(); int end_pos = Bry_finder.Find_fwd(src, end_bry, lxr_end, src_len); - if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("quote is not closed: {0}", String_.new_utf8_(end_bry)); + if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("quote is not closed: {0}", String_.new_u8(end_bry)); Bry_bfr bfr = ctx.Tmp_bfr().Clear(); int prv_pos = lxr_end; int nxt_pos = end_pos + end_bry_len; @@ -160,7 +160,7 @@ class Gfs_lxr_quote implements Gfs_lxr { bfr.Add(end_bry); // add end_bry prv_pos = nxt_pos + end_bry_len; // set prv_pos to after doubled end_bry end_pos = Bry_finder.Find_fwd(src, end_bry, prv_pos, src_len); - if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("quote is not closed: {0}", String_.new_utf8_(end_bry)); + if (end_pos == Bry_.NotFound) throw Err_.new_fmt_("quote is not closed: {0}", String_.new_u8(end_bry)); nxt_pos = end_pos + end_bry_len; if (!Bry_.Match(src, nxt_pos, nxt_pos + end_bry_len, end_bry)) { bfr.Add_mid(src, prv_pos, end_pos); diff --git a/400_xowa/src/gplx/gfs/Gfs_msg_bldr.java b/400_xowa/src/gplx/gfs/Gfs_msg_bldr.java index ae0c3788c..4839f1399 100644 --- a/400_xowa/src/gplx/gfs/Gfs_msg_bldr.java +++ b/400_xowa/src/gplx/gfs/Gfs_msg_bldr.java @@ -19,20 +19,20 @@ package gplx.gfs; import gplx.*; public class Gfs_msg_bldr implements GfoMsgParser { Gfs_parser parser = new Gfs_parser(); public GfoMsg ParseToMsg(String s) {return Bld(s);} - public GfoMsg Bld(String src) {return Bld(Bry_.new_utf8_(src));} + public GfoMsg Bld(String src) {return Bld(Bry_.new_u8(src));} public GfoMsg Bld(byte[] src) { Gfs_nde nde = parser.Parse(src); return Bld_msg(src, nde); } GfoMsg Bld_msg(byte[] src, Gfs_nde nde) { boolean op_is_assign = (nde.Op_tid() == Gfs_nde.Op_tid_assign); - String name = String_.new_utf8_(nde.Name_bry(src)); + String name = String_.new_u8(nde.Name_bry(src)); if (op_is_assign) name += Tkn_mutator; GfoMsg rv = GfoMsg_.new_parse_(name); int len = nde.Atrs_len(); for (int i = 0; i < len; i++) { Gfs_nde atr = nde.Atrs_get_at(i); - rv.Add("", String_.new_utf8_(atr.Name_bry(src))); + rv.Add("", String_.new_u8(atr.Name_bry(src))); } len = nde.Subs_len(); for (int i = 0; i < len; i++) { 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 5b8116038..e839c0ff0 100644 --- a/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java @@ -56,9 +56,9 @@ class Gfs_msg_bldr_fxt { } public void Test_build(String raw, GfoMsg... expd) { GfoMsg root = msg_bldr.Bld(raw); - Tfds.Eq_str_lines(Xto_str(expd), Xto_str(Xto_ary(root))); + Tfds.Eq_str_lines(Xto_str(expd), Xto_str(To_ary(root))); } - GfoMsg[] Xto_ary(GfoMsg msg) { + GfoMsg[] To_ary(GfoMsg msg) { int len = msg.Subs_count(); GfoMsg[] rv = new GfoMsg[len]; for (int i = 0; i < len; i++) diff --git a/400_xowa/src/gplx/gfs/Gfs_parser.java b/400_xowa/src/gplx/gfs/Gfs_parser.java index b343e432f..189f45c40 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser.java @@ -75,8 +75,8 @@ class Gfs_parser_ { trie_add_many(rv, Gfs_lxr_whitespace._, Byte_ascii.Space, Byte_ascii.NewLine, Byte_ascii.CarriageReturn, Byte_ascii.Tab); trie_add_quote(rv, new byte[] {Byte_ascii.Apos}); trie_add_quote(rv, new byte[] {Byte_ascii.Quote}); - trie_add_quote(rv, Bry_.new_ascii_("<:[\"\n"), Bry_.new_ascii_("\n\"]:>")); - trie_add_quote(rv, Bry_.new_ascii_("<:['\n"), Bry_.new_ascii_("\n']:>")); + trie_add_quote(rv, Bry_.new_a7("<:[\"\n"), Bry_.new_a7("\n\"]:>")); + trie_add_quote(rv, Bry_.new_a7("<:['\n"), Bry_.new_a7("\n']:>")); trie_add_comment(rv, new byte[] {Byte_ascii.Slash, Byte_ascii.Slash}, new byte[] {Byte_ascii.NewLine}); trie_add_comment(rv, new byte[] {Byte_ascii.Slash, Byte_ascii.Asterisk}, new byte[] {Byte_ascii.Asterisk, Byte_ascii.Slash}); rv.Add(Byte_ascii.Semic, Gfs_lxr_semic._); diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java index 0978a37df..8f01344d0 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java @@ -55,11 +55,11 @@ class Gfs_parser_ctx { cur_nde.Atrs_add(nde); return nde; } - public void Cur_nde_from_stack() {cur_nde = (Gfs_nde)nodes.FetchAtLast();} - public void Stack_add() {nodes.Add(cur_nde);} ListAdp nodes = ListAdp_.new_(); + public void Cur_nde_from_stack() {cur_nde = (Gfs_nde)nodes.Get_at_last();} + public void Stack_add() {nodes.Add(cur_nde);} List_adp nodes = List_adp_.new_(); public void Stack_pop(int pos) { if (nodes.Count() < 2) err_mgr.Fail_nde_stack_empty(this, pos); // NOTE: need at least 2 items; 1 to pop and 1 to set as current - ListAdp_.DelAt_last(nodes); + List_adp_.DelAt_last(nodes); Cur_nde_from_stack(); } public Gfs_err_mgr Err_mgr() {return err_mgr;} Gfs_err_mgr err_mgr = new Gfs_err_mgr(); @@ -122,5 +122,5 @@ class Gfs_err_mgr { default: bfr.Add_byte(b); break; } } - } static final byte[] Esc_nl = Bry_.new_ascii_("\\n"), Esc_cr = Bry_.new_ascii_("\\r"), Esc_tab = Bry_.new_ascii_("\\t"); + } static final byte[] Esc_nl = Bry_.new_a7("\\n"), Esc_cr = Bry_.new_a7("\\r"), Esc_tab = Bry_.new_a7("\\t"); } diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java index b1fe44670..19a9e5834 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java @@ -134,15 +134,15 @@ public class Gfs_parser_tst { } class Gfs_parser_fxt { public void Clear() {} - public Gfs_nde nde_(String v) {return new Gfs_nde().Name_(Bry_.new_ascii_(v));} - public Gfs_nde val_(String v) {return new Gfs_nde().Name_(Bry_.new_ascii_(v));} + public Gfs_nde nde_(String v) {return new Gfs_nde().Name_(Bry_.new_a7(v));} + public Gfs_nde val_(String v) {return new Gfs_nde().Name_(Bry_.new_a7(v));} public void Test_parse(String src_str, Gfs_nde... expd) { - byte[] src_bry = Bry_.new_utf8_(src_str); + byte[] src_bry = Bry_.new_u8(src_str); Gfs_nde root = parser.Parse(src_bry); Tfds.Eq_str_lines(To_str(null, expd), To_str(src_bry, root.Subs_to_ary())); } private Bry_bfr tmp_bfr = Bry_bfr.new_(), path_bfr = Bry_bfr.new_(); Gfs_parser parser = new Gfs_parser(); public void Test_parse_fail(String src_str, String expd_err) { - byte[] src_bry = Bry_.new_utf8_(src_str); + byte[] src_bry = Bry_.new_u8(src_str); try {parser.Parse(src_bry);} catch (Exception e) { String actl_err = Err_.Message_gplx_brief(e); @@ -192,5 +192,5 @@ class Gfs_parser_fxt { bfr.Add(val); bfr.Add_byte_nl(); } - private static final byte[] Atr_name = Bry_.new_ascii_("name="); + private static final byte[] Atr_name = Bry_.new_a7("name="); } diff --git a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java index 011a758f2..97001e120 100644 --- a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java +++ b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java @@ -40,11 +40,11 @@ public class Gfui_bnd_parser { , new_mod_(Gfui_bnd_tkn.Tid_mod_cas , "mod.cas" , "Ctrl + Alt + Shift") }; private byte[] src; private int src_len; - private ListAdp tkns = ListAdp_.new_(); private int mod_val = Mod_val_null; + private List_adp tkns = List_adp_.new_(); private int mod_val = Mod_val_null; public String Xto_norm(String src_str) {return Convert(Bool_.Y, src_str);} public String Xto_gfui(String src_str) {return Convert(Bool_.N, src_str);} private String Convert(boolean src_is_gfui, String src_str) { - this.src = Bry_.new_utf8_(src_str); this.src_len = src.length; + this.src = Bry_.new_u8(src_str); this.src_len = src.length; tkns.Clear(); mod_val = Mod_val_null; int pos = 0; int itm_bgn = -1, itm_end = -1; boolean is_numeric = false; while (pos <= src_len) { // loop over bytes and break up tkns by symbols @@ -91,7 +91,7 @@ public class Gfui_bnd_parser { } int tkns_len = tkns.Count(); for (int i = 0; i < tkns_len; i++) { - Gfui_bnd_tkn tkn = (Gfui_bnd_tkn)tkns.FetchAt(i); + Gfui_bnd_tkn tkn = (Gfui_bnd_tkn)tkns.Get_at(i); tkn.Write(tmp_bfr, !src_is_gfui); } return tmp_bfr.Xto_str_and_clear(); @@ -249,16 +249,16 @@ public class Gfui_bnd_parser { norm_regy.Add(itm.Bry_norm(), itm); } private void Init_itm(byte tid, String gfui, String norm) { - byte[] gfui_bry = Bry_.new_utf8_(gfui); - byte[] norm_bry = Bry_.new_utf8_(norm); + byte[] gfui_bry = Bry_.new_u8(gfui); + byte[] norm_bry = Bry_.new_u8(norm); Gfui_bnd_tkn itm = new Gfui_bnd_tkn(tid, Gfui_bnd_tkn.Keycode_null, gfui_bry, norm_bry); gfui_regy.Add(gfui_bry, itm); - norm_regy.Add_if_new(norm_bry, itm); + norm_regy.Add_if_dupe_use_1st(norm_bry, itm); } private static final int Mod_val_null = 0; public static Gfui_bnd_parser new_en_() {return new Gfui_bnd_parser().Init_en();} Gfui_bnd_parser() {} private static Gfui_bnd_tkn new_sym_(byte tid, byte[] bry) {return new Gfui_bnd_tkn(tid, Gfui_bnd_tkn.Keycode_null, bry, bry);} - private static Gfui_bnd_tkn new_mod_(byte tid, String gfui, String norm) {return new Gfui_bnd_tkn(tid, Gfui_bnd_tkn.Keycode_null, Bry_.new_ascii_(gfui), Bry_.new_ascii_(norm));} + private static Gfui_bnd_tkn new_mod_(byte tid, String gfui, String norm) {return new Gfui_bnd_tkn(tid, Gfui_bnd_tkn.Keycode_null, Bry_.new_a7(gfui), Bry_.new_a7(norm));} } class Gfui_bnd_tkn { public Gfui_bnd_tkn(byte tid, int keycode, byte[] gfui, byte[] norm) { @@ -312,5 +312,5 @@ class Gfui_bnd_tkn { , Tid_key = 12 ; public static final int Keycode_null = 0; - private static final byte[] Bry_key_prefix = Bry_.new_ascii_("key."); + private static final byte[] Bry_key_prefix = Bry_.new_a7("key."); } diff --git a/400_xowa/src/gplx/html/Html_atr_.java b/400_xowa/src/gplx/html/Html_atr_.java index 003772aae..536ad8374 100644 --- a/400_xowa/src/gplx/html/Html_atr_.java +++ b/400_xowa/src/gplx/html/Html_atr_.java @@ -21,9 +21,9 @@ public class Html_atr_ { Src_str = "src" ; public static final byte[] - Id_bry = Bry_.new_ascii_("id") - , Cls_bry = Bry_.new_ascii_("class") - , Style_bry = Bry_.new_ascii_("style") - , Href_bry = Bry_.new_ascii_("href") + Id_bry = Bry_.new_a7("id") + , Cls_bry = Bry_.new_a7("class") + , Style_bry = Bry_.new_a7("style") + , Href_bry = Bry_.new_a7("href") ; } diff --git a/400_xowa/src/gplx/html/Html_entity_.java b/400_xowa/src/gplx/html/Html_entity_.java index 8036e1bcd..3017c88ab 100644 --- a/400_xowa/src/gplx/html/Html_entity_.java +++ b/400_xowa/src/gplx/html/Html_entity_.java @@ -21,15 +21,15 @@ public class Html_entity_ { Nl_str = " " ; public static final byte[] - Lt_bry = Bry_.new_ascii_("<"), Gt_bry = Bry_.new_ascii_(">") - , Amp_bry = Bry_.new_ascii_("&"), Quote_bry = Bry_.new_ascii_(""") - , Apos_num_bry = Bry_.new_ascii_("'") - , Apos_key_bry = Bry_.new_ascii_("'") - , Eq_bry = Bry_.new_ascii_("=") - , Nl_bry = Bry_.new_ascii_(Nl_str), Space_bry = Bry_.new_ascii_(" ") - , Pipe_bry = Bry_.new_ascii_("|") - , Colon_bry = Bry_.new_ascii_(":"), Underline_bry = Bry_.new_ascii_("_"), Asterisk_bry = Bry_.new_ascii_("*") - , Brack_bgn_bry = Bry_.new_ascii_("["), Brack_end_bry = Bry_.new_ascii_("]") - , Nbsp_num_bry = Bry_.new_ascii_(" ") + Lt_bry = Bry_.new_a7("<"), Gt_bry = Bry_.new_a7(">") + , Amp_bry = Bry_.new_a7("&"), Quote_bry = Bry_.new_a7(""") + , Apos_num_bry = Bry_.new_a7("'") + , Apos_key_bry = Bry_.new_a7("'") + , Eq_bry = Bry_.new_a7("=") + , Nl_bry = Bry_.new_a7(Nl_str), Space_bry = Bry_.new_a7(" ") + , Pipe_bry = Bry_.new_a7("|") + , Colon_bry = Bry_.new_a7(":"), Underline_bry = Bry_.new_a7("_"), Asterisk_bry = Bry_.new_a7("*") + , Brack_bgn_bry = Bry_.new_a7("["), Brack_end_bry = Bry_.new_a7("]") + , Nbsp_num_bry = Bry_.new_a7(" ") ; } diff --git a/400_xowa/src/gplx/html/Html_nde.java b/400_xowa/src/gplx/html/Html_nde.java index 0201d744c..2185d9c83 100644 --- a/400_xowa/src/gplx/html/Html_nde.java +++ b/400_xowa/src/gplx/html/Html_nde.java @@ -39,7 +39,7 @@ public class Html_nde { public int Name_bgn() {return name_bgn;} public Html_nde Name_bgn_(int v) {name_bgn = v; return this;} private int name_bgn; public int Name_end() {return name_end;} public Html_nde Name_end_(int v) {name_end = v; return this;} private int name_end; public void Clear() {tag_lhs_bgn = tag_rhs_bgn = -1;} - public String Atrs_val_by_key_str(String find_key_str) {return String_.new_utf8_(Atrs_val_by_key_bry(Bry_.new_utf8_(find_key_str)));} + public String Atrs_val_by_key_str(String find_key_str) {return String_.new_u8(Atrs_val_by_key_bry(Bry_.new_u8(find_key_str)));} public byte[] Atrs_val_by_key_bry(byte[] find_key_bry) { for (int i = 0; i < atrs_len; i ++) { int atrs_idx = i * 5; diff --git a/400_xowa/src/gplx/html/Html_parser.java b/400_xowa/src/gplx/html/Html_parser.java index 5a8e4b76e..d62c81409 100644 --- a/400_xowa/src/gplx/html/Html_parser.java +++ b/400_xowa/src/gplx/html/Html_parser.java @@ -29,7 +29,7 @@ public class Html_parser { public Html_nde[] Parse_as_ary(byte[] src, int bgn, int end) {return Parse_as_ary(src, bgn, end, Wildcard, Wildcard);} public Html_nde[] Parse_as_ary(byte[] src, int bgn, int end, byte[] find_key, byte[] find_val) { // flattens html into a list of hndes; only used for Options this.src = src; pos = bgn; this.end = end; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); while (pos < end) { byte b = src[pos++]; switch (b) { @@ -53,7 +53,7 @@ public class Html_parser { break; } } - return (Html_nde[])rv.Xto_ary(Html_nde.class); + return (Html_nde[])rv.To_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_parser_tst.java b/400_xowa/src/gplx/html/Html_parser_tst.java index 4c347e013..39769df50 100644 --- a/400_xowa/src/gplx/html/Html_parser_tst.java +++ b/400_xowa/src/gplx/html/Html_parser_tst.java @@ -34,8 +34,8 @@ class Xoh_parser_fxt { } private Html_parser parser; public Xoh_parser_fxt Test_parse_find_all(String raw_str, String... expd) {return Test_parse_find(raw_str, Html_parser.Wildcard_str, Html_parser.Wildcard_str, expd);} public Xoh_parser_fxt Test_parse_find(String raw_str, String find_key, String find_val, String... expd) { - byte[] raw = Bry_.new_ascii_(raw_str); - Html_nde[] actl_ndes = parser.Parse_as_ary(raw, 0, raw.length, Bry_.new_ascii_(find_key), Bry_.new_ascii_(find_val)); + byte[] raw = Bry_.new_a7(raw_str); + Html_nde[] actl_ndes = parser.Parse_as_ary(raw, 0, raw.length, Bry_.new_a7(find_key), Bry_.new_a7(find_val)); String[] actl = Xto_ids(raw, actl_ndes); Tfds.Eq_ary_str(expd, actl); return this; diff --git a/400_xowa/src/gplx/html/Html_selecter.java b/400_xowa/src/gplx/html/Html_selecter.java index da6c464a7..b5134b06e 100644 --- a/400_xowa/src/gplx/html/Html_selecter.java +++ b/400_xowa/src/gplx/html/Html_selecter.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.html; import gplx.*; public class Html_selecter { public static Html_nde[] Select(byte[] src, Html_nde[] ary, Hash_adp_bry hash) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int xndes_len = ary.length; for (int i = 0; i < xndes_len; i++) { Html_nde hnde = ary[i]; @@ -33,7 +33,7 @@ public class Html_selecter { } } } - Html_nde[] rv = (Html_nde[])list.Xto_ary(Html_nde.class); + Html_nde[] rv = (Html_nde[])list.To_ary(Html_nde.class); list.Clear(); return rv; } diff --git a/400_xowa/src/gplx/html/Html_tag_.java b/400_xowa/src/gplx/html/Html_tag_.java index 5ea1c8cd5..ef4f00ccd 100644 --- a/400_xowa/src/gplx/html/Html_tag_.java +++ b/400_xowa/src/gplx/html/Html_tag_.java @@ -18,30 +18,30 @@ along with this program. If not, see . package gplx.html; import gplx.*; public class Html_tag_ { public static final byte[] - Ul_name_bry = Bry_.new_ascii_("ul") - , A_name_bry = Bry_.new_ascii_("a") - , Code_name_bry = Bry_.new_ascii_("code") - , Tr_name_bry = Bry_.new_ascii_("tr") - , Td_name_bry = Bry_.new_ascii_("td") - , Table_name_bry = Bry_.new_ascii_("table") + Ul_name_bry = Bry_.new_a7("ul") + , A_name_bry = Bry_.new_a7("a") + , Code_name_bry = Bry_.new_a7("code") + , Tr_name_bry = Bry_.new_a7("tr") + , Td_name_bry = Bry_.new_a7("td") + , Table_name_bry = Bry_.new_a7("table") ; public static final byte[] - Br_inl = Bry_.new_ascii_("
") - , Hr_inl = Bry_.new_ascii_("
") - , Body_lhs = Bry_.new_ascii_("") , Body_rhs = Bry_.new_ascii_("") - , B_lhs = Bry_.new_ascii_("") , B_rhs = Bry_.new_ascii_("") - , I_lhs = Bry_.new_ascii_("") , I_rhs = Bry_.new_ascii_("") - , P_lhs = Bry_.new_ascii_("

") , P_rhs = Bry_.new_ascii_("

") - , Div_lhs = Bry_.new_ascii_("
") , Div_rhs = Bry_.new_ascii_("
") - , Html_rhs = Bry_.new_ascii_("") - , Head_lhs_bgn = Bry_.new_ascii_("") - , Style_lhs_w_type = Bry_.new_ascii_("") - , Script_lhs = Bry_.new_ascii_("") - , Span_rhs = Bry_.new_ascii_("") + Br_inl = Bry_.new_a7("
") + , Hr_inl = Bry_.new_a7("
") + , Body_lhs = Bry_.new_a7("") , Body_rhs = Bry_.new_a7("") + , B_lhs = Bry_.new_a7("") , B_rhs = Bry_.new_a7("") + , I_lhs = Bry_.new_a7("") , I_rhs = Bry_.new_a7("") + , P_lhs = Bry_.new_a7("

") , P_rhs = Bry_.new_a7("

") + , Div_lhs = Bry_.new_a7("
") , Div_rhs = Bry_.new_a7("
") + , Html_rhs = Bry_.new_a7("") + , Head_lhs_bgn = Bry_.new_a7("") + , Style_lhs_w_type = Bry_.new_a7("") + , Script_lhs = Bry_.new_a7("") + , Span_rhs = Bry_.new_a7("") ; public static final String @@ -50,7 +50,7 @@ public class Html_tag_ { , Anchor_str = "#" ; public static final byte[] - Comm_bgn = Bry_.new_ascii_(Comm_bgn_str), Comm_end = Bry_.new_ascii_(Comm_end_str) + Comm_bgn = Bry_.new_a7(Comm_bgn_str), Comm_end = Bry_.new_a7(Comm_end_str) ; public static final int Comm_bgn_len = Comm_bgn.length diff --git a/400_xowa/src/gplx/html/Html_utl.java b/400_xowa/src/gplx/html/Html_utl.java index cff67e5fb..b4761b81c 100644 --- a/400_xowa/src/gplx/html/Html_utl.java +++ b/400_xowa/src/gplx/html/Html_utl.java @@ -19,14 +19,14 @@ package gplx.html; import gplx.*; import gplx.core.primitives.*; import gplx.core.btries.*; public class Html_utl { private static final Url_encoder encoder_id = Url_encoder.new_html_id_(); private static final Bry_bfr tmp_bfr = Bry_bfr.reset_(255); - public static String Encode_id_as_str(byte[] key) {return String_.new_utf8_(Encode_id_as_bry(key));} + public static String Encode_id_as_str(byte[] key) {return String_.new_u8(Encode_id_as_bry(key));} public static byte[] Encode_id_as_bry(byte[] key) { byte[] escaped = Escape_html_as_bry(tmp_bfr, key, Bool_.N, Bool_.N, Bool_.N, Bool_.Y, Bool_.Y); return encoder_id.Encode(escaped); } public static byte[] Escape_for_atr_val_as_bry(Bry_bfr bfr, byte quote_byte, String s) { if (s == null) return null; - return Escape_for_atr_val_as_bry(bfr, quote_byte, Bry_.new_utf8_(s)); + return Escape_for_atr_val_as_bry(bfr, quote_byte, Bry_.new_u8(s)); } public static byte[] Escape_for_atr_val_as_bry(Bry_bfr bfr, byte quote_byte, byte[] bry) { if (bry == null) return null; @@ -55,7 +55,7 @@ public class Html_utl { } return dirty; } - public static String Escape_html_as_str(String v) {return String_.new_utf8_(Escape_html_as_bry(Bry_.new_utf8_(v)));} + public static String Escape_html_as_str(String v) {return String_.new_u8(Escape_html_as_bry(Bry_.new_u8(v)));} public static byte[] Escape_html_as_bry(Bry_bfr tmp, byte[] bry) {return Escape_html(false, tmp, bry, 0, bry.length, true, true, true, true, true);} public static byte[] Escape_html_as_bry(byte[] bry) {return Escape_html(false, tmp_bfr, bry, 0, bry.length, true, true, true, true, true);} public static byte[] Escape_html_as_bry(byte[] bry, boolean lt, boolean gt, boolean amp, boolean quote, boolean apos) @@ -111,7 +111,7 @@ public class Html_utl { ; public static String Unescape_as_str(String src) { Bry_bfr bfr = Bry_bfr.reset_(255); - byte[] bry = Bry_.new_utf8_(src); + byte[] bry = Bry_.new_u8(src); Unescape(Bool_.Y, bfr, bry, 0, bry.length, Bool_.Y, Bool_.Y, Bool_.Y, Bool_.Y, Bool_.Y); return bfr.Xto_str_and_clear(); } diff --git a/400_xowa/src/gplx/html/Html_utl_tst.java b/400_xowa/src/gplx/html/Html_utl_tst.java index c71aca609..bf4cc46f5 100644 --- a/400_xowa/src/gplx/html/Html_utl_tst.java +++ b/400_xowa/src/gplx/html/Html_utl_tst.java @@ -43,20 +43,20 @@ class Html_utl_fxt { tmp_bfr.Clear(); } public void Test_del_comments(String src, String expd) { - byte[] actl = Html_utl.Del_comments(tmp_bfr, Bry_.new_utf8_(src)); - Tfds.Eq(expd, String_.new_ascii_(actl)); + byte[] actl = Html_utl.Del_comments(tmp_bfr, Bry_.new_u8(src)); + Tfds.Eq(expd, String_.new_a7(actl)); } public void Test_escape_html(boolean lt, boolean gt, boolean amp, boolean quote, boolean apos, String src, String expd) { - byte[] actl = Html_utl.Escape_html_as_bry(Bry_.new_ascii_(src), lt, gt, amp, quote, apos); - Tfds.Eq(expd, String_.new_ascii_(actl)); + byte[] actl = Html_utl.Escape_html_as_bry(Bry_.new_a7(src), lt, gt, amp, quote, apos); + Tfds.Eq(expd, String_.new_a7(actl)); } public void Test_escape_for_atr(String src, boolean quote_is_apos, String expd) { byte[] actl = Html_utl.Escape_for_atr_val_as_bry(tmp_bfr, quote_is_apos ? Byte_ascii.Apos : Byte_ascii.Quote, src); - Tfds.Eq(expd, String_.new_utf8_(actl)); + Tfds.Eq(expd, String_.new_u8(actl)); } public void Test_unescape_html(boolean lt, boolean gt, boolean amp, boolean quote, boolean apos, String src, String expd) { - byte[] bry = Bry_.new_utf8_(src); + byte[] bry = Bry_.new_u8(src); byte[] actl = Html_utl.Unescape(false, tmp_bfr, bry, 0, bry.length, lt, gt, amp, quote, apos); - Tfds.Eq(expd, String_.new_ascii_(actl)); + Tfds.Eq(expd, String_.new_a7(actl)); } } diff --git a/400_xowa/src/gplx/html/Html_wtr.java b/400_xowa/src/gplx/html/Html_wtr.java index 73d8f8a0e..86e86fb50 100644 --- a/400_xowa/src/gplx/html/Html_wtr.java +++ b/400_xowa/src/gplx/html/Html_wtr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.html; import gplx.*; public class Html_wtr { private Bry_bfr bfr = Bry_bfr.reset_(255); - private ListAdp nde_stack = ListAdp_.new_(); + private List_adp nde_stack = List_adp_.new_(); public byte Atr_quote() {return atr_quote;} public Html_wtr Atr_quote_(byte v) {atr_quote = v; return this;} private byte atr_quote = Byte_ascii.Quote; public Html_wtr Nde_full_atrs(byte[] tag, byte[] text, boolean text_escape, byte[]... atrs) { Nde_bgn(tag); @@ -68,7 +68,7 @@ public class Html_wtr { } public Html_wtr Nde_end_inline() { bfr.Add_byte(Byte_ascii.Slash).Add_byte(Byte_ascii.Gt); - nde_stack.PopLast(); + List_adp_.Pop_last(nde_stack); return this; } public Html_wtr Nde_end_hdr() { @@ -76,7 +76,7 @@ public class Html_wtr { return this; } public Html_wtr Nde_end() { - byte[] name = (byte[])nde_stack.PopLast(); + byte[] name = (byte[])List_adp_.Pop_last(nde_stack); bfr.Add_byte(Byte_ascii.Lt).Add_byte(Byte_ascii.Slash); bfr.Add(name); bfr.Add_byte(Byte_ascii.Gt); diff --git a/400_xowa/src/gplx/intl/String_surrogate_utl_tst.java b/400_xowa/src/gplx/intl/String_surrogate_utl_tst.java index e4035e277..ef15e3d82 100644 --- a/400_xowa/src/gplx/intl/String_surrogate_utl_tst.java +++ b/400_xowa/src/gplx/intl/String_surrogate_utl_tst.java @@ -45,12 +45,12 @@ class String_surrogate_utl_fxt { private String_surrogate_utl codepoint_utl = new String_surrogate_utl(); public void Clear() {} public void Test_count_surrogates__char_idx(String src_str, int bgn_byte, int char_idx, int expd_count, int expd_pos) { - byte[] src_bry = Bry_.new_utf8_(src_str); int src_len = src_bry.length; + byte[] src_bry = Bry_.new_u8(src_str); int src_len = src_bry.length; Tfds.Eq(expd_count , codepoint_utl.Count_surrogates__char_idx(src_bry, src_len, bgn_byte, char_idx)); Tfds.Eq(expd_pos , codepoint_utl.Byte_pos()); } public void Test_count_surrogates__codepoint_idx(String src_str, int bgn_byte, int char_idx, int expd_count, int expd_pos) { - byte[] src_bry = Bry_.new_utf8_(src_str); int src_len = src_bry.length; + byte[] src_bry = Bry_.new_u8(src_str); int src_len = src_bry.length; Tfds.Eq(expd_count , codepoint_utl.Count_surrogates__codepoint_idx1(src_bry, src_len, bgn_byte, char_idx), "count"); Tfds.Eq(expd_pos , codepoint_utl.Byte_pos(), "pos"); } diff --git a/400_xowa/src/gplx/ios/Io_stream_rdr_process.java b/400_xowa/src/gplx/ios/Io_stream_rdr_process.java index 8824ef574..ed6d7025c 100644 --- a/400_xowa/src/gplx/ios/Io_stream_rdr_process.java +++ b/400_xowa/src/gplx/ios/Io_stream_rdr_process.java @@ -23,6 +23,7 @@ public class Io_stream_rdr_process implements Io_stream_rdr { private String[] process_args; Io_stream_rdr_process(Io_url process_exe, Io_url stream_url, String[] process_args) {this.process_exe = process_exe; this.url = stream_url; this.process_args = process_args;} public byte Tid() {return Io_stream_.Tid_bzip2;} // for now, classify as bzip2; not sure if separate tid is necessary + public boolean Exists() {return this.Len() > 0;} public Io_url Url() {return url;} public Io_stream_rdr Url_(Io_url v) {url = v; return this;} private Io_url url; public long Len() {return len;} public Io_stream_rdr Len_(long v) {len = v; return this;} private long len; public Io_url Process_exe() {return process_exe;} private Io_url process_exe; diff --git a/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java b/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java index 3677accd2..b675039ab 100644 --- a/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java +++ b/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java @@ -25,7 +25,7 @@ public class Io_stream_zip_mgr { Io_stream_wtr wtr = Wtr(type); wtr.Write(val, 0, val.length); wtr.Flush(); - return wtr.Xto_ary_and_clear(); + return wtr.To_ary_and_clear(); } public byte[] Unzip(byte type, byte[] val) { if (type == Io_stream_.Tid_raw) return val; diff --git a/400_xowa/src/gplx/json/Json_doc.java b/400_xowa/src/gplx/json/Json_doc.java index 3d4011735..1f3d02b9f 100644 --- a/400_xowa/src/gplx/json/Json_doc.java +++ b/400_xowa/src/gplx/json/Json_doc.java @@ -59,7 +59,7 @@ public class Json_doc { return null; } public static Json_doc new_apos_concat_nl(String... ary) {return new_apos_(String_.Concat_lines_nl(ary));} - public static Json_doc new_apos_(String v) {return new_(Bry_.Replace(Bry_.new_utf8_(v), Byte_ascii.Apos, Byte_ascii.Quote));} - public static Json_doc new_(String v) {return new_(Bry_.new_utf8_(v));} + public static Json_doc new_apos_(String v) {return new_(Bry_.Replace(Bry_.new_u8(v), Byte_ascii.Apos, Byte_ascii.Quote));} + public static Json_doc new_(String v) {return new_(Bry_.new_u8(v));} public static Json_doc new_(byte[] v) {return parser.Parse(v);} static Json_parser parser = new Json_parser(); } \ No newline at end of file diff --git a/400_xowa/src/gplx/json/Json_doc_bldr.java b/400_xowa/src/gplx/json/Json_doc_bldr.java index 8319bd1dc..9b323c905 100644 --- a/400_xowa/src/gplx/json/Json_doc_bldr.java +++ b/400_xowa/src/gplx/json/Json_doc_bldr.java @@ -23,7 +23,7 @@ public class Json_doc_bldr { owner.Subs_add(rv); return rv; } - public Json_itm Str(byte[] v) {return Str(String_.new_utf8_(v));} + public Json_itm Str(byte[] v) {return Str(String_.new_u8(v));} public Json_itm Str(String v) {return Json_itm_tmp.new_str_(v);} public Json_itm Int(int v) {return Json_itm_tmp.new_int_(v);} public Json_itm_kv Kv_int(Json_grp owner, String key, int val) {Json_itm_kv rv = factory.Kv(Json_itm_tmp.new_str_(key), Json_itm_tmp.new_int_(val)); owner.Subs_add(rv); return rv;} diff --git a/400_xowa/src/gplx/json/Json_doc_srl.java b/400_xowa/src/gplx/json/Json_doc_srl.java index 6f4c31cf7..06ec1312d 100644 --- a/400_xowa/src/gplx/json/Json_doc_srl.java +++ b/400_xowa/src/gplx/json/Json_doc_srl.java @@ -42,7 +42,7 @@ public class Json_doc_srl { int len = val.length; for (int i = 0; i < len; i++) { Write_itm_hdr(i != 0); // ', ' - Write_str(Bry_.new_utf8_(Object_.Xto_str_strict_or_null(val[i]))); + Write_str(Bry_.new_u8(Object_.Xto_str_strict_or_null(val[i]))); Write_new_line(); } Indent_del(); @@ -50,7 +50,7 @@ public class Json_doc_srl { } private void Write_kv_str(boolean comma, byte[] key, String val) { Write_key(comma, key); // "key": - Write_str(Bry_.new_utf8_(val)); // "val" + Write_str(Bry_.new_u8(val)); // "val" Write_new_line(); // \n } private void Write_key(boolean comma, byte[] key) { // "key": @@ -64,7 +64,7 @@ public class Json_doc_srl { bfr.Add(Bry_null); else bfr.Add_byte(Byte_ascii.Quote).Add(v).Add_byte(Byte_ascii.Quote); - } private static final byte[] Bry_null = Bry_.new_ascii_("null"); + } private static final byte[] Bry_null = Bry_.new_a7("null"); private void Write_comma(boolean comma) { if (comma) bfr.Add_byte(Byte_ascii.Comma); diff --git a/400_xowa/src/gplx/json/Json_doc_tst.java b/400_xowa/src/gplx/json/Json_doc_tst.java index 248c7b828..7657ab766 100644 --- a/400_xowa/src/gplx/json/Json_doc_tst.java +++ b/400_xowa/src/gplx/json/Json_doc_tst.java @@ -39,7 +39,7 @@ public class Json_doc_tst { } class Json_qry_mgr_fxt { public void Test_get_val_as_str(Json_doc doc, String qry, String expd){ - byte[][] qry_bry = Bry_.Split(Bry_.new_utf8_(qry), Byte_ascii.Slash); + byte[][] qry_bry = Bry_.Split(Bry_.new_u8(qry), Byte_ascii.Slash); Tfds.Eq(expd, doc.Get_val_as_str_or(qry_bry, null)); } } diff --git a/400_xowa/src/gplx/json/Json_doc_wtr.java b/400_xowa/src/gplx/json/Json_doc_wtr.java index e13f7c852..d82251cec 100644 --- a/400_xowa/src/gplx/json/Json_doc_wtr.java +++ b/400_xowa/src/gplx/json/Json_doc_wtr.java @@ -34,7 +34,7 @@ public class Json_doc_wtr { else bfr.Add_byte(Byte_ascii.Quote).Add(v).Add_byte(Byte_ascii.Quote); return this; - } private static final byte[] Bry_null = Bry_.new_ascii_("null"); + } private static final byte[] Bry_null = Bry_.new_a7("null"); public Json_doc_wtr Int(int v) {bfr.Add_int_variable(v); return this;} public Json_doc_wtr Double(double v) {bfr.Add_double(v); return this;} public Json_doc_wtr Comma() {Indent(); bfr.Add_byte(Byte_ascii.Comma).Add_byte_nl(); return this;} diff --git a/400_xowa/src/gplx/json/Json_itm.java b/400_xowa/src/gplx/json/Json_itm.java index 6d00764f0..fac0119e3 100644 --- a/400_xowa/src/gplx/json/Json_itm.java +++ b/400_xowa/src/gplx/json/Json_itm.java @@ -31,7 +31,7 @@ class Json_itm_null extends Json_itm_base { @Override public Object Data() {return null;} @Override public void Print_as_json(Bry_bfr bfr, int depth) {bfr.Add(Bry_null);} @Override public byte[] Data_bry() {return Bry_null;} - private static final byte[] Bry_null = Bry_.new_ascii_("null"); + private static final byte[] Bry_null = Bry_.new_a7("null"); public static Json_itm_null Null = new Json_itm_null(); } class Json_itm_bool extends Json_itm_base { @@ -47,7 +47,7 @@ class Json_itm_decimal extends Json_itm_base { @Override public byte Tid() {return Json_itm_.Tid_decimal;} @Override public Object Data() { if (data == null) - data = DecimalAdp_.parse_(String_.new_ascii_(this.Data_bry())); + data = DecimalAdp_.parse_(String_.new_a7(this.Data_bry())); return data; } DecimalAdp data; @Override public byte[] Data_bry() { @@ -68,7 +68,7 @@ class Json_itm_str extends Json_itm_base { if (data_str == null) { if (data_bry == null) data_bry = Data_make_bry(); - data_str = String_.new_utf8_(data_bry); + data_str = String_.new_u8(data_bry); } return data_str; } private String data_str; diff --git a/400_xowa/src/gplx/json/Json_itm_.java b/400_xowa/src/gplx/json/Json_itm_.java index 8d195f653..c18d9336c 100644 --- a/400_xowa/src/gplx/json/Json_itm_.java +++ b/400_xowa/src/gplx/json/Json_itm_.java @@ -20,5 +20,5 @@ public class Json_itm_ { public static final Json_itm[] Ary_empty = new Json_itm[0]; public static final byte Tid_unknown = 0, Tid_null = 1, Tid_bool = 2, Tid_int = 3, Tid_decimal = 4, Tid_string = 5, Tid_kv = 6, Tid_array = 7, Tid_nde = 8; public static final byte[][] Names = Bry_.Ary("unknown", "null", "boolean", "int", "decimal", "string", "keyval", "array", "nde"); - public static final byte[] Const_true = Bry_.new_ascii_("true"), Const_false = Bry_.new_ascii_("false"), Const_null = Bry_.new_ascii_("null"); + public static final byte[] Const_true = Bry_.new_a7("true"), Const_false = Bry_.new_a7("false"), Const_null = Bry_.new_a7("null"); } diff --git a/400_xowa/src/gplx/json/Json_itm_tmp.java b/400_xowa/src/gplx/json/Json_itm_tmp.java index d2fd6d458..cb6244ad4 100644 --- a/400_xowa/src/gplx/json/Json_itm_tmp.java +++ b/400_xowa/src/gplx/json/Json_itm_tmp.java @@ -19,7 +19,7 @@ package gplx.json; import gplx.*; public class Json_itm_tmp implements Json_itm { public Json_itm_tmp(byte tid, String data) {this.tid = tid; this.data = data;} public byte Tid() {return tid;} private byte tid; - public byte[] Data_bry() {return Bry_.new_utf8_(Object_.Xto_str_strict_or_empty(data));} + public byte[] Data_bry() {return Bry_.new_u8(Object_.Xto_str_strict_or_empty(data));} public int Src_bgn() {return -1;} public int Src_end() {return -1;} public Object Data() {return data;} private String data; diff --git a/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java b/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java index a1af1852f..163830c1b 100644 --- a/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java +++ b/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java @@ -36,7 +36,7 @@ class Json_kv_ary_srl_fxt { } } private Json_parser parser; public void Test_parse(String raw_str, KeyVal[] expd) { - byte[] raw_bry = Json_parser_tst.Replace_apos(Bry_.new_utf8_(raw_str)); + byte[] raw_bry = Json_parser_tst.Replace_apos(Bry_.new_u8(raw_str)); Json_doc doc = parser.Parse(raw_bry); KeyVal[] actl = Json_kv_ary_srl.Val_by_itm_nde(doc.Root()); Tfds.Eq_str_lines(KeyVal_.Ary_x_to_str(expd), KeyVal_.Ary_x_to_str(actl)); diff --git a/400_xowa/src/gplx/json/Json_parser.java b/400_xowa/src/gplx/json/Json_parser.java index a0fa7e07e..65a1a55e8 100644 --- a/400_xowa/src/gplx/json/Json_parser.java +++ b/400_xowa/src/gplx/json/Json_parser.java @@ -19,7 +19,7 @@ package gplx.json; import gplx.*; public class Json_parser { public Json_factory Factory() {return factory;} private Json_factory factory = new Json_factory(); private byte[] src; private int src_len, pos; private Number_parser num_parser = new Number_parser(); - private static final byte[] Bry_bool_rue = Bry_.new_ascii_("rue"), Bry_bool_alse = Bry_.new_ascii_("alse"), Bry_null_ull = Bry_.new_ascii_("ull"); + private static final byte[] Bry_bool_rue = Bry_.new_a7("rue"), Bry_bool_alse = Bry_.new_a7("alse"), Bry_null_ull = Bry_.new_a7("ull"); public Json_doc Parse(byte[] src) { Json_doc doc = new Json_doc(); this.src = src; this.src_len = src.length; pos = 0; @@ -161,7 +161,7 @@ public class Json_parser { } Err err_(byte[] src, int bgn, String fmt, Object... args) {return err_(src, bgn, src.length, fmt, args);} Err err_(byte[] src, int bgn, int src_len, String fmt, Object... args) { - String msg = String_.Format(fmt, args) + " " + Int_.Xto_str(bgn) + " " + String_.new_utf8_len_safe_(src, bgn, 20); + String msg = String_.Format(fmt, args) + " " + Int_.Xto_str(bgn) + " " + String_.new_u8_by_len(src, bgn, 20); return Err_.new_(msg); } } diff --git a/400_xowa/src/gplx/json/Json_parser_tst.java b/400_xowa/src/gplx/json/Json_parser_tst.java index 4bef9f18f..79739d44e 100644 --- a/400_xowa/src/gplx/json/Json_parser_tst.java +++ b/400_xowa/src/gplx/json/Json_parser_tst.java @@ -40,7 +40,7 @@ public class Json_parser_tst { @Test public void Subs_empty() {fxt.Test_parse("{'k0':{}}", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_("k0", fxt.itm_nde_())));} @Test public void Subs_ws() {fxt.Test_parse("{'k0': { 'k00' : 1 } }", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_("k0", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_("k00", 1)))));} @Test public void Ws() {fxt.Test_parse(" { 'k0' : 'v0' } ", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_("k0", "v0")));} - public static String Replace_apos_as_str(String v) {return String_.new_utf8_(Replace_apos(Bry_.new_utf8_(v)));} + public static String Replace_apos_as_str(String v) {return String_.new_u8(Replace_apos(Bry_.new_u8(v)));} public static byte[] Replace_apos(byte[] v) {return Bry_.Replace(v, Byte_ascii.Apos, Byte_ascii.Quote);} } class Json_parser_fxt { @@ -75,7 +75,7 @@ class Json_parser_fxt { return factory.Kv(itm_str_(k), ary); } public void Test_parse(String raw_str, Json_itm... expd_ary) { - byte[] raw = Json_parser_tst.Replace_apos(Bry_.new_utf8_(raw_str)); + byte[] raw = Json_parser_tst.Replace_apos(Bry_.new_u8(raw_str)); Json_doc doc = parser.Parse(raw); doc.Root().Print_as_json(tmp_bfr, 0); String actl = tmp_bfr.Xto_str_and_clear(); @@ -83,7 +83,7 @@ class Json_parser_fxt { Tfds.Eq_str_lines(expd, actl, actl); } public void Test_parse_val0(String raw_str, Object expd) { - byte[] raw = Json_parser_tst.Replace_apos(Bry_.new_utf8_(raw_str)); + byte[] raw = Json_parser_tst.Replace_apos(Bry_.new_u8(raw_str)); Json_doc doc = parser.Parse(raw); Json_itm_kv kv = Json_itm_kv.cast_(doc.Root().Subs_get_at(0)); // assume root has kv as first sub; EX: {"a":"b"} Object actl = kv.Val().Data(); // NOTE: Data_bry is escaped val; EX: a\"b has DataBry of a"b diff --git a/400_xowa/src/gplx/php/Php_evaluator.java b/400_xowa/src/gplx/php/Php_evaluator.java index c0085e768..7eb52e2c0 100644 --- a/400_xowa/src/gplx/php/Php_evaluator.java +++ b/400_xowa/src/gplx/php/Php_evaluator.java @@ -25,10 +25,10 @@ NOTE: naive implementation of PHP evaluator. intended only for parsing Messages* public class Php_evaluator implements Php_tkn_wkr { byte mode = Mode_key_bgn, next_tid = 0, next_mode = 0; Php_line_assign cur_line; Php_itm_ary cur_ary; Php_key cur_kv_key; - ListAdp frame_stack = ListAdp_.new_(); + List_adp frame_stack = List_adp_.new_(); public Php_evaluator(Gfo_msg_log msg_log) {this.msg_log = msg_log;} Gfo_msg_log msg_log; public void Init(Php_ctx ctx) {src = ctx.Src(); frame_stack.Clear();} private byte[] src; - public ListAdp List() {return lines;} ListAdp lines = ListAdp_.new_(); + public List_adp List() {return lines;} List_adp lines = List_adp_.new_(); public Gfo_msg_log Msg_log() {return msg_log;} public void Clear() { lines.Clear(); msg_log.Clear(); @@ -179,7 +179,7 @@ public class Php_evaluator implements Php_tkn_wkr { if (frame_stack.Count() == 0) cur_ary = null; else { - Php_scanner_frame frame = (Php_scanner_frame)ListAdp_.Pop(frame_stack); + Php_scanner_frame frame = (Php_scanner_frame)List_adp_.Pop(frame_stack); cur_ary = frame.Ary(); frame.Rls(); } @@ -204,7 +204,7 @@ public class Php_evaluator implements Php_tkn_wkr { if (frame_stack.Count() == 0) cur_ary = null; else { - Php_scanner_frame frame = (Php_scanner_frame)ListAdp_.Pop(frame_stack); + Php_scanner_frame frame = (Php_scanner_frame)List_adp_.Pop(frame_stack); cur_ary = frame.Ary(); frame.Rls(); } diff --git a/400_xowa/src/gplx/php/Php_itm.java b/400_xowa/src/gplx/php/Php_itm.java index a9b7d753c..4dc16313e 100644 --- a/400_xowa/src/gplx/php/Php_itm.java +++ b/400_xowa/src/gplx/php/Php_itm.java @@ -29,13 +29,13 @@ class Php_itm_bool_true implements Php_itm, Php_itm_sub { public byte Itm_tid() {return Php_itm_.Tid_bool_true;} public byte[] Val_obj_bry() {return Bry_true;} public static final Php_itm_bool_true _ = new Php_itm_bool_true(); Php_itm_bool_true() {} - private static final byte[] Bry_true = Bry_.new_ascii_("true"); + private static final byte[] Bry_true = Bry_.new_a7("true"); } class Php_itm_bool_false implements Php_itm, Php_itm_sub { public byte Itm_tid() {return Php_itm_.Tid_bool_false;} public byte[] Val_obj_bry() {return Bry_true;} public static final Php_itm_bool_false _ = new Php_itm_bool_false(); Php_itm_bool_false() {} - private static final byte[] Bry_true = Bry_.new_ascii_("false"); + private static final byte[] Bry_true = Bry_.new_a7("false"); } class Php_itm_var implements Php_itm, Php_itm_sub, Php_key { public Php_itm_var(byte[] v) {this.val_obj_bry = v;} diff --git a/400_xowa/src/gplx/php/Php_lxr.java b/400_xowa/src/gplx/php/Php_lxr.java index c50540757..bce51a3fb 100644 --- a/400_xowa/src/gplx/php/Php_lxr.java +++ b/400_xowa/src/gplx/php/Php_lxr.java @@ -59,7 +59,7 @@ class Php_lxr_declaration extends Php_lxr_base { tkn_wkr.Process(tkn_factory.Declaration(bgn, cur)); return cur; } - private static final byte[] Bry_declaration = Bry_.new_ascii_(" TypeOf() {return Gfo_msg_log.class;} public void Clear() {itms.Clear();} public void Add_itm(Gfo_msg_itm itm, int bgn, int end) { @@ -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.Xto_ary(Gfo_msg_data_chkr.class), actl_itms); + mgr.Tst_ary("itms", (Gfo_msg_data_chkr[])itms.To_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_itm.java b/400_xowa/src/gplx/php/Php_srl_itm.java index 2b0a0371c..faae5d1b2 100644 --- a/400_xowa/src/gplx/php/Php_srl_itm.java +++ b/400_xowa/src/gplx/php/Php_srl_itm.java @@ -114,7 +114,7 @@ class Php_srl_itm_ary extends Php_srl_itm_base { subs[i].Xto_bfr(bfr, depth + 1); Php_srl_wtr.Indent(bfr, depth); bfr.Add_byte(Byte_ascii.Curly_end).Add_byte_nl(); - } static final byte[] CONST_ary_bgn = Bry_.new_ascii_("]{\n"); + } static final byte[] CONST_ary_bgn = Bry_.new_a7("]{\n"); Php_srl_itm_kv[] subs = Php_srl_itm_kv.Ary_empty; } class Php_srl_itm_kv { diff --git a/400_xowa/src/gplx/php/Php_srl_parser.java b/400_xowa/src/gplx/php/Php_srl_parser.java index 36178e815..e8173d071 100644 --- a/400_xowa/src/gplx/php/Php_srl_parser.java +++ b/400_xowa/src/gplx/php/Php_srl_parser.java @@ -107,7 +107,7 @@ public class Php_srl_parser { case Byte_ascii.Ltr_d: // EX: 'd:1.23;' pos = Chk(raw, pos + 1, Byte_ascii.Colon); int double_end = Bry_finder.Find_fwd(raw, Byte_ascii.Semic, pos, raw_len); - String double_str = String_.new_ascii_(raw, pos, double_end); + String double_str = String_.new_a7(raw, pos, double_end); double double_val = 0; if (String_.Eq(double_str, "INF")) double_val = Double_.Inf_pos; else if (String_.Eq(double_str, "NAN")) double_val = Double_.NaN; @@ -120,7 +120,7 @@ public class Php_srl_parser { pos = Chk(raw, pos, Byte_ascii.Colon); pos = Chk(raw, pos, Byte_ascii.Quote); int str_end = pos + len_val; - String str_val = String_.new_utf8_(raw, pos, str_end); + String str_val = String_.new_u8(raw, pos, str_end); rv = factory.Str(pos, str_end, str_val); pos = Chk(raw, str_end, Byte_ascii.Quote); pos = Chk(raw, pos, Byte_ascii.Semic); @@ -142,7 +142,7 @@ public class Php_srl_parser { default: throw err_(raw, pos, "unexpected type: {0}", Char_.XtoStr(b)); } return rv; - } static final byte[] CONST_funct_bgn = Bry_.new_ascii_("O:42:\"Scribunto_LuaStandaloneInterpreterFunction\":1:{s:2:\"id\";i:"), CONST_funct_end = Bry_.new_ascii_(";}"); + } static final byte[] CONST_funct_bgn = Bry_.new_a7("O:42:\"Scribunto_LuaStandaloneInterpreterFunction\":1:{s:2:\"id\";i:"), CONST_funct_end = Bry_.new_a7(";}"); int Parse_int_val(int bgn) { pos = bgn; pos = Chk(raw, pos + 1, Byte_ascii.Colon); @@ -190,7 +190,7 @@ public class Php_srl_parser { } Err err_(byte[] raw, int bgn, String fmt, Object... args) {return err_(raw, bgn, raw.length, fmt, args);} Err err_(byte[] raw, int bgn, int raw_len, String fmt, Object... args) { - String msg = String_.Format(fmt, args) + " " + Int_.Xto_str(bgn) + " " + String_.new_utf8_len_safe_(raw, bgn, 20); + String msg = String_.Format(fmt, args) + " " + Int_.Xto_str(bgn) + " " + String_.new_u8_by_len(raw, bgn, 20); return Err_.new_(msg); } } 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 1ae0e78fd..2d3f495ac 100644 --- a/400_xowa/src/gplx/php/Php_srl_parser_tst.java +++ b/400_xowa/src/gplx/php/Php_srl_parser_tst.java @@ -94,7 +94,7 @@ class Php_srl_parser_fxt { public Php_srl_itm_kv itm_kvi_(int k, Php_srl_itm v){return factory.Kv().Key_(itm_int_(k)).Val_(v);} public Php_srl_itm_kv itm_kvs_(String k, Php_srl_itm v){return factory.Kv().Key_(itm_str_(k)).Val_(v);} public void Test_parse(String raw_str, Php_srl_itm... expd_ary) { - byte[] raw = Bry_.new_utf8_(raw_str); + byte[] raw = Bry_.new_u8(raw_str); 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); diff --git a/400_xowa/src/gplx/php/Php_text_itm.java b/400_xowa/src/gplx/php/Php_text_itm.java index 631364148..88b7f5d99 100644 --- a/400_xowa/src/gplx/php/Php_text_itm.java +++ b/400_xowa/src/gplx/php/Php_text_itm.java @@ -56,7 +56,7 @@ class Php_text_itm_arg implements Php_text_itm { public int Idx() {return idx;} private int idx; public void Bld(Bry_bfr bfr, byte[] src) { bfr.Add_byte(Byte_ascii.Tilde).Add_byte(Byte_ascii.Curly_bgn) - .Add_int_variable(idx - ListAdp_.Base1) // php is super 1 + .Add_int_variable(idx - List_adp_.Base1) // php is super 1 .Add_byte(Byte_ascii.Curly_end); } } 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 4815add4e..d1ea515f7 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_parser.java +++ b/400_xowa/src/gplx/php/Php_text_itm_parser.java @@ -20,7 +20,7 @@ import gplx.core.primitives.*; public class Php_text_itm_parser { public static final byte Rslt_orig = 0, Rslt_dirty = 1, Rslt_fmt = 2; public boolean Quote_is_single() {return quote_is_single;} public Php_text_itm_parser Quote_is_single_(boolean v) {quote_is_single = v; return this;} private boolean quote_is_single; - public byte[] Parse_as_bry(ListAdp tmp_list, byte[] raw, Byte_obj_ref rslt_ref, Bry_bfr tmp_bfr) { + public byte[] Parse_as_bry(List_adp tmp_list, byte[] raw, Byte_obj_ref rslt_ref, Bry_bfr tmp_bfr) { Parse(tmp_list, raw, rslt_ref); byte[] rv = raw; switch (rslt_ref.Val()) { @@ -30,7 +30,7 @@ public class Php_text_itm_parser { tmp_bfr.Clear(); int tmp_list_len = tmp_list.Count(); for (int i = 0; i < tmp_list_len; i++) { - Php_text_itm itm = (Php_text_itm)tmp_list.FetchAt(i); + Php_text_itm itm = (Php_text_itm)tmp_list.Get_at(i); itm.Bld(tmp_bfr, raw); } rv = tmp_bfr.Xto_bry_and_clear(); @@ -38,10 +38,10 @@ public class Php_text_itm_parser { } return rv; } - public void Parse(ListAdp tmp_list, byte[] raw) { + public void Parse(List_adp tmp_list, byte[] raw) { Parse(tmp_list, raw, Byte_obj_ref.zero_()); } - public void Parse(ListAdp tmp_list, byte[] raw, Byte_obj_ref rslt) { + public void Parse(List_adp tmp_list, byte[] raw, Byte_obj_ref rslt) { tmp_list.Clear(); int raw_len = raw.length; int raw_last = raw_len - 1; int txt_bgn = -1; @@ -62,7 +62,7 @@ public class Php_text_itm_parser { } } else { - if (pos_is_last) throw Err_mgr._.fmt_auto_(GRP_KEY, "backslash_is_last_char", String_.new_utf8_(raw)); + if (pos_is_last) throw Err_mgr._.fmt_auto_(GRP_KEY, "backslash_is_last_char", String_.new_u8(raw)); switch (next_char) { case Byte_ascii.Backslash: next_char = Byte_ascii.Backslash; break; case Byte_ascii.Quote: next_char = Byte_ascii.Quote; break; @@ -101,7 +101,7 @@ public class Php_text_itm_parser { case Byte_ascii.Dollar: if (txt_bgn != -1) {tmp_list.Add(new Php_text_itm_text(txt_bgn, i)); txt_bgn = -1;} if (i == raw_last) { - //throw Err_mgr._.fmt_auto_(GRP_KEY, "dollar_is_last_char", String_.new_utf8_(raw)); + //throw Err_mgr._.fmt_auto_(GRP_KEY, "dollar_is_last_char", String_.new_u8(raw)); } int int_end = Find_fwd_non_int(raw, i + 1, raw_len); // +1 to search after $ int int_val = Bry_.Xto_int_or(raw, i + 1, int_end, -1); // +1 to search after $ @@ -109,7 +109,7 @@ public class Php_text_itm_parser { tmp_list.Add(new Php_text_itm_text(i, i + 1)); continue; } - //throw Err_mgr._.fmt_auto_(GRP_KEY, "invalid_arg", String_.new_utf8_(raw)); + //throw Err_mgr._.fmt_auto_(GRP_KEY, "invalid_arg", String_.new_u8(raw)); tmp_list.Add(new Php_text_itm_arg(i, int_end, int_val)); rslt_val = Rslt_fmt; i = int_end - 1; // -1 b/c i++ in for loop @@ -121,10 +121,10 @@ public class Php_text_itm_parser { } if (txt_bgn != -1) {tmp_list.Add(new Php_text_itm_text(txt_bgn, raw_len)); txt_bgn = -1; rslt_val = Rslt_dirty;} rslt.Val_(rslt_val); - } private static final byte[] CONST_utf_prefix = Bry_.new_ascii_("\\u00"); - private void Parse_utf16(ListAdp rv, byte[] src, int bgn, int src_len) { + } private static final byte[] CONST_utf_prefix = Bry_.new_a7("\\u00"); + private void Parse_utf16(List_adp rv, byte[] src, int bgn, int src_len) { int end = bgn + 4; - if (end >= src_len) throw Err_mgr._.fmt_auto_(GRP_KEY, "utf16_parse", String_.new_utf8_(src)); + if (end >= src_len) throw Err_mgr._.fmt_auto_(GRP_KEY, "utf16_parse", String_.new_u8(src)); int v = Int_.Xto_int_hex(src, bgn, end); // +2; skip "\" + "u" byte[] literal = gplx.intl.Utf16_.Encode_int_to_bry(v); rv.Add(new Php_text_itm_utf16(bgn, end, literal)); 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 948cee7b2..560c98274 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_tst.java +++ b/400_xowa/src/gplx/php/Php_text_itm_tst.java @@ -39,13 +39,13 @@ class Php_text_itm_fxt { public Php_text_itm_fxt Init_q1() {parser.Quote_is_single_(Bool_.Y); return this;} public Php_text_itm_fxt Init_q2() {parser.Quote_is_single_(Bool_.N); return this;} public void Test_parse(String raw_str, String expd) { - ListAdp list = ListAdp_.new_(); - byte[] raw = Bry_.new_utf8_(raw_str); + List_adp list = List_adp_.new_(); + byte[] raw = Bry_.new_u8(raw_str); parser.Parse(list, raw); Bry_bfr bfr = Bry_bfr.reset_(255); int list_len = list.Count(); for (int i = 0; i < list_len; i++) { - Php_text_itm itm = (Php_text_itm)list.FetchAt(i); + Php_text_itm itm = (Php_text_itm)list.Get_at(i); itm.Bld(bfr, raw); } Tfds.Eq(expd, bfr.Xto_str_and_clear()); diff --git a/400_xowa/src/gplx/php/Php_tkn_wkr.java b/400_xowa/src/gplx/php/Php_tkn_wkr.java index f5e7d74c9..d9d6836b4 100644 --- a/400_xowa/src/gplx/php/Php_tkn_wkr.java +++ b/400_xowa/src/gplx/php/Php_tkn_wkr.java @@ -23,7 +23,7 @@ public interface Php_tkn_wkr { } class Php_tkn_wkr_tkn implements Php_tkn_wkr { public void Init(Php_ctx ctx) {} - public ListAdp List() {return lines;} ListAdp lines = ListAdp_.new_(); + public List_adp List() {return lines;} List_adp lines = List_adp_.new_(); public Gfo_msg_log Msg_log() {return msg_log;} Gfo_msg_log msg_log = new Gfo_msg_log("gplx.php"); public void Clear() {lines.Clear(); msg_log.Clear();} public void Process(Php_tkn tkn) { diff --git a/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java b/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java index 41096ad64..94380f480 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java @@ -21,7 +21,7 @@ public class Dsv_fld_parser_ { public static final Dsv_fld_parser Int_parser = Dsv_fld_parser_int._; public static final Dsv_fld_parser Line_parser__comment_is_pipe = new Dsv_fld_parser_line(Byte_ascii.Pipe); public static Err err_fld_unhandled(Dsv_fld_parser parser, Dsv_wkr_base wkr, int fld_idx, byte[] src, int bgn, int end) { - throw Err_.new_fmt_("fld unhandled; parser={0} wkr={1} fld_idx={2} val={3}", ClassAdp_.NameOf_obj(parser), ClassAdp_.NameOf_obj(wkr), fld_idx, String_.new_utf8_(src, bgn, end)); + throw Err_.new_fmt_("fld unhandled; parser={0} wkr={1} fld_idx={2} val={3}", ClassAdp_.NameOf_obj(parser), ClassAdp_.NameOf_obj(wkr), fld_idx, String_.new_u8(src, bgn, end)); } } class Dsv_fld_parser_line implements Dsv_fld_parser { diff --git a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java index 9988efb3a..1b9e75ddd 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java @@ -38,7 +38,7 @@ public class Dsv_tbl_parser implements GfoInvkAble, RlsAble { fld_bgn = fld_idx = row_bgn = row_idx = 0; } public Err Err_row_bgn(String fmt, int pos) { - return Err_.new_fmt_(fmt + "; line={0}", String_.new_utf8_(src, row_bgn, pos)); + return Err_.new_fmt_(fmt + "; line={0}", String_.new_u8(src, row_bgn, pos)); } public void Update_by_fld(int pos) { fld_bgn = pos; 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 e7302c126..768be5ebd 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.Xto_ary(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); + @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.To_ary(XtoStrAble.class);} private List_adp itms = List_adp_.new_(); private String fld_0; private int fld_1, fld_2; @Override public Dsv_fld_parser[] Fld_parsers() { @@ -46,7 +46,7 @@ class Mok_int_mgr extends Mok_mgr_base { } @Override public boolean Write_bry(Dsv_tbl_parser parser, int fld_idx, byte[] src, int bgn, int end) { switch (fld_idx) { - case 0: fld_0 = String_.new_utf8_(src, bgn, end); return true; + case 0: fld_0 = String_.new_u8(src, bgn, end); return true; default: return false; } } 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 e81c5d534..ccd865d51 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 @@ -68,7 +68,7 @@ class Dsv_mok_fxt { public Mok_str_itm itm_str_(String... flds) {return new Mok_str_itm(flds);} public Mok_int_itm itm_int_(String fld_0, int fld_1, int fld_2) {return new Mok_int_itm(fld_0, fld_1, fld_2);} public void Test_load(String src, Mok_mgr_base mgr, XtoStrAble... expd) { - mgr.Load_by_bry(Bry_.new_utf8_(src)); + mgr.Load_by_bry(Bry_.new_u8(src)); Tfds.Eq_ary_str(expd, mgr.Itms()); } } @@ -83,10 +83,10 @@ 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.Xto_ary(XtoStrAble.class);} private ListAdp itms = ListAdp_.new_(); - private ListAdp flds = ListAdp_.new_(); + @Override public XtoStrAble[] Itms() {return (XtoStrAble[])itms.To_ary(XtoStrAble.class);} private List_adp itms = List_adp_.new_(); + private List_adp flds = List_adp_.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)); + flds.Add(String_.new_u8(src, bgn, end)); return true; } @Override public Dsv_fld_parser[] Fld_parsers() { @@ -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.Xto_ary_and_clear(String.class)); + Mok_str_itm itm = new Mok_str_itm((String[])flds.To_ary_and_clear(String.class)); itms.Add(itm); } } diff --git a/400_xowa/src/gplx/web/js/Js_wtr_tst.java b/400_xowa/src/gplx/web/js/Js_wtr_tst.java index 065606da5..079e46b27 100644 --- a/400_xowa/src/gplx/web/js/Js_wtr_tst.java +++ b/400_xowa/src/gplx/web/js/Js_wtr_tst.java @@ -34,7 +34,7 @@ class Js_wtr_fxt { wtr.Quote_char_(Byte_ascii.Apos); } public void Test_write_val_html(String raw, String expd) { - wtr.Add_str_quote_html(Bry_.new_utf8_(raw)); + wtr.Add_str_quote_html(Bry_.new_u8(raw)); Tfds.Eq(expd, wtr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/Xoa_app.java b/400_xowa/src/gplx/xowa/Xoa_app.java index 150fd7713..13e4df0f8 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app.java +++ b/400_xowa/src/gplx/xowa/Xoa_app.java @@ -16,17 +16,20 @@ 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.ios.*; import gplx.xowa.apps.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.bldrs.css.*; import gplx.xowa.files.caches.*; import gplx.xowa.files.imgs.*; import gplx.xowa.urls.encoders.*; import gplx.xowa.wmfs.*; import gplx.xowa.html.wtrs.*; +import gplx.xowa.users.*; public interface Xoa_app { Xoa_app_type App_type(); Xoa_fsys_mgr Fsys_mgr(); Xof_cache_mgr File__cache_mgr(); Xof_img_mgr File__img_mgr(); + Io_download_fmt File__download_fmt(); Xowmf_mgr Wmf_mgr(); Gfo_usr_dlg Usr_dlg(); Bry_bfr_mkr Utl__bfr_mkr(); @@ -35,4 +38,5 @@ public interface Xoa_app { Xoh_lnki_bldr Html__lnki_bldr(); Xoa_css_extractor Html__css_installer(); boolean Xwiki_mgr__missing(byte[] domain); + Xou_user User(); } diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java index 814b29e7c..67bb03c21 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_.java @@ -26,7 +26,7 @@ public class Xoa_app_ { boot_mgr.Run(args); } public static final String Name = "xowa"; - public static final String Version = "2.5.2.1"; + public static final String Version = "2.5.4.1"; public static String Build_date = "2012-12-30 00:00:00"; public static String Op_sys; public static String User_agent = ""; @@ -63,7 +63,7 @@ class Xoa_app_boot_mgr { log_wtr = usr_dlg.Log_wkr(); log_wtr.Log_to_session_fmt("env.init: version=~{0}", Xoa_app_.Version); GfuiEnv_.Init_swt(args, Xoa_app_.class); Io_url jar_url = Env_.AppUrl(); - Xoa_app_.Build_date = Io_mgr._.QueryFil(jar_url).ModifiedTime().XtoUtc().XtoStr_fmt("yyyy-MM-dd HH:mm"); + Xoa_app_.Build_date = Io_mgr.I.QueryFil(jar_url).ModifiedTime().XtoUtc().XtoStr_fmt("yyyy-MM-dd HH:mm"); log_wtr.Log_to_session_fmt("env.init: jar_url=~{0}; build_date=~{1}", jar_url.NameAndExt(), Xoa_app_.Build_date); log_wtr.Log_to_session_fmt("env.init: op_sys=~{0}", Op_sys.Cur().Xto_str()); chkpoint = "init_env"; @@ -82,7 +82,7 @@ class Xoa_app_boot_mgr { .Fmt_hdr_(hdr) .Expd_add_many ( App_cmd_arg.opt_("root_dir").Example_url_("C:\\xowa").Note_("root directory for xowa; defaults to current directory of xowa.jar") - , App_cmd_arg.opt_("user_dir").Example_url_("C:\\xowa\\user\\" + Xou_user.Key_xowa_user).Note_("directory for user_data; defaults to '/xowa/user/" + Xou_user.Key_xowa_user + "'") + , App_cmd_arg.opt_("user_dir").Example_url_("C:\\xowa\\user\\" + Xoue_user.Key_xowa_user).Note_("directory for user_data; defaults to '/xowa/user/" + Xoue_user.Key_xowa_user + "'") , App_cmd_arg.opt_("wiki_dir").Example_url_("C:\\xowa\\wiki\\").Note_("directory for wikis; defaults to '/xowa/wiki/'") , App_cmd_arg.opt_("bin_dir_name").Example_("windows").Note_("platform-dependent directory name inside /xowa/bin/; valid values are 'linux', 'macosx', 'windows', 'linux_64', 'macosx_64', 'windows_64'; defaults to detected version") , App_cmd_arg.opt_("app_mode").Example_("gui").Note_("type of app to run; valid values are 'gui', 'cmd', 'server', 'http_server'; defaults to 'gui'") @@ -122,7 +122,7 @@ class Xoa_app_boot_mgr { // init vars Io_url jar_dir = Env_.AppUrl().OwnerDir(); Io_url root_dir = args_mgr.Args_get("root_dir").Val_as_url_rel_dir_or(jar_dir, jar_dir); - Io_url user_dir = args_mgr.Args_get("user_dir").Val_as_url_rel_dir_or(root_dir.GenSubDir("user"), root_dir.GenSubDir_nest("user", Xou_user.Key_xowa_user)); + Io_url user_dir = args_mgr.Args_get("user_dir").Val_as_url_rel_dir_or(root_dir.GenSubDir("user"), root_dir.GenSubDir_nest("user", Xoue_user.Key_xowa_user)); Io_url wiki_dir = args_mgr.Args_get("wiki_dir").Val_as_url_rel_dir_or(root_dir.GenSubDir("wiki"), root_dir.GenSubDir("wiki")); Io_url cmd_file = args_mgr.Args_get("cmd_file").Val_as_url_rel_fil_or(jar_dir, root_dir.GenSubFil("xowa.gfs")); String app_mode = args_mgr.Args_get("app_mode").Val_as_str_or("gui"); @@ -154,7 +154,7 @@ class Xoa_app_boot_mgr { app.Usr_dlg().Log_wkr_(app.Log_wtr()); // NOTE: log_wtr must be set for cmd-line (else process will fail); // run gfs - gplx.xowa.users.prefs.Prefs_rename_mgr._.Check(app.User().Fsys_mgr().App_data_cfg_user_fil()); + gplx.xowa.users.prefs.Prefs_rename_mgr._.Check(app.Usere().Fsys_mgr().App_data_cfg_user_fil()); try {app.Gfs_mgr().Run_url(cmd_file); chkpoint = "run_url";} catch (Exception e) { usr_dlg.Warn_many("", "", "script file failed: ~{0} ~{1} ~{2}", chkpoint, cmd_file.Raw(), Err_.Message_gplx(e)); @@ -201,7 +201,7 @@ class Xoa_app_boot_mgr { } private static byte[] System_lang() { String lang_code = Env_.Env_prop__user_language(); - byte[] lang_code_bry = Bry_.new_ascii_(lang_code); + byte[] lang_code_bry = Bry_.new_a7(lang_code); Xol_lang_itm lang_itm = Xol_lang_itm_.Get_by_key(lang_code_bry); return lang_itm == null ? Xol_lang_.Key_en : lang_itm.Key(); } diff --git a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java index 52b0c22a3..de557f020 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java @@ -16,10 +16,10 @@ 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.dbs.*; import gplx.xowa.apps.*; +import gplx.dbs.*; import gplx.xowa.apps.*; import gplx.xowa.files.exts.*; public class Xoa_app_fxt { public static Xoae_app app_() { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); Db_conn_bldr.I.Reg_default_mem(); return app_("linux", Io_url_.mem_dir_("mem/xowa/")); } @@ -44,6 +44,14 @@ public class Xoa_app_fxt { app.Wiki_mgr().Add(rv); return rv; } + public static void repo_(Xoae_app app, Xowe_wiki wiki) { + app.File_mgr().Repo_mgr().Set("src:wiki", "mem/wiki/repo/src/", wiki.Domain_str()).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); + app.File_mgr().Repo_mgr().Set("trg:wiki", "mem/wiki/repo/trg/", wiki.Domain_str()).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2).Primary_(true); + wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_u8("src:wiki"), Bry_.new_u8("trg:wiki")); + app.File_mgr().Repo_mgr().Set("src:c", "mem/wiki/repo/src/", "commons.wikimedia.org").Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); + app.File_mgr().Repo_mgr().Set("trg:c", "mem/wiki/repo/trg/", "commons.wikimedia.org").Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2).Primary_(true); + wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_u8("src:c"), Bry_.new_u8("trg:c")); + } public static void Init_gui(Xoae_app app, Xowe_wiki wiki) { app.Gui_mgr().Browser_win().Init_by_kit(gplx.gfui.Mem_kit._); app.Gui_mgr().Browser_win().Tab_mgr().Tabs_new_init(wiki, Xoae_page.Empty); diff --git a/400_xowa/src/gplx/xowa/Xoa_consts.java b/400_xowa/src/gplx/xowa/Xoa_consts.java index ec22e42c6..f985abb2e 100644 --- a/400_xowa/src/gplx/xowa/Xoa_consts.java +++ b/400_xowa/src/gplx/xowa/Xoa_consts.java @@ -25,6 +25,6 @@ public class Xoa_consts { , Invk_end = new byte[] {Byte_ascii.Curly_end, Byte_ascii.Curly_end} // "}}" , Transclude_bgn = new byte[] {Byte_ascii.Curly_bgn, Byte_ascii.Curly_bgn, Byte_ascii.Colon} // "{{:" , Url_relative_prefix = new byte[] {Byte_ascii.Slash, Byte_ascii.Slash} // "//" - , Url_wiki_intermediary = Bry_.new_ascii_("/wiki/") + , Url_wiki_intermediary = Bry_.new_a7("/wiki/") ; } diff --git a/400_xowa/src/gplx/xowa/Xoa_test_.java b/400_xowa/src/gplx/xowa/Xoa_test_.java index 99e5712ab..3741440aa 100644 --- a/400_xowa/src/gplx/xowa/Xoa_test_.java +++ b/400_xowa/src/gplx/xowa/Xoa_test_.java @@ -23,11 +23,11 @@ public class Xoa_test_ { public static void Db_init(Io_url sqlite_url) {Db_init(Db_is_mem_dflt(), sqlite_url);} public static void Db_init(boolean db_is_mem, Io_url sqlite_url) { if (db_is_mem) { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); Db_conn_bldr.I.Reg_default_mem(); } else { - Io_mgr._.DeleteDirDeep(sqlite_url); + Io_mgr.I.DeleteDirDeep(sqlite_url); Db_conn_bldr.I.Reg_default_sqlite(); } } diff --git a/400_xowa/src/gplx/xowa/Xoae_app.java b/400_xowa/src/gplx/xowa/Xoae_app.java index 2c3525e63..47c589cd3 100644 --- a/400_xowa/src/gplx/xowa/Xoae_app.java +++ b/400_xowa/src/gplx/xowa/Xoae_app.java @@ -22,7 +22,7 @@ import gplx.xowa.langs.*; import gplx.xowa.specials.*; import gplx.xowa.cfgs2.*; import gplx.xowa.bldrs.css.*; import gplx.xowa.files.caches.*; import gplx.xowa.files.imgs.*; 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.html.wtrs.*; +import gplx.xowa.html.wtrs.*; import gplx.xowa.html.ns_files.*; 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.*; @@ -36,12 +36,12 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { log_wtr = usr_dlg.Log_wkr(); cfg_mgr = new Xoa_cfg_mgr(this); api_root = new Xoapi_root(this); - user = new Xou_user(this, user_dir); + user = new Xoue_user(this, user_dir); url_cmd_eval = new Xoa_fsys_eval(fsys_mgr, user.Fsys_mgr()); fsys_mgr.Init_by_app(prog_mgr); log_wtr.Log_dir_(user.Fsys_mgr().App_temp_dir().GenSubDir("log")); lang_mgr = new Xoa_lang_mgr(this); - wiki_mgr = new Xoa_wiki_mgr(this); + wiki_mgr = new Xoae_wiki_mgr(this); gui_mgr = new Xoa_gui_mgr(this); bldr = new Xob_bldr(this); file_mgr.Ctor_by_app(this); @@ -65,8 +65,9 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { } public Xoa_app_type App_type() {return app_type;} private final Xoa_app_type app_type; public Xoa_fsys_mgr Fsys_mgr() {return fsys_mgr;} private final Xoa_fsys_mgr fsys_mgr; - public Xof_cache_mgr File__cache_mgr() {return file_mgr.Cache_mgr();} - public Xof_img_mgr File__img_mgr() {return file_mgr.Img_mgr();} + public Xof_cache_mgr File__cache_mgr() {return file_mgr.Cache_mgr();} + public Xof_img_mgr File__img_mgr() {return file_mgr.Img_mgr();} + public Io_download_fmt File__download_fmt() {return wmf_mgr.Download_wkr().Download_xrg().Download_fmt();} public Xoh_href_parser Html__href_parser() {return href_parser;} private Xoh_href_parser href_parser; public Xoh_lnki_bldr Html__lnki_bldr() {return html__lnki_bldr;} private final Xoh_lnki_bldr html__lnki_bldr; public Xoa_css_extractor Html__css_installer() {return html__css_installer;} private final Xoa_css_extractor html__css_installer = new Xoa_css_extractor(); @@ -74,18 +75,19 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { public Bry_bfr_mkr Utl__bfr_mkr() {return Xoa_app_.Utl__bfr_mkr();} public Url_encoder_mgr Utl__encoder_mgr() {return Xoa_app_.Utl__encoder_mgr();} - public Xoa_wiki_mgr Wiki_mgr() {return wiki_mgr;} private Xoa_wiki_mgr wiki_mgr; + public Xoae_wiki_mgr Wiki_mgr() {return wiki_mgr;} private Xoae_wiki_mgr wiki_mgr; public Xou_user_mgr User_mgr() {return user_mgr;} private Xou_user_mgr user_mgr; public Xof_file_mgr File_mgr() {return file_mgr;} private Xof_file_mgr file_mgr = new Xof_file_mgr(); public Xoa_lang_mgr Lang_mgr() {return lang_mgr;} private Xoa_lang_mgr lang_mgr; public Xoa_gui_mgr Gui_mgr() {return gui_mgr;} private Xoa_gui_mgr gui_mgr; - public Xou_user User() {return user;} private Xou_user user; + public Xou_user User() {return user;} + public Xoue_user Usere() {return user;} private Xoue_user user; public Xob_bldr Bldr() {return bldr;} private Xob_bldr bldr; public Xow_xtn_mgr Xtn_mgr() {return xtn_mgr;} private Xow_xtn_mgr xtn_mgr; public Xoapi_root Api_root() {return api_root;} private Xoapi_root api_root; public Xop_tkn_mkr Tkn_mkr() {return tkn_mkr;} private Xop_tkn_mkr tkn_mkr = new Xop_tkn_mkr(); public Gfo_usr_dlg Usr_dlg() {return Xoa_app_.Usr_dlg();} - public Gfo_usr_dlg__log Log_wtr() {return log_wtr;} private Gfo_usr_dlg__log log_wtr; + public Gfo_usr_dlg__log Log_wtr() {return log_wtr;} private Gfo_usr_dlg__log log_wtr; public Xoa_gfs_mgr Gfs_mgr() {return Xoa_app_.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; @@ -106,7 +108,7 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { public Gfo_msg_log Msg_log() {return msg_log;} private Gfo_msg_log msg_log = new Gfo_msg_log(Xoa_app_.Name); public Gfo_msg_log Msg_log_null() {return msg_log_null;} private Gfo_msg_log msg_log_null = new Gfo_msg_log("null_log"); - public Xoh_file_main_wkr File_main_wkr() {return file_main_wkr;} private Xoh_file_main_wkr file_main_wkr = new Xoh_file_main_wkr(); + public Xoh_ns_file_page_mgr Ns_file_page_mgr() {return ns_file_page_mgr;} private Xoh_ns_file_page_mgr ns_file_page_mgr = new Xoh_ns_file_page_mgr(); public Btrie_slim_mgr Utl_trie_tblw_ws() {return utl_trie_tblw_ws;} private Btrie_slim_mgr utl_trie_tblw_ws = Xop_tblw_ws_itm.trie_(); public Gfo_fld_rdr Utl_fld_rdr() {return utl_fld_rdr;} Gfo_fld_rdr utl_fld_rdr = Gfo_fld_rdr.xowa_(); public Gfo_log_bfr Log_bfr() {return log_bfr;} private Gfo_log_bfr log_bfr = new Gfo_log_bfr(); @@ -130,11 +132,10 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { public Number_parser Utl_num_parser() {return utl_num_parser;} private Number_parser utl_num_parser = new Number_parser(); public void Init_by_app() { stage = Xoa_stage_.Tid_init; + user.Init_by_app(this); prog_mgr.Init_by_app(url_cmd_eval); xtn_mgr.Init_by_app(this); gui_mgr.Init_by_app(); - user.Init_by_app(this); - file_mgr.Init_by_app(this); html__css_installer.Init_by_app(this); wiki_mgr.Init_by_app(); gplx.xowa.utls.upgrades.Xoa_upgrade_mgr.Check(this); @@ -143,6 +144,7 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { thread_mgr.Usr_dlg_(Xoa_app_.Usr_dlg()); html_mgr.Init_by_app(this); api_root.Init_by_app(this); + wmf_mgr.Init_by_app(this); } public boolean Launch_done() {return stage == Xoa_stage_.Tid_launch;} public void Launch() { diff --git a/400_xowa/src/gplx/xowa/apis/Xoapi_root.java b/400_xowa/src/gplx/xowa/apis/Xoapi_root.java index a5a35a2c2..acbbdd08d 100644 --- a/400_xowa/src/gplx/xowa/apis/Xoapi_root.java +++ b/400_xowa/src/gplx/xowa/apis/Xoapi_root.java @@ -35,8 +35,9 @@ public class Xoapi_root implements GfoInvkAble { xtns_api.Init_by_kit(app); } public void Init_by_app(Xoae_app app) { - Io_url img_dir = app.User().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "portal"); + Io_url img_dir = app.Usere().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "portal"); html_api.Page().Toggle_mgr().Img_dir_(img_dir); + usr_api.Init_by_app(app); } public Xoapi_app App() {return app_api;} private final Xoapi_app app_api = new Xoapi_app(); public Xoapi_nav Nav() {return nav_api;} private final Xoapi_nav nav_api = new Xoapi_nav(); @@ -47,6 +48,7 @@ public class Xoapi_root implements GfoInvkAble { public Xoapi_usr Usr() {return usr_api;} private final Xoapi_usr usr_api = new Xoapi_usr(); public Xoapi_special Special() {return special_api;} private final Xoapi_special special_api = new Xoapi_special(); public Xoapi_xtns Xtns() {return xtns_api;} private final Xoapi_xtns xtns_api = new Xoapi_xtns(); + public String Test_str() {return test_str;} public void Test_str_(String v) {test_str = v;} private String test_str; // TEST private void Exec(String key) { Xog_cmd_itm cmd_itm = app.Gui_mgr().Cmd_mgr().Get_or_null(key); if (cmd_itm == null) app.Usr_dlg().Warn_many("", "", "could not find cmd; key=~{0}", key); @@ -63,10 +65,13 @@ public class Xoapi_root implements GfoInvkAble { else if (ctx.Match(k, Invk_special)) return special_api; else if (ctx.Match(k, Invk_xtns)) return xtns_api; else if (ctx.Match(k, Invk_exec)) Exec(m.ReadStr("v")); + else if (ctx.Match(k, Invk_test_str)) return test_str; + else if (ctx.Match(k, Invk_test_str_)) test_str = m.ReadStr("v"); return this; } private static final String Invk_exec = "exec" , Invk_app = "app", Invk_bldr = "bldr", Invk_nav = "nav", Invk_gui = "gui", Invk_html = "html", Invk_net = "net", Invk_usr = "usr", Invk_special = "special", Invk_xtns = "xtns" + , Invk_test_str = "test_str", Invk_test_str_ = "test_str_" ; } diff --git a/400_xowa/src/gplx/xowa/apis/xowa/Xoapi_usr.java b/400_xowa/src/gplx/xowa/apis/xowa/Xoapi_usr.java index 7f2c7a4f9..cfda81ccc 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/Xoapi_usr.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/Xoapi_usr.java @@ -23,18 +23,23 @@ public class Xoapi_usr implements GfoInvkAble { history.Ctor_by_app(app); logs.Ctor_by_app(app); } + public void Init_by_app(Xoa_app app) { + cache.Init_by_app(app); + } public void Init_by_kit(Xoae_app app) { bookmarks.Init_by_kit(app); history.Init_by_kit(app); } - public Xoapi_bookmarks Bookmarks() {return bookmarks;} private Xoapi_bookmarks bookmarks = new Xoapi_bookmarks(); - public Xoapi_history History() {return history;} private Xoapi_history history = new Xoapi_history(); - public Xoapi_logs Logs() {return logs;} private Xoapi_logs logs = new Xoapi_logs(); + public Xoapi_bookmarks Bookmarks() {return bookmarks;} private final Xoapi_bookmarks bookmarks = new Xoapi_bookmarks(); + public Xoapi_history History() {return history;} private final Xoapi_history history = new Xoapi_history(); + public Xoapi_logs Logs() {return logs;} private final Xoapi_logs logs = new Xoapi_logs(); + public Xoapi_cache Cache() {return cache;} private final Xoapi_cache cache = new Xoapi_cache(); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_bookmarks)) return bookmarks; else if (ctx.Match(k, Invk_history)) return history; else if (ctx.Match(k, Invk_logs)) return logs; + else if (ctx.Match(k, Invk_cache)) return cache; else return GfoInvkAble_.Rv_unhandled; } - private static final String Invk_bookmarks = "bookmarks", Invk_history = "history", Invk_logs = "logs"; + private static final String Invk_bookmarks = "bookmarks", Invk_history = "history", Invk_logs = "logs", Invk_cache = "cache"; } diff --git a/400_xowa/src/gplx/xowa/apis/xowa/bldrs/filters/dansguardians/Xoapi_dansguardian.java b/400_xowa/src/gplx/xowa/apis/xowa/bldrs/filters/dansguardians/Xoapi_dansguardian.java index 5fafff236..953706ca0 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/bldrs/filters/dansguardians/Xoapi_dansguardian.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/bldrs/filters/dansguardians/Xoapi_dansguardian.java @@ -50,7 +50,7 @@ public class Xoapi_dansguardian implements GfoInvkAble { else if (ctx.Match(k, Invk_case_match_)) case_match = m.ReadYn("v"); else if (ctx.Match(k, Invk_wildcard_enabled)) return Yn.Xto_str(wildcard_enabled); else if (ctx.Match(k, Invk_wildcard_enabled_)) wildcard_enabled = m.ReadYn("v"); - else if (ctx.Match(k, Invk_wildcard_char)) return String_.new_utf8_(wildcard_char); + else if (ctx.Match(k, Invk_wildcard_char)) return String_.new_u8(wildcard_char); else if (ctx.Match(k, Invk_wildcard_char_)) wildcard_char = m.ReadBry("v"); else if (ctx.Match(k, Invk_wildcard_list)) return ""; else if (ctx.Match(k, Invk_wildcard_list_)) {} diff --git a/400_xowa/src/gplx/xowa/apis/xowa/bldrs/imports/Xoapi_import.java b/400_xowa/src/gplx/xowa/apis/xowa/bldrs/imports/Xoapi_import.java index f87444a8a..7a331a486 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/bldrs/imports/Xoapi_import.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/bldrs/imports/Xoapi_import.java @@ -22,10 +22,10 @@ public class Xoapi_import implements GfoInvkAble { public long Layout_text_max() {return layout_text_max;} private long layout_text_max = Io_size_.To_long_by_int_mb(1500); // 1.5 GB public long Layout_html_max() {return layout_html_max;} private long layout_html_max = Io_size_.To_long_by_int_mb(1500); // 1.5 GB public long Layout_file_max() {return layout_file_max;} private long layout_file_max = Io_size_.To_long_by_int_mb(1500); // 1.5 GB - public long Cat_link_db_max() {return cat_link_db_max;} private long cat_link_db_max = Io_size_.To_long_by_int_mb(3600); // 3.6 GB; v1 - public long Text_db_max() {return text_db_max;} private long text_db_max = Io_size_.To_long_by_int_mb(3000); // 3.0 GB; v1 - public long Html_db_max() {return html_db_max;} private long html_db_max = Io_size_.To_long_by_int_mb(3000); // 3.0 GB; v2; use same as text - public long File_db_max() {return file_db_max;} private long file_db_max = Io_size_.To_long_by_int_mb(3200); // 3.2 GB; v2 + public long Cat_link_db_max() {return cat_link_db_max;} private long cat_link_db_max = Io_size_.To_long_by_int_mb(1500); // 3.6 GB; v1 + public long Text_db_max() {return text_db_max;} private long text_db_max = Io_size_.To_long_by_int_mb(1500); // 3.0 GB; v1 + public long Html_db_max() {return html_db_max;} private long html_db_max = Io_size_.To_long_by_int_mb(1500); // 3.0 GB; v2; use same as text + public long File_db_max() {return file_db_max;} private long file_db_max = Io_size_.To_long_by_int_mb(1500); // 3.2 GB; v2 public byte[] Ns_file_map() {return ns_file_map;} private byte[] ns_file_map = Ns_file_map__each; public byte Zip_tid_text() {return zip_tid_text;} private byte zip_tid_text = Io_stream_.Tid_gzip; public byte Zip_tid_html() {return zip_tid_html;} private byte zip_tid_html = Io_stream_.Tid_gzip; @@ -47,22 +47,22 @@ public class Xoapi_import implements GfoInvkAble { public void Zip_tid_text_raw_() {zip_tid_text = Io_stream_.Tid_raw;} // TEST: public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_layout_all_max)) return Io_size_.To_str_mb(layout_all_max); - else if (ctx.Match(k, Invk_layout_all_max_)) layout_all_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_layout_all_max_)) layout_all_max = Io_size_.To_long_by_msg_mb(m, layout_all_max); else if (ctx.Match(k, Invk_layout_text_max)) return Io_size_.To_str_mb(layout_text_max); - else if (ctx.Match(k, Invk_layout_text_max_)) layout_text_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_layout_text_max_)) layout_text_max = Io_size_.To_long_by_msg_mb(m, layout_text_max); else if (ctx.Match(k, Invk_layout_html_max)) return Io_size_.To_str_mb(layout_html_max); - else if (ctx.Match(k, Invk_layout_html_max_)) layout_html_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_layout_html_max_)) layout_html_max = Io_size_.To_long_by_msg_mb(m, layout_html_max); else if (ctx.Match(k, Invk_layout_file_max)) return Io_size_.To_str_mb(layout_file_max); - else if (ctx.Match(k, Invk_layout_file_max_)) layout_file_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_layout_file_max_)) layout_file_max = Io_size_.To_long_by_msg_mb(m, layout_file_max); else if (ctx.Match(k, Invk_cat_link_db_max)) return Io_size_.To_str_mb(cat_link_db_max); - else if (ctx.Match(k, Invk_cat_link_db_max_)) cat_link_db_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_cat_link_db_max_)) cat_link_db_max = Io_size_.To_long_by_msg_mb(m, cat_link_db_max); else if (ctx.Match(k, Invk_text_db_max)) return Io_size_.To_str_mb(text_db_max); - else if (ctx.Match(k, Invk_text_db_max_)) text_db_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_text_db_max_)) text_db_max = Io_size_.To_long_by_msg_mb(m, text_db_max); else if (ctx.Match(k, Invk_html_db_max)) return Io_size_.To_str_mb(html_db_max); - else if (ctx.Match(k, Invk_html_db_max_)) html_db_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_html_db_max_)) html_db_max = Io_size_.To_long_by_msg_mb(m, html_db_max); else if (ctx.Match(k, Invk_file_db_max)) return Io_size_.To_str_mb(file_db_max); - else if (ctx.Match(k, Invk_file_db_max_)) file_db_max = Io_size_.To_long_by_msg_mb(m); - else if (ctx.Match(k, Invk_ns_file_map)) return String_.new_utf8_(ns_file_map); + else if (ctx.Match(k, Invk_file_db_max_)) file_db_max = Io_size_.To_long_by_msg_mb(m, file_db_max); + else if (ctx.Match(k, Invk_ns_file_map)) return String_.new_u8(ns_file_map); else if (ctx.Match(k, Invk_ns_file_map_)) ns_file_map = m.ReadBry("v"); else if (ctx.Match(k, Invk_zip_tid_text)) return Io_stream_.To_str(zip_tid_text); else if (ctx.Match(k, Invk_zip_tid_text_)) zip_tid_text = Io_stream_.To_tid(m.ReadStr("v")); @@ -87,5 +87,5 @@ public class Xoapi_import implements GfoInvkAble { , Invk_zip_tid_html = "zip_tid_html" , Invk_zip_tid_html_ = "zip_tid_html_" , Invk_user_name = "user_name" , Invk_user_name_ = "user_name_" ; - public static final byte[] Ns_file_map__each = Bry_.new_ascii_(""); + public static final byte[] Ns_file_map__each = Bry_.new_a7(""); } diff --git a/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_find.java b/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_find.java index 8f6b1d1ed..1b497ba1e 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_find.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_find.java @@ -47,7 +47,11 @@ class Xog_find_box { this.find_box = win.Find_box(); } public void Show() {app.Gui_mgr().Layout().Find_show();} - public void Hide() {app.Gui_mgr().Layout().Find_close();} + public void Hide() { + app.Gui_mgr().Layout().Find_close(); + if (win.Tab_mgr().Active_tab_is_null()) return; // if no active_tab, just exit + win.Active_html_itm().Html_box().Html_js_eval_script("return xowa_find_html_all_del();"); + } public void Show_by_paste() { this.Show(); if (win.Tab_mgr().Active_tab_is_null()) return; // if no active_tab, just show box; don't try to copy what's on tab; diff --git a/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_tabs.java b/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_tabs.java index a2f9e8877..c8877fe30 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_tabs.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/gui/browsers/Xoapi_tabs.java @@ -36,7 +36,7 @@ public class Xoapi_tabs implements GfoInvkAble { public void Close_cur() {tab_mgr.Tabs_close_cur();} public void Select_bwd() {tab_mgr.Tabs_select(Bool_.N);} public void Select_fwd() {tab_mgr.Tabs_select(Bool_.Y);} - public void Select_by_idx(int v) {tab_mgr.Tabs_select_by_idx(v - ListAdp_.Base1);} + public void Select_by_idx(int v) {tab_mgr.Tabs_select_by_idx(v - List_adp_.Base1);} public void Move_bwd() {tab_mgr.Tabs_move(Bool_.N);} public void Move_fwd() {tab_mgr.Tabs_move(Bool_.Y);} public void Close_others() {tab_mgr.Tabs_close_others();} diff --git a/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_selection.java b/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_selection.java index 9192997f1..51c95f36f 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_selection.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_selection.java @@ -37,7 +37,7 @@ public class Xoapi_selection implements GfoInvkAble { String trg = app.Gui_mgr().Kit().New_dlg_file(Gfui_kit_.File_dlg_type_save, "Select file to save to:").Init_file_(trg_name).Ask(); if (String_.Len_eq_0(trg)) return; Io_url trg_url = Io_url_.new_fil_(trg); - Io_mgr._.CopyFil(src_url, trg_url, true); + Io_mgr.I.CopyFil(src_url, trg_url, true); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_copy)) this.Copy(); diff --git a/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_view.java b/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_view.java index cb2e9ea90..50e3f2b97 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_view.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/gui/pages/Xoapi_view.java @@ -36,10 +36,10 @@ public class Xoapi_view implements GfoInvkAble { public void Save_as() { if (this.Active_tab_is_null()) return; Xog_tab_itm tab = win.Tab_mgr().Active_tab(); - String file_name = Xoa_app_.Utl__encoder_mgr().Fsys_safe().Encode_str(String_.new_utf8_(tab.Page().Ttl().Full_url())) + ".html"; + String file_name = Xoa_app_.Utl__encoder_mgr().Fsys_safe().Encode_str(String_.new_u8(tab.Page().Ttl().Full_url())) + ".html"; String file_url = app.Gui_mgr().Kit().New_dlg_file(Gfui_kit_.File_dlg_type_save, "Select file to save to:").Init_file_(file_name).Ask(); if (String_.Len_eq_0(file_url)) return; - Io_mgr._.SaveFilStr(file_url, tab.Html_box().Text()); + Io_mgr.I.SaveFilStr(file_url, tab.Html_box().Text()); app.Usr_dlg().Prog_many("", "", "saved page: file=~{0}", file_url); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_skins.java b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_skins.java index b5565538c..8fef7221f 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_skins.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_skins.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.apis.xowa.html; import gplx.*; import gplx.xowa.*; import gplx.xowa.apis.*; import gplx.xowa.apis.xowa.*; import gplx.xowa.apis.xowa.html.skins.*; public class Xoapi_skins implements GfoInvkAble { - private HashAdp hash = HashAdp_.new_(); + private Hash_adp hash = Hash_adp_.new_(); public Xoapi_skins() { server.Sidebar_home_enabled_(true); hash.Add("desktop", desktop); @@ -26,7 +26,7 @@ public class Xoapi_skins implements GfoInvkAble { } public Xoapi_skin_app_base Desktop() {return desktop;} private Xoapi_skin_app_base desktop = new Xoapi_skin_app_base(); public Xoapi_skin_app_base Server () {return server ;} private Xoapi_skin_app_base server = new Xoapi_skin_app_base(); - private GfoInvkAble Get(String key) {return (GfoInvkAble)hash.Fetch(key);} + private GfoInvkAble Get(String key) {return (GfoInvkAble)hash.Get_by(key);} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_get)) return Get(m.ReadStr("v")); return this; diff --git a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_itm.java b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_itm.java index 5eb84c96b..a2bbf0637 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_itm.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_itm.java @@ -27,7 +27,7 @@ public class Xoapi_toggle_itm implements GfoInvkAble { public boolean Visible() {return visible;} private boolean visible; public Xoapi_toggle_itm Init(Xowe_wiki wiki, byte[] heading_bry) { if (Img_src_y == null) { - Io_url img_dir = wiki.Appe().User().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "portal"); + Io_url img_dir = wiki.Appe().Usere().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "portal"); Img_src_y = img_dir.GenSubFil("twisty_down.png").To_http_file_bry(); Img_src_n = img_dir.GenSubFil("twisty_right.png").To_http_file_bry(); } @@ -84,7 +84,7 @@ public class Xoapi_toggle_itm implements GfoInvkAble { private static final String Invk_visible = "visible", Invk_visible_ = "visible_"; private static byte[] Img_src_y, Img_src_n; // assume these are the same for all itms private static final byte[] - Img_title_msg_y = Bry_.new_ascii_("hide"), Img_title_msg_n = Bry_.new_ascii_("show") - , Img_display_y = Bry_.new_ascii_("display:;"), Img_display_n = Bry_.new_ascii_("display:none;") + Img_title_msg_y = Bry_.new_a7("hide"), Img_title_msg_n = Bry_.new_a7("show") + , Img_display_y = Bry_.new_a7("display:;"), Img_display_n = Bry_.new_a7("display:none;") ; } diff --git a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_mgr.java b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_mgr.java index 7b15b7d65..20aa55580 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_mgr.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/html/Xoapi_toggle_mgr.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx.xowa.apis.xowa.html; import gplx.*; import gplx.xowa.*; import gplx.xowa.apis.*; import gplx.xowa.apis.xowa.*; import gplx.xowa.cfgs.*; public class Xoapi_toggle_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public Xoapi_toggle_itm Get_or_new(String key_str) { - byte[] key_bry = Bry_.new_utf8_(key_str); - Xoapi_toggle_itm rv = (Xoapi_toggle_itm)hash.Fetch(key_bry); + byte[] key_bry = Bry_.new_u8(key_str); + Xoapi_toggle_itm rv = (Xoapi_toggle_itm)hash.Get_by(key_bry); if (rv == null) { rv = new Xoapi_toggle_itm(key_bry); hash.Add(key_bry, rv); @@ -31,15 +31,15 @@ public class Xoapi_toggle_mgr implements GfoInvkAble { public void Img_dir_(Io_url v) { int len = hash.Count(); for (int i = 0; i < len; ++i) { - Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.FetchAt(i); + Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.Get_at(i); itm.Init_fsys(v); } } public void Save(Xoa_cfg_mgr cfg_mgr) { int len = hash.Count(); for (int i = 0; i < len; ++i) { - Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.FetchAt(i); - cfg_mgr.Set_by_app("xowa.api.html.page.toggles.get('" + String_.new_utf8_(itm.Key_bry()) + "').visible", Yn.Xto_str(itm.Visible())); + Xoapi_toggle_itm itm = (Xoapi_toggle_itm)hash.Get_at(i); + cfg_mgr.Set_by_app("xowa.api.html.page.toggles.get('" + String_.new_u8(itm.Key_bry()) + "').visible", Yn.Xto_str(itm.Visible())); } } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { 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 8ff10c54d..ad4e8b465 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 @@ -82,7 +82,7 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { else if (ctx.Match(k, Invk_win_show_all_max_w_)) {win_show_all_max_w = m.ReadInt("v");} else if (ctx.Match(k, Invk_win_bind_focus_blur)) return Yn.Xto_str(win_bind_focus_blur); else if (ctx.Match(k, Invk_win_bind_focus_blur_)) win_bind_focus_blur = m.ReadYn("v"); - else if (ctx.Match(k, Invk_xnde_ignore_ids)) return String_.new_utf8_(xnde_ignore_ids); + else if (ctx.Match(k, Invk_xnde_ignore_ids)) return String_.new_u8(xnde_ignore_ids); else if (ctx.Match(k, Invk_xnde_ignore_ids_)) {xnde_ignore_ids = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_xnde_ignore_ids_changed, xnde_ignore_ids);} else if (ctx.Match(k, Invk_scan_len)) return scan_len; else if (ctx.Match(k, Invk_scan_len_)) {scan_len = Set_int_gt_0(m, scan_len, Evt_scan_len_changed);} @@ -94,27 +94,27 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { else if (ctx.Match(k, Invk_read_til_stop_bwd_)) {read_til_stop_bwd = m.ReadInt("v"); GfoEvMgr_.PubVal(this, Evt_read_til_stop_bwd_changed, read_til_stop_bwd);} else if (ctx.Match(k, Invk_stop_if_hdr_after)) return stop_if_hdr_after; else if (ctx.Match(k, Invk_stop_if_hdr_after_)) {stop_if_hdr_after = m.ReadInt("v"); GfoEvMgr_.PubVal(this, Evt_stop_if_hdr_after_changed, stop_if_hdr_after);} - else if (ctx.Match(k, Invk_ns_allowed)) return String_.new_utf8_(ns_allowed); + else if (ctx.Match(k, Invk_ns_allowed)) return String_.new_u8(ns_allowed); else if (ctx.Match(k, Invk_ns_allowed_)) {ns_allowed = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_ns_allowed_changed, ns_allowed);} else if (ctx.Match(k, Invk_tmpl_tkn_max)) return tmpl_tkn_max; else if (ctx.Match(k, Invk_tmpl_tkn_max_)) {tmpl_tkn_max = m.ReadInt("v"); GfoEvMgr_.PubVal(this, Evt_tmpl_tkn_max_changed, tmpl_tkn_max);} - else if (ctx.Match(k, Invk_tmpl_keeplist)) return String_.new_utf8_(tmpl_keeplist); + else if (ctx.Match(k, Invk_tmpl_keeplist)) return String_.new_u8(tmpl_keeplist); else if (ctx.Match(k, Invk_tmpl_keeplist_)) {tmpl_keeplist = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_tmpl_keeplist_changed, tmpl_keeplist);} - else if (ctx.Match(k, Invk_html_fmtr_popup)) return String_.new_utf8_(html_fmtr_popup); + else if (ctx.Match(k, Invk_html_fmtr_popup)) return String_.new_u8(html_fmtr_popup); else if (ctx.Match(k, Invk_html_fmtr_popup_)) {html_fmtr_popup = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_html_fmtr_popup_changed, html_fmtr_popup);} - else if (ctx.Match(k, Invk_html_fmtr_popup_dflt)) return String_.new_utf8_(html_fmtr_popup_dflt); + else if (ctx.Match(k, Invk_html_fmtr_popup_dflt)) return String_.new_u8(html_fmtr_popup_dflt); else if (ctx.Match(k, Invk_html_fmtr_popup_dflt_)) {html_fmtr_popup_dflt = m.ReadBry("v");} - else if (ctx.Match(k, Invk_html_fmtr_viewed)) return String_.new_utf8_(html_fmtr_viewed); + else if (ctx.Match(k, Invk_html_fmtr_viewed)) return String_.new_u8(html_fmtr_viewed); else if (ctx.Match(k, Invk_html_fmtr_viewed_)) {html_fmtr_viewed = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_html_fmtr_viewed_changed, html_fmtr_viewed);} - else if (ctx.Match(k, Invk_html_fmtr_viewed_dflt)) return String_.new_utf8_(html_fmtr_viewed_dflt); + else if (ctx.Match(k, Invk_html_fmtr_viewed_dflt)) return String_.new_u8(html_fmtr_viewed_dflt); else if (ctx.Match(k, Invk_html_fmtr_viewed_dflt_)) {html_fmtr_viewed_dflt = m.ReadBry("v");} - else if (ctx.Match(k, Invk_html_fmtr_wiki)) return String_.new_utf8_(html_fmtr_wiki); + else if (ctx.Match(k, Invk_html_fmtr_wiki)) return String_.new_u8(html_fmtr_wiki); else if (ctx.Match(k, Invk_html_fmtr_wiki_)) {html_fmtr_wiki = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_html_fmtr_wiki_changed, html_fmtr_wiki);} - else if (ctx.Match(k, Invk_html_fmtr_wiki_dflt)) return String_.new_utf8_(html_fmtr_wiki_dflt); + else if (ctx.Match(k, Invk_html_fmtr_wiki_dflt)) return String_.new_u8(html_fmtr_wiki_dflt); else if (ctx.Match(k, Invk_html_fmtr_wiki_dflt_)) {html_fmtr_wiki_dflt = m.ReadBry("v");} - else if (ctx.Match(k, Invk_html_fmtr_next_sect)) return String_.new_utf8_(html_fmtr_next_sect); + else if (ctx.Match(k, Invk_html_fmtr_next_sect)) return String_.new_u8(html_fmtr_next_sect); else if (ctx.Match(k, Invk_html_fmtr_next_sect_)) {html_fmtr_next_sect = m.ReadBry("v"); GfoEvMgr_.PubVal(this, Evt_html_fmtr_next_sect_changed, html_fmtr_next_sect);} - else if (ctx.Match(k, Invk_html_fmtr_next_sect_dflt)) return String_.new_utf8_(html_fmtr_next_sect_dflt); + else if (ctx.Match(k, Invk_html_fmtr_next_sect_dflt)) return String_.new_u8(html_fmtr_next_sect_dflt); else if (ctx.Match(k, Invk_html_fmtr_next_sect_dflt_)) {html_fmtr_next_sect_dflt = m.ReadBry("v");} else return GfoInvkAble_.Rv_unhandled; return this; @@ -183,9 +183,9 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { , Evt_html_fmtr_next_sect_changed = "html_fmtr_next_sect_changed" ; public static final byte[] - Dflt_xnde_ignore_ids = Bry_.new_ascii_("coordinates") - , Dflt_tmpl_keeplist = Bry_.new_ascii_("en.wikipedia.org|formatnum;age;age_in_days;age_in_years_and_days*;nts;number_table_sorting*;as_of;oldstyledatedy;gregorian_serial_date;currentminute;currentsecond;dmca;spaced_ndash;trim;month*;convert*;worldpop*;ipa*;lang*;nowrap*;h:*;mvar;math;vgy;audio;iso_639_name;transl;translate;linktext;zh;nihongo*;japanese_name;ko-hhrm;mp|\n") - , Dflt_html_fmtr_popup = Bry_.new_ascii_(String_.Concat_lines_nl_skip_last + Dflt_xnde_ignore_ids = Bry_.new_a7("coordinates") + , Dflt_tmpl_keeplist = Bry_.new_a7("en.wikipedia.org|formatnum;age;age_in_days;age_in_years_and_days*;nts;number_table_sorting*;as_of;oldstyledatedy;gregorian_serial_date;currentminute;currentsecond;dmca;spaced_ndash;trim;month*;convert*;worldpop*;ipa*;lang*;nowrap*;h:*;mvar;math;vgy;audio;iso_639_name;transl;translate;linktext;zh;nihongo*;japanese_name;ko-hhrm;mp|\n") + , Dflt_html_fmtr_popup = Bry_.new_a7(String_.Concat_lines_nl_skip_last ( "
" , "
~{content}" , "
" @@ -208,9 +208,9 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { , "
" , "" )) - , Dflt_html_fmtr_viewed = Bry_.new_ascii_("\n ~{<>msgs.get('api-xowa.html.modules.popups.msgs.view_time-name');<>}~{viewed_val}") - , Dflt_html_fmtr_wiki = Bry_.new_ascii_("\n ~{<>msgs.get('api-xowa.html.modules.popups.msgs.wiki-name');<>}~{wiki_val}") - , Dflt_html_fmtr_next_sect = Bry_.new_ascii_("\n\n~{<>msgs.get('api-xowa.html.modules.popups.msgs.next_sect-name');<>}~{next_sect_val}") + , Dflt_html_fmtr_viewed = Bry_.new_a7("\n ~{<>msgs.get('api-xowa.html.modules.popups.msgs.view_time-name');<>}~{viewed_val}") + , Dflt_html_fmtr_wiki = Bry_.new_a7("\n ~{<>msgs.get('api-xowa.html.modules.popups.msgs.wiki-name');<>}~{wiki_val}") + , Dflt_html_fmtr_next_sect = Bry_.new_a7("\n\n~{<>msgs.get('api-xowa.html.modules.popups.msgs.next_sect-name');<>}~{next_sect_val}") ; public static final String[] Dflt_html_fmtr_popup_keys = String_.Ary("content", "page_lang_ltr", "page_url", "page_title", "popup_id", "wiki_item", "page_size", "edit_time", "view_time_item", "xowa_root_dir") diff --git a/400_xowa/src/gplx/xowa/apis/xowa/specials/Xoapi_search.java b/400_xowa/src/gplx/xowa/apis/xowa/specials/Xoapi_search.java index 422764180..21beda081 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/specials/Xoapi_search.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/specials/Xoapi_search.java @@ -49,9 +49,9 @@ public class Xoapi_search implements GfoInvkAble, GfoEvMgrOwner { else if (ctx.Match(k, Invk_results_per_page_)) results_per_page = m.ReadInt("v"); else if (ctx.Match(k, Invk_async_db)) return Yn.Xto_str(async_db); else if (ctx.Match(k, Invk_async_db_)) async_db = m.ReadYn("v"); - else if (ctx.Match(k, Invk_multi_wikis)) return String_.new_utf8_(multi_wikis_bry); + else if (ctx.Match(k, Invk_multi_wikis)) return String_.new_u8(multi_wikis_bry); else if (ctx.Match(k, Invk_multi_wikis_)) Multi_wikis_bry_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_multi_sorts)) return String_.new_utf8_(multi_sorts_bry); + else if (ctx.Match(k, Invk_multi_sorts)) return String_.new_u8(multi_sorts_bry); else if (ctx.Match(k, Invk_multi_sorts_)) Multi_sorts_bry_(m.ReadBry("v")); else return GfoInvkAble_.Rv_unhandled; return this; @@ -67,7 +67,7 @@ public class Xoapi_search implements GfoInvkAble, GfoEvMgrOwner { , Evt_multi_sorts_changed = "multi_sorts_changed" ; public static final byte[] - Dflt_multi_wikis_bry = Bry_.new_ascii_("|") - , Dflt_multi_sorts_bry = Bry_.new_ascii_("|,*.wikipedia,*.wikivoyage,*.wiktionary,*.wikisource,*.wikiquote,*.wikibooks,*.wikiversity,*.wikinews") + Dflt_multi_wikis_bry = Bry_.new_a7("|") + , Dflt_multi_sorts_bry = Bry_.new_a7("|,*.wikipedia,*.wikivoyage,*.wiktionary,*.wikisource,*.wikiquote,*.wikibooks,*.wikiversity,*.wikinews") ; } diff --git a/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs.java b/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs.java index 076443bb5..888d280c0 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs.java @@ -43,7 +43,7 @@ public class Xoapi_startup_tabs implements GfoInvkAble { , Invk_custom_is_expr = "custom_is_expr", Invk_custom_is_expr_ = "custom_is_expr_" ; public String[] Calc_startup_strs(Xoae_app app) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); String xowa_home = gplx.xowa.users.Xouc_pages_mgr.Page_xowa; if (manual == null) { switch (type) { @@ -57,9 +57,9 @@ public class Xoapi_startup_tabs implements GfoInvkAble { else rv.Add(manual); Add_xowa_home_if_new_version(rv, app, xowa_home); - return rv.XtoStrAry(); + return rv.To_str_ary(); } - private static void Add_ary(ListAdp list, String s) { + private static void Add_ary(List_adp list, String s) { if (String_.Len_eq_0(s)) return; String[] ary = String_.SplitLines_nl(String_.Trim(s)); int len = ary.length; @@ -69,12 +69,12 @@ public class Xoapi_startup_tabs implements GfoInvkAble { list.Add(itm); } } - private static void Add_xowa_home_if_new_version(ListAdp rv, Xoae_app app, String xowa_home) { + private static void Add_xowa_home_if_new_version(List_adp rv, Xoae_app app, String xowa_home) { if (gplx.xowa.apps.versions.Xoa_version_.Compare(app.Api_root().App().Env().Version_previous(), Xoa_app_.Version) == CompareAble_.Less) { boolean xowa_home_exists = false; int len = rv.Count(); for (int i = 0; i < len; ++i) { - String itm = (String)rv.FetchAt(i); + String itm = (String)rv.Get_at(i); if (String_.Eq(itm, xowa_home)) { xowa_home_exists = true; break; diff --git a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_bookmarks.java b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_bookmarks.java index 985e7af96..67ba28832 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_bookmarks.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_bookmarks.java @@ -37,8 +37,8 @@ public class Xoapi_bookmarks implements GfoInvkAble { wiki_domain = url.Wiki_bry(); ttl_full_txt = url.Page_bry(); } - app.User().Bookmarks_add(wiki_domain, ttl_full_txt); - app.Usr_dlg().Prog_many("", "", "bookmark added: ~{0}", String_.new_utf8_(ttl_full_txt)); + app.Usere().Bookmarks_add(wiki_domain, ttl_full_txt); + app.Usr_dlg().Prog_many("", "", "bookmark added: ~{0}", String_.new_u8(ttl_full_txt)); } public void Show() {win.Page__navigate_by_url_bar("home/wiki/Data:Bookmarks");} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_cache.java b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_cache.java new file mode 100644 index 000000000..20c58976f --- /dev/null +++ b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_cache.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.apis.xowa.usrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.apis.*; import gplx.xowa.apis.xowa.*; +import gplx.ios.*; import gplx.xowa.files.caches.*; +public class Xoapi_cache implements GfoInvkAble { + private Xou_cache_mgr cache_mgr; + public void Init_by_app(Xoa_app app) {this.cache_mgr = app.User().File__cache_mgr();} + private String Info() { + cache_mgr.Page_bgn(); + Bry_bfr bfr = Bry_bfr.new_(255); + KeyVal[] ary = cache_mgr.Info(); + int len = ary.length; + for (int i = 0; i < len; ++i) { + KeyVal kv = ary[i]; + bfr.Add_str_a7(kv.Key()).Add_str_a7(": ").Add_str_u8(kv.Val_to_str_or_empty()).Add_byte_nl(); + } + return bfr.Xto_str_and_clear(); + } + public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { + if (ctx.Match(k, Invk_fsys_size_min)) return cache_mgr.Fsys_size_min() / Io_mgr.Len_mb; + else if (ctx.Match(k, Invk_fsys_size_min_)) cache_mgr.Fsys_size_min_(Io_size_.To_long_by_msg_mb(m, cache_mgr.Fsys_size_min())); + else if (ctx.Match(k, Invk_fsys_size_max)) return cache_mgr.Fsys_size_max() / Io_mgr.Len_mb; + else if (ctx.Match(k, Invk_fsys_size_max_)) cache_mgr.Fsys_size_max_(Io_size_.To_long_by_msg_mb(m, cache_mgr.Fsys_size_max())); + else if (ctx.Match(k, Invk_info)) return Info(); + else if (ctx.Match(k, Invk_reduce_to_min)) cache_mgr.Reduce(cache_mgr.Fsys_size_min()); + else if (ctx.Match(k, Invk_reduce_to_zero)) cache_mgr.Reduce(0); + else return GfoInvkAble_.Rv_unhandled; + return this; + } + private static final String + Invk_fsys_size_min = "fsys_size_min" , Invk_fsys_size_min_ = "fsys_size_min_" + , Invk_fsys_size_max = "fsys_size_max" , Invk_fsys_size_max_ = "fsys_size_max_" + , Invk_info = "info" + , Invk_reduce_to_min = "reduce_to_min" , Invk_reduce_to_zero = "reduce_to_zero" + ; +} 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 0d6b9d6db..79ad511cd 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(Xoae_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());} + public void Goto_recent() {win.Page__navigate_by_url_bar(app.Usere().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/apis/xowa/usrs/Xoapi_logs.java b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_logs.java index 2f959d0e6..3ca96df9b 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_logs.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/usrs/Xoapi_logs.java @@ -25,7 +25,7 @@ public class Xoapi_logs implements GfoInvkAble { public void Enabled_(boolean v) { app.Log_wtr().Enabled_(v); if (!v) - Io_mgr._.DeleteFil_args(app.Log_wtr().Session_fil()).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(app.Log_wtr().Session_fil()).MissingFails_off().Exec(); } 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/apis/xowa/xtns/Xoapi_wikibase.java b/400_xowa/src/gplx/xowa/apis/xowa/xtns/Xoapi_wikibase.java index 784bd5e5e..1bf9e25fd 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/xtns/Xoapi_wikibase.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/xtns/Xoapi_wikibase.java @@ -24,13 +24,13 @@ public class Xoapi_wikibase implements GfoInvkAble, GfoEvMgrOwner { public GfoEvMgr EvMgr() {return evMgr;} private GfoEvMgr evMgr; public byte[][] Core_langs() {return core_langs;} private byte[][] core_langs = Bry_.Ary("en"); public byte[][] Sort_langs() {return sort_langs;} private byte[][] sort_langs = Bry_.Ary("en", "de", "es", "fr", "it", "nl", "pl", "ru", "sv"); - public byte[] Link_wikis() {return link_wikis;} private byte[] link_wikis = Bry_.new_ascii_("enwiki"); + public byte[] Link_wikis() {return link_wikis;} private byte[] link_wikis = Bry_.new_a7("enwiki"); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_core_langs)) return Bry_.Add_w_dlm(Byte_ascii.Semic, core_langs); else if (ctx.Match(k, Invk_core_langs_)) {core_langs = m.ReadBryAry(k, Byte_ascii.Semic); GfoEvMgr_.PubVal(this, Evt_core_langs_changed, core_langs);} else if (ctx.Match(k, Invk_sort_langs)) return Bry_.Add_w_dlm(Byte_ascii.Semic, sort_langs); else if (ctx.Match(k, Invk_sort_langs_)) {sort_langs = m.ReadBryAry(k, Byte_ascii.Semic); GfoEvMgr_.PubVal(this, Evt_sort_langs_changed, sort_langs);} - else if (ctx.Match(k, Invk_link_wikis)) return String_.new_utf8_(link_wikis); + else if (ctx.Match(k, Invk_link_wikis)) return String_.new_u8(link_wikis); else if (ctx.Match(k, Invk_link_wikis_)) {link_wikis = m.ReadBry(k); GfoEvMgr_.PubVal(this, Evt_link_wikis_changed, link_wikis);} else return GfoInvkAble_.Rv_unhandled; return this; 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 fdcc2097b..bb2ee6ca2 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java @@ -40,7 +40,7 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { try {Run_url(url);} catch (Exception e) { // gfs is corrupt; may happen if multiple XOWAs opened, and "Close all" chosen in OS; DATE:2014-07-01 if (!String_.Eq(type, "xowa")) // check if user.gfs - Io_mgr._.MoveFil(url, url.GenNewNameOnly(url.NameOnly() + "-" + DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss())); // move file + Io_mgr.I.MoveFil(url, url.GenNewNameOnly(url.NameOnly() + "-" + DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss())); // move file Gfo_usr_dlg_.I.Warn_many("", "", "invalid gfs; obsoleting: src=~{0} err=~{1}", url.Raw(), Err_.Message_gplx(e)); } } @@ -51,7 +51,7 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { Gfo_usr_dlg_.I.Log_wkr().Log_to_session_fmt("gfs.done: ~{0}", url.Raw()); } public void Run_url_for(GfoInvkAble invk, Io_url url) { - String raw = Io_mgr._.LoadFilStr_args(url).MissingIgnored_().Exec(); if (String_.Len_eq_0(raw)) return; + String raw = Io_mgr.I.LoadFilStr_args(url).MissingIgnored_().Exec(); if (String_.Len_eq_0(raw)) return; Run_str_for(invk, raw); } public Object Run_str(String raw) {return Run_str_for(GfsCore._.Root(), raw);} @@ -99,10 +99,10 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { public static void Msg_parser_init() { GfsCore._.MsgParser_(gplx.gfs.Gfs_msg_bldr._); } - public static byte[] Cfg_save_escape(String v) {return Cfg_save_escape(Bry_.new_utf8_(v));} + public static byte[] Cfg_save_escape(String v) {return Cfg_save_escape(Bry_.new_u8(v));} public static byte[] Cfg_save_escape(byte[] v) { return Bry_finder.Find_fwd(v, Byte_ascii.Apos) == Bry_.NotFound ? v : Bry_.Replace(v, Bry_apos_1, Bry_apos_2); - } static final byte[] Bry_apos_1 = Bry_.new_ascii_("'"), Bry_apos_2 = Bry_.new_ascii_("''"); + } static final byte[] Bry_apos_1 = Bry_.new_a7("'"), Bry_apos_2 = Bry_.new_a7("''"); public static String Build_code(String... ary) { int len = ary.length; for (int i = 0; i < len; i++) { @@ -117,9 +117,9 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { class Xoa_gfs_mgr_ { public static void Cfg_os_assert(Io_url orig_url) { Io_url dflt_url = orig_url.GenNewNameOnly(orig_url.NameOnly() + "_default"); - if (!Io_mgr._.ExistsFil(dflt_url)) return; // no dflt - if (!Io_mgr._.ExistsFil(orig_url)) { - Io_mgr._.CopyFil(dflt_url, orig_url, true); + if (!Io_mgr.I.ExistsFil(dflt_url)) return; // no dflt + if (!Io_mgr.I.ExistsFil(orig_url)) { + Io_mgr.I.CopyFil(dflt_url, orig_url, true); Gfo_usr_dlg_.I.Log_many("", "", "xowa_cfg_os generated; url=~{0}", orig_url.Raw()); } } 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 3c2160521..a5e640ef2 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 @@ -58,7 +58,7 @@ public class Xoa_gfs_php_mgr { 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)); + if (pos >= len) throw Err_.new_("invalid gfs: tilde is last char; src={0}", String_.new_u8(src)); byte b = src[pos]; switch (b) { case Byte_ascii.Tilde: { // ~~ -> ~ @@ -72,7 +72,7 @@ public class Xoa_gfs_php_mgr { || num_end == len || src[num_end] != Byte_ascii.Curly_end ) - throw Err_.new_("invalid gfs; num_end not found={0}", String_.new_utf8_(src)); + throw Err_.new_("invalid gfs; num_end not found={0}", String_.new_u8(src)); bfr.Add_byte(Byte_ascii.Dollar); int arg_idx = Bry_.Xto_int_or(src, num_bgn, num_end, -1); if (arg_idx == -1) { @@ -82,7 +82,7 @@ public class Xoa_gfs_php_mgr { return num_end + 1; } default: { - throw Err_.new_("invalid gfs; next char after tilde must be either tilde or open brace; src={0}", String_.new_utf8_(src)); + throw Err_.new_("invalid gfs; next char after tilde must be either tilde or open brace; src={0}", String_.new_u8(src)); } } } diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr_tst.java b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr_tst.java index c46e00fac..4dde14294 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_php_mgr_tst.java @@ -38,13 +38,13 @@ class Xoa_gfs_php_mgr_fxt { private Bry_bfr bfr = Bry_bfr.new_(); public void Clear() {} public void Test_Xto_gfs(String raw, String expd) { - byte[] actl = Xoa_gfs_php_mgr.Xto_gfs(bfr, Bry_.new_utf8_(raw)); - Tfds.Eq(expd, String_.new_utf8_(actl)); + byte[] actl = Xoa_gfs_php_mgr.Xto_gfs(bfr, Bry_.new_u8(raw)); + Tfds.Eq(expd, String_.new_u8(actl)); } public void Test_Xto_php_escape_y(String raw, String expd) {Test_Xto_php(raw, Bool_.Y, expd);} public void Test_Xto_php_escape_n(String raw, String expd) {Test_Xto_php(raw, Bool_.N, expd);} public void Test_Xto_php(String raw, boolean escape_backslash, String expd) { - byte[] actl = Xoa_gfs_php_mgr.Xto_php(bfr, escape_backslash, Bry_.new_utf8_(raw)); - Tfds.Eq(expd, String_.new_utf8_(actl)); + byte[] actl = Xoa_gfs_php_mgr.Xto_php(bfr, escape_backslash, Bry_.new_u8(raw)); + Tfds.Eq(expd, String_.new_u8(actl)); } } diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_shell.java b/400_xowa/src/gplx/xowa/apps/Xoa_shell.java index e17cd1537..cd9d9a072 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_shell.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_shell.java @@ -27,7 +27,7 @@ public class Xoa_shell implements GfoInvkAble { return this; } private String Fetch_page(GfoMsg m) { - return String_.new_utf8_(app.Gui_mgr().Browser_win().App__retrieve_by_url(m.ReadStr("url"), m.ReadStrOr("output_type", "html"))); + return String_.new_u8(app.Gui_mgr().Browser_win().App__retrieve_by_url(m.ReadStr("url"), m.ReadStrOr("output_type", "html"))); } private static final String Invk_fetch_page = "fetch_page" , Invk_chars_per_line_max_ = "chars_per_line_max_" diff --git a/400_xowa/src/gplx/xowa/apps/progs/Xoa_prog_mgr.java b/400_xowa/src/gplx/xowa/apps/progs/Xoa_prog_mgr.java index 3061ee3cb..132bdf7a3 100644 --- a/400_xowa/src/gplx/xowa/apps/progs/Xoa_prog_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/progs/Xoa_prog_mgr.java @@ -92,11 +92,11 @@ public class Xoa_prog_mgr implements GfoInvkAble { } public void Exec_view_web(byte[] url) { url = Bry_.Replace(url, Quote_normal, Quote_escape); // escape quotes; DATE:2013-03-31 - String url_str = String_.new_utf8_(url); + String url_str = String_.new_u8(url); url_str = ProcessAdp.Escape_ampersands_if_process_is_cmd(Op_sys.Cur().Tid_is_wnt(), app_view_web.Exe_url().Raw(), url_str); // escape ampersands; DATE:2014-05-20 app_view_web.Run(url_str); } private static final byte[] Quote_normal = new byte[] {Byte_ascii.Quote}, Quote_escape = new byte[] {Byte_ascii.Quote, Byte_ascii.Quote}; - private ProcessAdp App_by_ext_key(String ext) {return cmds_view_file_by_ext[Xof_ext_.Get_id_by_ext_(Bry_.new_ascii_(ext))];} + private ProcessAdp App_by_ext_key(String ext) {return cmds_view_file_by_ext[Xof_ext_.Get_id_by_ext_(Bry_.new_a7(ext))];} public void Exec_view_by_ext(String exts_raw, String cmd, String args) { String[] exts_ary = String_.Split(exts_raw, '|'); int exts_ary_len = exts_ary.length; @@ -107,7 +107,7 @@ public class Xoa_prog_mgr implements GfoInvkAble { ProcessAdp rv = App_by_ext_key(exts[0]); int len = exts.length; for (int i = 0; i < len; i++) { - cmds_view_file_by_ext[Xof_ext_.Get_id_by_ext_(Bry_.new_ascii_(exts[i]))] = rv; + cmds_view_file_by_ext[Xof_ext_.Get_id_by_ext_(Bry_.new_a7(exts[i]))] = rv; } return rv; } 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 846aa4276..5710ee256 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 @@ -30,8 +30,8 @@ public class Xoa_setup_mgr { @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; usr_dlg.Log_many("", "", "setup:checking if dir exists: version_prv=~{0} version_del=~{1} dir=~{2}", version_prv, version_del, dir.Raw()); - if (!Io_mgr._.ExistsDir(dir)) return; + if (!Io_mgr.I.ExistsDir(dir)) return; usr_dlg.Log_many("", "", "setup:deleting dir", version_prv, version_del, dir.Raw()); - Io_mgr._.DeleteDirDeep(dir); + Io_mgr.I.DeleteDirDeep(dir); } } diff --git a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr_tst.java b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr_tst.java index 3b42692bf..aa5c8c10d 100644 --- a/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/apps/setups/Xoa_setup_mgr_tst.java @@ -29,8 +29,8 @@ class Xoa_setup_mgr_fxt { public void Clear() {} public void Test_delete_old_dir(String dir_str, String version_prv, String version_del, boolean expd) { Io_url dir = Io_url_.new_fil_(dir_str); - Io_mgr._.CreateDirIfAbsent(dir); + Io_mgr.I.CreateDirIfAbsent(dir); Xoa_setup_mgr.Delete_old_dir(Gfo_usr_dlg_.Noop, version_prv, version_del, dir); - Tfds.Eq(expd, !Io_mgr._.ExistsDir(dir), version_prv + "|" + version_del); + Tfds.Eq(expd, !Io_mgr.I.ExistsDir(dir), version_prv + "|" + version_del); } } 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 278a0cef8..88784857e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java @@ -30,7 +30,7 @@ public class Db_mgr_fxt { public Xowd_page_itm doc_wo_date_(int id, String title, String text) {return bldr_fxt.doc_(id, "2012-01-02 03:04", title, text);} public Xowd_page_itm doc_ttl_(int id, String title) {return bldr_fxt.doc_(id, "2012-01-02 03:04", title, "IGNORE");} public Db_mgr_fxt Init_fil(String url, String raw) {return Init_fil(Io_url_.new_fil_(url), raw);} - public Db_mgr_fxt Init_fil(Io_url url, String raw) {Io_mgr._.SaveFilStr(url, raw); return this;} + public Db_mgr_fxt Init_fil(Io_url url, String raw) {Io_mgr.I.SaveFilStr(url, raw); return this;} public Db_mgr_fxt Exec_run(Xobd_wkr wkr) {bldr_fxt.Run(wkr); return this;} public Db_mgr_fxt Exec_run(Xob_cmd cmd) {bldr_fxt.Run_cmds(cmd); return this;} public Db_mgr_fxt Exec_run(Xobd_parser_wkr wkr) {bldr_fxt.Run(wkr); return this;} @@ -43,7 +43,7 @@ public class Db_mgr_fxt { for (int i = 0; i < len; i++) { String ttl = ttls[i]; int page_id = page_id_next.Val(); - tbl_page.Insert_cmd_by_batch(page_id, ns_id, Bry_.new_utf8_(ttl), false, modified_on, 0, page_id, 0, 0); + tbl_page.Insert_cmd_by_batch(page_id, ns_id, Bry_.new_u8(ttl), false, modified_on, 0, page_id, 0, 0); page_id_next.Val_add(1); } tbl_page.Insert_end(); @@ -51,7 +51,7 @@ public class Db_mgr_fxt { public void Test_load_ttl(int ns_id, String ttl_str, Xowd_page_itm expd) { Xowe_wiki wiki = bldr_fxt.Wiki(); Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(ns_id); - byte[] ttl_bry = Bry_.new_ascii_(ttl_str); + byte[] ttl_bry = Bry_.new_a7(ttl_str); wiki.Db_mgr_as_sql().Load_mgr().Load_by_ttl(actl, ns, ttl_bry); Tfds.Eq(expd.Id(), actl.Id()); Tfds.Eq_date(expd.Modified_on(), actl.Modified_on()); @@ -62,57 +62,57 @@ public class Db_mgr_fxt { Xowe_wiki wiki = bldr_fxt.Wiki(); Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(ns_id); wiki.Db_mgr_as_sql().Load_mgr().Load_page(actl.Id_(page_id), ns, false); - Tfds.Eq(expd, String_.new_ascii_(actl.Text())); + Tfds.Eq(expd, String_.new_a7(actl.Text())); } public void Test_search(String search_word_str, int... expd) { Xowe_wiki wiki = bldr_fxt.Wiki(); - ListAdp rv = ListAdp_.new_(); - byte[] search_word_bry = Bry_.new_ascii_(search_word_str); + List_adp rv = List_adp_.new_(); + byte[] search_word_bry = Bry_.new_a7(search_word_str); wiki.Db_mgr_as_sql().Load_mgr().Load_search(Cancelable_.Never, rv, search_word_bry, 100); Tfds.Eq_ary(expd, Xto_int_ary(rv)); } - int[] Xto_int_ary(ListAdp rslts) { + int[] Xto_int_ary(List_adp rslts) { int len = rslts.Count(); int[] rv = new int[len]; for (int i = 0; i < len; i++) { - Xowd_page_itm page = (Xowd_page_itm)rslts.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)rslts.Get_at(i); rv[i] = page.Id(); } return rv; } public void Test_category_v1(String ctg_name_str, int... expd) { Xowe_wiki wiki = bldr_fxt.Wiki(); - byte[] ctg_name_bry = Bry_.new_ascii_(ctg_name_str); + byte[] ctg_name_bry = Bry_.new_a7(ctg_name_str); Xoctg_view_ctg ctg = new Xoctg_view_ctg(); wiki.Db_mgr_as_sql().Load_mgr().Load_ctg_v1(ctg, ctg_name_bry); Tfds.Eq_ary(expd, Xto_int_ary(ctg)); } int[] Xto_int_ary(Xoctg_view_ctg ctg) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); byte tid_max = Xoa_ctg_mgr.Tid__max; for (byte tid = 0; tid < tid_max; tid++) { Xoctg_view_grp grp = ctg.Grp_by_tid(tid); if (grp == null) continue; int len = grp.Itms_list().Count(); for (int i = 0; i < len; i++) { - Xoctg_view_itm itm = (Xoctg_view_itm)grp.Itms_list().FetchAt(i); + Xoctg_view_itm itm = (Xoctg_view_itm)grp.Itms_list().Get_at(i); list.Add(itm.Id()); } } - return (int[])list.Xto_ary_and_clear(int.class); + return (int[])list.To_ary_and_clear(int.class); } public void Test_category_v2(String ctg_name_str, int... expd) { Xowe_wiki wiki = bldr_fxt.Wiki(); - byte[] ctg_name_bry = Bry_.new_ascii_(ctg_name_str); + byte[] ctg_name_bry = Bry_.new_a7(ctg_name_str); Xoctg_data_ctg ctg = new Xoctg_data_ctg(ctg_name_bry); wiki.Db_mgr_as_sql().Load_mgr().Load_ctg_v2(ctg, ctg_name_bry); Tfds.Eq_ary(expd, Xto_int_ary(ctg)); } public void Test_file(String url, String expd) { - String actl = Io_mgr._.LoadFilStr(url); + String actl = Io_mgr.I.LoadFilStr(url); Tfds.Eq_str_lines(expd, actl); } int[] Xto_int_ary(Xoctg_data_ctg ctg) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); byte tid_max = Xoa_ctg_mgr.Tid__max; for (byte tid = 0; tid < tid_max; tid++) { Xoctg_idx_mgr grp = ctg.Grp_by_tid(tid); if (grp == null) continue; @@ -122,15 +122,15 @@ public class Db_mgr_fxt { list.Add(itm.Id()); } } - return (int[])list.Xto_ary_and_clear(int.class); + return (int[])list.To_ary_and_clear(int.class); } public void Init_db_sqlite() { Xowe_wiki wiki = this.Wiki(); Db_conn_pool.I.Clear(); Db_conn_bldr.I.Reg_default_sqlite(); - Io_mgr._.DeleteDir_cmd(wiki.Fsys_mgr().Root_dir()).MissingIgnored_().Exec(); + Io_mgr.I.DeleteDir_cmd(wiki.Fsys_mgr().Root_dir()).MissingIgnored_().Exec(); wiki.Db_mgr_create_as_sql().Core_data_mgr().Init_by_make(Xowd_core_db_props.Test, Xob_info_session.Test); - Io_mgr._.SaveFilStr(wiki.Import_cfg().Src_dir().GenSubFil("a.xml"), ""); + Io_mgr.I.SaveFilStr(wiki.Import_cfg().Src_dir().GenSubFil("a.xml"), ""); } public void Rls() { this.Wiki().Db_mgr_as_sql().Core_data_mgr().Rls(); diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_base_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Xob_base_fxt.java index 4c110d99a..61ffd3388 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_base_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_base_fxt.java @@ -35,7 +35,7 @@ public class Xob_base_fxt { public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki; public GfoInvkAble Bldr_itm() {return bldr_itm;} GfoInvkAble bldr_itm; public Xowd_page_itm page_(String ttl) {return page_(ttl, "");} - public Xowd_page_itm page_(String ttl, String text) {return new Xowd_page_itm().Ttl_(Bry_.new_utf8_(ttl), wiki.Ns_mgr()).Text_(Bry_.new_utf8_(text));} + public Xowd_page_itm page_(String ttl, String text) {return new Xowd_page_itm().Ttl_(Bry_.new_u8(ttl), wiki.Ns_mgr()).Text_(Bry_.new_u8(text));} public Io_fil_chkr meta_(String url, String data) {return new Io_fil_chkr(Io_url_.mem_fil_(url), data);} public void Init_fxts(Xob_bldr bldr, Xowe_wiki wiki, Xob_base_fxt... fxt_ary) { int fxt_ary_len = fxt_ary.length; @@ -43,7 +43,7 @@ public class Xob_base_fxt { fxt_ary[i].Init_(bldr, wiki); } public Xob_base_fxt Init_fil(String url, String raw) {return Init_fil(Io_url_.new_fil_(url), raw);} - public Xob_base_fxt Init_fil(Io_url url, String raw) {Io_mgr._.SaveFilStr(url, raw); return this;} + public Xob_base_fxt Init_fil(Io_url url, String raw) {Io_mgr.I.SaveFilStr(url, raw); return this;} public Xob_base_fxt Exec_cmd(String cmd_key, GfoMsg... msgs) { Xob_cmd cmd = (Xob_cmd)bldr.Cmd_mgr().Add_cmd(wiki, cmd_key); this.bldr_itm = cmd; @@ -58,7 +58,7 @@ public class Xob_base_fxt { } public Xob_base_fxt Test_fil(String url, String expd) {return Test_fil(Io_url_.new_fil_(url), expd);} public Xob_base_fxt Test_fil(Io_url url, String expd) { - Tfds.Eq_str_lines(expd, Io_mgr._.LoadFilStr(url)); + Tfds.Eq_str_lines(expd, Io_mgr.I.LoadFilStr(url)); return this; } public static void Run_cmd(Xob_bldr bldr, Xob_cmd cmd) { diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java index 3d98db93c..480cd228b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_keys.java @@ -46,6 +46,7 @@ public class Xob_cmd_keys { , Key_html_redlinks = "html.redlinks" , Key_util_cleanup = "util.cleanup" // "core.cleanup" , Key_util_download = "util.download" // "file.download" + , Key_util_xml_dump = "util.xml_dump" , Key_wbase_qid = "wbase.qid" // "text.wdata.qid" , Key_wbase_pid = "wbase.pid" // "text.wdata.pid" , Key_wbase_db = "wbase.db" // "wiki.wdata_db" diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java index caa502367..3b4f9360b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java @@ -23,8 +23,8 @@ import gplx.xowa.files.origs.*; import gplx.xowa.html.hdumps.bldrs.*; public class Xob_cmd_mgr implements GfoInvkAble { public Xob_cmd_mgr(Xob_bldr bldr) {this.bldr = bldr;} private Xob_bldr bldr; public void Clear() {list.Clear(); dump_rdrs.Clear();} - public int Len() {return list.Count();} ListAdp list = ListAdp_.new_(); - public Xob_cmd Get_at(int i) {return (Xob_cmd)list.FetchAt(i);} + public int Len() {return list.Count();} List_adp list = List_adp_.new_(); + public Xob_cmd Get_at(int i) {return (Xob_cmd)list.Get_at(i);} public Xob_cmd Add(Xob_cmd cmd) {list.Add(cmd); return cmd;} public GfoInvkAble Add_cmd(Xowe_wiki wiki, String cmd_key) { if (String_.Eq(cmd_key, Xob_cmd_keys.Key_text_init)) return Add(new Xob_init_cmd(bldr, wiki)); @@ -55,6 +55,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_html_redlinks)) return Add(new Xob_redlink_mkr_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_util_cleanup)) return Add(new Xob_cleanup_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_util_download)) return Add(new Xob_download_wkr(bldr, wiki)); + else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_util_xml_dump)) return Add(new Xob_xml_dumper_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wbase_qid)) return Xml_rdr_direct_add(wiki, new Xob_wdata_qid_sql().Ctor(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wbase_pid)) return Xml_rdr_direct_add(wiki, new Xob_wdata_pid_sql().Ctor(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_wbase_db)) return Add(new Xob_wdata_db_cmd(bldr, wiki)); @@ -92,7 +93,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { } private Xobd_rdr Xml_rdr_get(Xowe_wiki wiki) { byte[] wiki_key = wiki.Domain_bry(); - Xobd_rdr rv = (Xobd_rdr)dump_rdrs.Fetch(dump_rdrs_ref.Val_(wiki_key)); + Xobd_rdr rv = (Xobd_rdr)dump_rdrs.Get_by(dump_rdrs_ref.Val_(wiki_key)); if (rv == null) { rv = new Xobd_rdr(bldr, wiki); dump_rdrs.Add(Bry_obj_ref.new_(wiki_key), rv); @@ -100,7 +101,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { } return rv; } - private HashAdp dump_rdrs = HashAdp_.new_(); private Bry_obj_ref dump_rdrs_ref = Bry_obj_ref.null_(); + private Hash_adp dump_rdrs = Hash_adp_.new_(); private Bry_obj_ref dump_rdrs_ref = Bry_obj_ref.null_(); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_add)) return Add_cmd(Wiki_get_or_make(m), m.ReadStr("v")); else if (ctx.Match(k, Invk_add_many)) return Add_many(m); @@ -113,7 +114,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { String cmd_key = m.ReadStr("v"); int cmds_len = list.Count(); for (int i = 0;i < cmds_len; i++) { - Xob_cmd cmd = (Xob_cmd)list.FetchAt(i); + Xob_cmd cmd = (Xob_cmd)list.Get_at(i); if (String_.Eq(cmd.Cmd_key(), cmd_key)) return cmd; } throw Err_.new_fmt_("cmd not found; key=~{0}", cmd_key); @@ -138,7 +139,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { } private Xowe_wiki Wiki_get_or_make(GfoMsg m) { byte[] wiki_key = m.ReadBry("v"); - Xoa_wiki_mgr wiki_mgr = bldr.App().Wiki_mgr(); + Xoae_wiki_mgr wiki_mgr = bldr.App().Wiki_mgr(); Xowe_wiki rv = wiki_mgr.Get_by_key_or_make(wiki_key); rv.Lang().Init_by_load(); return rv; diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java index c701839fc..baaa84714 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java @@ -19,7 +19,7 @@ package gplx.xowa.bldrs; import gplx.*; import gplx.xowa.*; import gplx.ios.*; import gplx.dbs.*; import gplx.xowa.tdbs.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.bldrs.cmds.texts.tdbs.*; public class Xob_fxt { public Xob_fxt Ctor_mem() { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); return Ctor(Io_url_.mem_dir_("mem/xowa/")); } public Xob_fxt Ctor(Io_url root_dir) { @@ -44,16 +44,16 @@ public class Xob_fxt { String text = String_.Concat_lines_nl_skip_last(expd); // skipLast b/c if trailing line wanted, easier to pass in extra argument for "" expd_list.Add(new Io_fil_chkr(url, text)); return this; - } ListAdp expd_list = ListAdp_.new_(); + } List_adp expd_list = List_adp_.new_(); public Xob_fxt Fil_skip(Io_url... urls) { for (int i = 0; i < urls.length; i++) skip_list.Add(urls[i]); return this; - } ListAdp skip_list = ListAdp_.new_(); + } List_adp skip_list = List_adp_.new_(); public Xob_fxt doc_ary_(Xowd_page_itm... v) {doc_ary = v; return this;} private Xowd_page_itm[] doc_ary; public Xowd_page_itm doc_wo_date_(int id, String title, String text) {return doc_(id, "2012-01-02 13:14", title, text);} public Xowd_page_itm doc_(int id, String date, String title, String text) { - Xowd_page_itm rv = new Xowd_page_itm().Id_(id).Ttl_(Bry_.new_utf8_(title), wiki.Ns_mgr()).Text_(Bry_.new_utf8_(text)); + Xowd_page_itm rv = new Xowd_page_itm().Id_(id).Ttl_(Bry_.new_u8(title), wiki.Ns_mgr()).Text_(Bry_.new_u8(text)); int[] modified_on = new int[7]; dateParser.Parse_iso8651_like(modified_on, date); rv.Modified_on_(DateAdp_.seg_(modified_on)); @@ -62,7 +62,7 @@ public class Xob_fxt { public Xob_fxt Run_ctg() { Xobd_parser parser = new Xobd_parser(); gplx.xowa.bldrs.cmds.ctgs.Xob_ctg_v1_base ctg_wkr = new gplx.xowa.bldrs.cmds.ctgs.Xob_ctg_v1_txt().Ctor(bldr, wiki); - byte[] bry = Bry_.new_utf8_("[[Category:"); + byte[] bry = Bry_.new_u8("[[Category:"); ctg_wkr.Wkr_hooks().Add(bry, bry); parser.Wkr_add(ctg_wkr); return Run(parser); @@ -82,7 +82,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.Xto_ary(Io_fil_chkr.class); + Io_fil_chkr[] expds = (Io_fil_chkr[])expd_list.To_ary(Io_fil_chkr.class); tst_mgr.Tst_ary("all", expds, actls); } Io_fil[] Get_actl(Io_url[] ary) { @@ -90,7 +90,7 @@ public class Xob_fxt { Io_fil[] rv = new Io_fil[len]; for (int i = 0; i < len; i++) { Io_url url = ary[i]; - String data = Io_mgr._.LoadFilStr(url); + String data = Io_mgr.I.LoadFilStr(url); rv[i] = new Io_fil(url, data); } return rv; @@ -136,23 +136,23 @@ public class Xob_fxt { } private void Test_expd_files() { if (expd_list.Count() > 0) { - Io_fil_chkr[] expd = (Io_fil_chkr[])expd_list.Xto_ary(Io_fil_chkr.class); + Io_fil_chkr[] expd = (Io_fil_chkr[])expd_list.To_ary(Io_fil_chkr.class); Io_fil[] actl = wiki_(); tst_mgr.Tst_ary("all", expd, actl); } } Io_fil[] wiki_() { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); wiki_fil_add(rv, wiki.Tdb_fsys_mgr().Ns_dir()); wiki_fil_add(rv, wiki.Tdb_fsys_mgr().Site_dir()); rv.Sort(); - return (Io_fil[])rv.Xto_ary(Io_fil.class); + return (Io_fil[])rv.To_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(); + private void wiki_fil_add(List_adp list, Io_url root_dir) { + Io_url[] ary = Io_mgr.I.QueryDir_args(root_dir).Recur_().ExecAsUrlAry(); for (int i = 0; i < ary.length; i++) { Io_url url = ary[i]; - Io_fil fil = new Io_fil(url, Io_mgr._.LoadFilStr_args(url).MissingIgnored_().Exec()); + Io_fil fil = new Io_fil(url, Io_mgr.I.LoadFilStr_args(url).MissingIgnored_().Exec()); list.Add(fil); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_ns_to_db_mgr.java b/400_xowa/src/gplx/xowa/bldrs/Xob_ns_to_db_mgr.java index b3947acd7..f54fe88d0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_ns_to_db_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_ns_to_db_mgr.java @@ -19,7 +19,7 @@ package gplx.xowa.bldrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.bldrs.cmds.*; public class Xob_ns_to_db_mgr { private final Xob_ns_to_db_wkr wkr; private final Xowd_db_mgr db_mgr; private final long db_max; private boolean one_file_conn_init = true; - private final OrderedHash db_list = OrderedHash_.new_(); + private final Ordered_hash db_list = Ordered_hash_.new_(); public Xob_ns_to_db_mgr(Xob_ns_to_db_wkr wkr, Xowd_db_mgr db_mgr, long db_max) { this.wkr = wkr; this.db_mgr = db_mgr; this.db_max = db_max; } @@ -71,7 +71,7 @@ public class Xob_ns_to_db_mgr { db_list.Del(db.Id()); } public void Rls_all() { - Xowd_db_file[] ary = (Xowd_db_file[])db_list.Xto_ary(Xowd_db_file.class); + Xowd_db_file[] ary = (Xowd_db_file[])db_list.To_ary(Xowd_db_file.class); int len = ary.length; for (int i = 0; i < len; ++i) { Xowd_db_file db = (Xowd_db_file)ary[i]; @@ -81,7 +81,7 @@ public class Xob_ns_to_db_mgr { public void Commit() { int len = db_list.Count(); for (int i = 0; i < len; ++i) { - Xowd_db_file db = (Xowd_db_file)db_list.FetchAt(i); + Xowd_db_file db = (Xowd_db_file)db_list.Get_at(i); db.Conn().Txn_sav(); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/aria2/Aria2_lib_mgr.java b/400_xowa/src/gplx/xowa/bldrs/aria2/Aria2_lib_mgr.java index 49397553d..b90384970 100644 --- a/400_xowa/src/gplx/xowa/bldrs/aria2/Aria2_lib_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/aria2/Aria2_lib_mgr.java @@ -29,7 +29,7 @@ public class Aria2_lib_mgr implements GfoInvkAble { // private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); public void Exec(Xob_dump_file dump_file) { // byte[] args_bry = lib.Args_fmtr().Bld_bry_many(tmp_bfr, dump_file.Wiki_alias(), dump_file.Dump_date(), dump_file.Dump_file_type()); - // ProcessAdp process = new ProcessAdp().Exe_url_(lib.Exe_url()).Args_str_(String_.new_utf8_(args_bry)); + // ProcessAdp process = new ProcessAdp().Exe_url_(lib.Exe_url()).Args_str_(String_.new_u8(args_bry)); // process.Run_wait(); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java index bc5ed9683..346ae0141 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java @@ -22,21 +22,21 @@ public class Xob_wiki_cfg_bldr implements GfoInvkAble { public void Exec() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoac_wiki_cfg_bldr_fil fil = (Xoac_wiki_cfg_bldr_fil)hash.FetchAt(i); + Xoac_wiki_cfg_bldr_fil fil = (Xoac_wiki_cfg_bldr_fil)hash.Get_at(i); Exec_fil(fil); } } private void Exec_fil(Xoac_wiki_cfg_bldr_fil fil) { String wiki_key = fil.Wiki(); Io_url cfg_file = app.Fsys_mgr().Cfg_wiki_core_dir().GenSubFil(wiki_key + ".gfs"); - String cfg_text = Io_mgr._.LoadFilStr_args(cfg_file).MissingIgnored_().Exec(); + String cfg_text = Io_mgr.I.LoadFilStr_args(cfg_file).MissingIgnored_().Exec(); int len = fil.Itms_count(); String_bldr sb = String_bldr_.new_(); for (int i = 0; i < len; i++) { Xoac_wiki_cfg_bldr_cmd cmd = fil.Itms_get_at(i); cfg_text = cmd.Exec(sb, wiki_key, cfg_text); } - Io_mgr._.SaveFilStr(cfg_file, cfg_text); + Io_mgr.I.SaveFilStr(cfg_file, cfg_text); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_get)) return Itms_get_or_new(m.ReadStr("v")); @@ -46,11 +46,11 @@ public class Xob_wiki_cfg_bldr implements GfoInvkAble { } private static final String Invk_get = "get", Invk_run = "run"; public void Clear() {hash.Clear();} public Xoac_wiki_cfg_bldr_fil Itms_get_or_new(String wiki) { - Xoac_wiki_cfg_bldr_fil rv = (Xoac_wiki_cfg_bldr_fil)hash.Fetch(wiki); + Xoac_wiki_cfg_bldr_fil rv = (Xoac_wiki_cfg_bldr_fil)hash.Get_by(wiki); if (rv == null) { rv = new Xoac_wiki_cfg_bldr_fil(wiki); hash.Add(wiki, rv); } return rv; - } private OrderedHash hash = OrderedHash_.new_(); + } private Ordered_hash hash = Ordered_hash_.new_(); } 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 a537582c5..43c4e74dc 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 @@ -59,13 +59,13 @@ public class Xob_wiki_cfg_bldr_tst { } // @Test public void Lang_names_run() { // Io_url dir = Io_url_.new_dir_("/var/www/mediawiki/languages/messages/"); -// Io_url[] fils = Io_mgr._.QueryDir_args(dir).ExecAsUrlAry(); +// Io_url[] fils = Io_mgr.I.QueryDir_args(dir).ExecAsUrlAry(); // int fils_len = fils.length; // String_bldr sb = String_bldr_.new_(); // for (int i = 0; i < fils_len; i++) { // Io_url fil = fils[i]; // String lang_code = String_.Lower(String_.Replace(fil.NameOnly(), "Messages", "")); -// String txt = Io_mgr._.LoadFilStr(fil); +// String txt = Io_mgr.I.LoadFilStr(fil); // String[] lines = String_.Split(txt, '\n'); // String line = lines[1]; // line = String_.Replace(line, "/** ", ""); @@ -92,8 +92,8 @@ public class Xob_wiki_cfg_bldr_tst { // Tfds.Write(sb.Xto_str_and_clear()); // } @Test public void Ns_aliases() { - Io_mgr._.InitEngine_mem(); - Io_mgr._.SaveFilStr("mem/en.wikipedia.org/w/api.php?action=query&format=xml&meta=siteinfo&siprop=namespacealiases", String_.Concat_lines_nl + Io_mgr.I.InitEngine_mem(); + Io_mgr.I.SaveFilStr("mem/en.wikipedia.org/w/api.php?action=query&format=xml&meta=siteinfo&siprop=namespacealiases", String_.Concat_lines_nl ( "" , "" , "" @@ -127,14 +127,14 @@ public class Xob_wiki_cfg_bldr_tst { if (String_.Len_eq_0(wiki)) continue; try { String api = protocol + wiki + "/w/api.php?action=query&format=xml&meta=siteinfo&siprop=namespacealiases"; - String xml = String_.new_utf8_(Io_mgr._.DownloadFil_args("", null).Trg_engine_key_(trg_engine_key).Exec_as_bry(api)); + String xml = String_.new_u8(Io_mgr.I.DownloadFil_args("", null).Trg_engine_key_(trg_engine_key).Exec_as_bry(api)); if (xml == null) continue; // not found gplx.xmls.XmlDoc xdoc = gplx.xmls.XmlDoc_.parse_(xml); gplx.xmls.XmlNde xnde = gplx.xmls.Xpath_.SelectFirst(xdoc.Root(), "query/namespacealiases"); sb.Add("app.bldr.wiki_cfg_bldr.get('").Add(wiki).Add("').new_cmd_('wiki.ns_mgr.aliases', 'ns_mgr.add_alias_bulk(\"\n"); int xndes_len = xnde.SubNdes().Count(); for (int j = 0; j < xndes_len; j++) { - gplx.xmls.XmlNde ns_nde = xnde.SubNdes().FetchAt(j); + gplx.xmls.XmlNde ns_nde = xnde.SubNdes().Get_at(j); if (!String_.Eq(ns_nde.Name(), "ns")) continue; int id = Int_.parse_(ns_nde.Atrs().FetchValOr("id", "-1")); String name = String_.Replace(String_.Replace(ns_nde.Text_inner(), " ", "_"), "'", "''"); @@ -156,7 +156,7 @@ class Xob_wiki_cfg_bldr_fxt { wiki_cfg_bldr.Clear(); hash.Clear(); return this; - } private Xoae_app app; Xob_wiki_cfg_bldr wiki_cfg_bldr; OrderedHash hash = OrderedHash_.new_(); + } private Xoae_app app; Xob_wiki_cfg_bldr wiki_cfg_bldr; Ordered_hash hash = Ordered_hash_.new_(); public Xob_wiki_cfg_bldr_fxt Init_cmd(String wiki, String key, String text) { wiki_cfg_bldr.Itms_get_or_new(wiki).Itms_add(key, text); return this; @@ -169,10 +169,10 @@ class Xob_wiki_cfg_bldr_fxt { wiki_cfg_bldr.Exec(); int len = hash.Count(); for (int i = 0; i < len; i++) { - KeyVal kv = (KeyVal)hash.FetchAt(i); + KeyVal kv = (KeyVal)hash.Get_at(i); String wiki = kv.Key(); String expd = (String)kv.Val(); - String actl = Io_mgr._.LoadFilStr(app.Fsys_mgr().Cfg_wiki_core_dir().GenSubFil(wiki + ".gfs")); + String actl = Io_mgr.I.LoadFilStr(app.Fsys_mgr().Cfg_wiki_core_dir().GenSubFil(wiki + ".gfs")); Tfds.Eq_str_lines(expd, actl); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_dump_mgr_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_dump_mgr_base.java index 257e1aac2..fabb8837e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_dump_mgr_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_dump_mgr_base.java @@ -105,7 +105,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo } } private void Exec_db_itm(Xob_dump_bmk dump_bmk, int ns_ord, int ns_id, int db_id) { - ListAdp pages = ListAdp_.new_(); + List_adp pages = List_adp_.new_(); Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(ns_id); int pg_id = pg_bgn; while (true) { @@ -118,7 +118,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo } usr_dlg.Prog_many("", "", "fetched pages: ~{0}", pages_len); for (int i = 0; i < pages_len; i++) { - Xowd_page_itm page = (Xowd_page_itm)pages.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)pages.Get_at(i); dump_bmk.Pg_id_(pg_id); Exec_pg_itm(ns_ord, ns, db_id, page); if ( pg_id >= pg_end @@ -135,7 +135,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo if ((exec_count % progress_interval) == 0) usr_dlg.Prog_many("", "", "parsing: ns=~{0} db=~{1} pg=~{2} count=~{3} time=~{4} rate=~{5} ttl=~{6}" , ns.Id(), db_id, page.Id(), exec_count - , Env_.TickCount_elapsed_in_sec(time_bgn), rate_mgr.Rate_as_str(), String_.new_utf8_(page.Ttl_page_db())); + , Env_.TickCount_elapsed_in_sec(time_bgn), rate_mgr.Rate_as_str(), String_.new_u8(page.Ttl_page_db())); ctx.Clear(); Exec_pg_itm_hook(ns_ord, ns, page, page.Text()); ctx.App().Utl__bfr_mkr().Clear_fail_check(); // make sure all bfrs are released @@ -151,14 +151,14 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo Free(); } catch (Exception exc) { - bldr.Usr_dlg().Warn_many(GRP_KEY, "parse", "failed to parse ~{0} error ~{1}", String_.new_utf8_(page.Ttl_page_db()), Err_.Message_lang(exc)); + bldr.Usr_dlg().Warn_many(GRP_KEY, "parse", "failed to parse ~{0} error ~{1}", String_.new_u8(page.Ttl_page_db()), Err_.Message_lang(exc)); ctx.App().Utl__bfr_mkr().Clear(); this.Free(); } } public abstract void Exec_pg_itm_hook(int ns_ord, Xow_ns ns, Xowd_page_itm page, byte[] page_text); private void Exec_commit(int ns_id, int db_id, int pg_id, byte[] ttl) { - usr_dlg.Prog_many("", "", "committing: ns=~{0} db=~{1} pg=~{2} count=~{3} ttl=~{4}", ns_id, db_id, pg_id, exec_count, String_.new_utf8_(ttl)); + usr_dlg.Prog_many("", "", "committing: ns=~{0} db=~{1} pg=~{2} count=~{3} ttl=~{4}", ns_id, db_id, pg_id, exec_count, String_.new_u8(ttl)); Exec_commit_hook(); bmk_mgr.Save(ns_id, db_id, pg_id); if (exit_after_commit) exit_now = true; @@ -218,7 +218,7 @@ public abstract class Xob_dump_mgr_base extends Xob_itm_basic_base implements Xo } class Xob_dump_mgr_base_ { public static void Load_all_tmpls(Gfo_usr_dlg usr_dlg, Xowe_wiki wiki, Xob_dump_src_id page_src) { - ListAdp pages = ListAdp_.new_(); + List_adp pages = List_adp_.new_(); Xow_ns ns_tmpl = wiki.Ns_mgr().Ns_template(); Xow_defn_cache defn_cache = wiki.Cache_mgr().Defn_cache(); int cur_page_id = -1; @@ -230,7 +230,7 @@ class Xob_dump_mgr_base_ { if (page_count == 0) break; // no more pages in db; Xowd_page_itm page = null; for (int i = 0; i < page_count; i++) { - page = (Xowd_page_itm)pages.FetchAt(i); + page = (Xowd_page_itm)pages.Get_at(i); Xot_defn_tmpl defn = new Xot_defn_tmpl(); defn.Init_by_new(ns_tmpl, ns_tmpl.Gen_ttl(page.Ttl_page_db()), page.Text(), null, false); // NOTE: passing null, false; will be overriden later when Parse is called defn_cache.Add(defn, ns_tmpl.Case_match()); @@ -242,7 +242,7 @@ class Xob_dump_mgr_base_ { usr_dlg.Note_many("", "", "tmpl_load done: ~{0}", load_count); } public static Xowd_db_file[] Init_text_files_ary(Xowd_db_mgr core_data_mgr) { - ListAdp text_files_list = ListAdp_.new_(); + List_adp text_files_list = List_adp_.new_(); int len = core_data_mgr.Dbs__len(); if (len == 1) return new Xowd_db_file[] {core_data_mgr.Dbs__get_at(0)}; // single file: return core; note that there are no Tid = Text for (int i = 0; i < len; i++) { @@ -254,13 +254,13 @@ class Xob_dump_mgr_base_ { break; } } - return (Xowd_db_file[])text_files_list.Xto_ary_and_clear(Xowd_db_file.class); + return (Xowd_db_file[])text_files_list.To_ary_and_clear(Xowd_db_file.class); } } class Xob_dump_bmk_mgr { private Bry_bfr save_bfr = Bry_bfr.reset_(1024); public Io_url Cfg_url() {return cfg_url;} public Xob_dump_bmk_mgr Cfg_url_(Io_url v) {cfg_url = v; return this;} private Io_url cfg_url; - public void Reset() {Io_mgr._.DeleteFil(cfg_url);} + public void Reset() {Io_mgr.I.DeleteFil(cfg_url);} public void Load(Xoae_app app, Xob_dump_mgr_base dump_mgr) { app.Gfs_mgr().Run_url_for(dump_mgr, cfg_url); } @@ -268,7 +268,7 @@ class Xob_dump_bmk_mgr { Save_itm(save_bfr, Xob_dump_mgr_base.Invk_ns_bgn_, ns_id); Save_itm(save_bfr, Xob_dump_mgr_base.Invk_db_bgn_, db_id); Save_itm(save_bfr, Xob_dump_mgr_base.Invk_pg_bgn_, pg_id); - Io_mgr._.SaveFilBfr(cfg_url, save_bfr); + Io_mgr.I.SaveFilBfr(cfg_url, save_bfr); } private void Save_itm(Bry_bfr save_bfr, String key, int val) { String fmt = "{0}('{1}');\n"; @@ -300,7 +300,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.Xto_bry_and_clear()); + Io_mgr.I.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/cmds/Xob_ns_file_itm_parser.java b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_ns_file_itm_parser.java index fdb65d9d5..40a3ccfea 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_ns_file_itm_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_ns_file_itm_parser.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.bldrs.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.srls.dsvs.*; public class Xob_ns_file_itm_parser extends Dsv_wkr_base { - private byte[] ns_ids_bry; private String name; private final ListAdp rslts = ListAdp_.new_(); + private byte[] ns_ids_bry; private String name; private final List_adp rslts = List_adp_.new_(); private Xow_ns_mgr ns_mgr; private byte db_file_tid; private boolean mode_each = false; public void Ctor(byte db_file_tid, Xow_ns_mgr ns_mgr) { this.db_file_tid = db_file_tid; this.ns_mgr = ns_mgr; @@ -28,7 +28,7 @@ public class Xob_ns_file_itm_parser extends Dsv_wkr_base { @Override public boolean Write_bry(Dsv_tbl_parser parser, int fld_idx, byte[] src, int bgn, int end) { switch (fld_idx) { case 0: ns_ids_bry = Bry_.Mid(src, bgn, end); return true; - case 1: name = String_.new_utf8_(src, bgn, end); return true; + case 1: name = String_.new_u8(src, bgn, end); return true; default: return false; } } @@ -53,7 +53,7 @@ public class Xob_ns_file_itm_parser extends Dsv_wkr_base { ns_ids[i] = ns_mgr.Ords_get_at(i).Id(); } else - ns_ids = Int_.Ary_parse(String_.new_utf8_(ns_ids_bry), ","); + ns_ids = Int_.Ary_parse(String_.new_u8(ns_ids_bry), ","); if (ns_ids.length == 0) throw Err_.new_("map.invalid.ns_missing; src={0}", this.Src()); if (String_.Len_eq_0(name)) { // no name; auto-generate int ns_id_1st = ns_ids[0]; // take 1st ns_id @@ -66,9 +66,9 @@ public class Xob_ns_file_itm_parser extends Dsv_wkr_base { } public Xob_ns_file_itm[] To_ary(byte[] bry) { this.Load_by_bry(bry); - return (Xob_ns_file_itm[])rslts.Xto_ary(Xob_ns_file_itm.class); + return (Xob_ns_file_itm[])rslts.To_ary(Xob_ns_file_itm.class); } - private static final byte[] ns_ids_bry_each = Bry_.new_ascii_(""); + private static final byte[] ns_ids_bry_each = Bry_.new_a7(""); /* "" -> no rules; return "default"; generates "text-001" and lumps all ns into it "*||3700|2" -> auto-generate per ns diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_parse_all_src_sql.java b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_parse_all_src_sql.java index 1566a2c4a..cf8e68bb2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_parse_all_src_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/Xob_parse_all_src_sql.java @@ -27,7 +27,7 @@ class Xob_dump_src_id { this.page_db_url = db_mgr.Core_data_mgr().Db__core().Url().Raw(); return this; } - public void Get_pages(ListAdp list, int text_db_idx, int cur_ns, int prv_id) { + public void Get_pages(List_adp list, int text_db_idx, int cur_ns, int prv_id) { DataRdr rdr = DataRdr_.Null; int size_len = 0; list.Clear(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Uca_trie_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Uca_trie_tst.java index fae1bd10f..57a6ccdd9 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Uca_trie_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Uca_trie_tst.java @@ -37,7 +37,7 @@ class Uca_trie_fxt { } trie.Clear(); } Uca_trie trie; Bry_bfr bfr; - 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 Init_trie_itm(String charAsStr, byte[] uca) {trie.Init_itm(gplx.intl.Utf16_.Decode_to_int(Bry_.new_u8(charAsStr), 0), uca);} public void Test_decode(byte[] bry, String expd) { trie.Decode(bfr, bry, 0, bry.length); Tfds.Eq(expd, bfr.Xto_str_and_clear()); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql.java index c816df5f6..77eaa072e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql.java @@ -24,7 +24,7 @@ public class Xob_category_registry_sql implements Xob_cmd { // setup wiki.Html_mgr().Importing_ctgs_(Bool_.Y); Io_url rslt_dir = Xob_category_registry_sql.Tmp_dir(wiki); - Io_mgr._.DeleteDirDeep(rslt_dir); + Io_mgr.I.DeleteDirDeep(rslt_dir); Xob_tmp_wtr rslt_wtr = Xob_tmp_wtr.new_wo_ns_(Io_url_gen_.dir_(rslt_dir), Io_mgr.Len_mb); // read data Gfo_usr_dlg usr_dlg = wiki.Appe().Usr_dlg(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql_tst.java index 04bf5bedd..da3db9438 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_category_registry_sql_tst.java @@ -47,13 +47,13 @@ class Xob_category_registry_sql_fxt { } public void Test_ids(int[] expd) { Io_url rslts_dir = Xob_category_registry_sql.Tmp_dir(wiki); - String rslts_txt = Io_mgr._.LoadFilStr(Io_mgr._.QueryDir_fils(rslts_dir)[0]); + String rslts_txt = Io_mgr.I.LoadFilStr(Io_mgr.I.QueryDir_fils(rslts_dir)[0]); int[] actl = Parse_rslts_txt(rslts_txt); Tfds.Eq_ary(expd, actl); } int[] Parse_rslts_txt(String rslts_txt) { String[] lines = String_.SplitLines_nl(rslts_txt); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int len = lines.length; for (int i = 0; i < len; i++) { String line = lines[i]; @@ -61,6 +61,6 @@ class Xob_category_registry_sql_fxt { String[] flds = String_.Split(line, '|'); list.Add(Base85_utl.XtoIntByStr(flds[1])); } - return (int[])list.Xto_ary_and_clear(int.class); + return (int[])list.To_ary_and_clear(int.class); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_base.java index 8444e2dc8..bd4888b9d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_base.java @@ -69,8 +69,8 @@ public abstract class Xob_categorylinks_base extends Xob_sql_dump_base implement Xobdc_merger.Basic(bldr.Usr_dlg(), dump_url_gen, temp_dir.GenSubDir("sort"), sort_mem_len, Xoctg_link_sql_sorter._, Io_line_rdr_key_gen_.noop, Make_sort_cmd(sql_parser)); wiki.Html_mgr().Importing_ctgs_(Bool_.N); } - private static final byte[] Fld_cl_from = Bry_.new_ascii_("cl_from"), Fld_cl_to = Bry_.new_ascii_("cl_to"), Fld_cl_timestamp = Bry_.new_ascii_("cl_timestamp"), Fld_cl_collation = Bry_.new_ascii_("cl_collation"), Fld_cl_sortkey = Bry_.new_ascii_("cl_sortkey"), Fld_cl_type = Bry_.new_ascii_("cl_type"); - private static final byte[] Collation_uca = Bry_.new_utf8_("uca"), Sortkey_space = new byte[] {Byte_ascii.Space}; + private static final byte[] Fld_cl_from = Bry_.new_a7("cl_from"), Fld_cl_to = Bry_.new_a7("cl_to"), Fld_cl_timestamp = Bry_.new_a7("cl_timestamp"), Fld_cl_collation = Bry_.new_a7("cl_collation"), Fld_cl_sortkey = Bry_.new_a7("cl_sortkey"), Fld_cl_type = Bry_.new_a7("cl_type"); + private static final byte[] Collation_uca = Bry_.new_u8("uca"), Sortkey_space = new byte[] {Byte_ascii.Space}; } class Xoctg_link_sql_sorter implements gplx.lists.ComparerAble { public int compare(Object lhsObj, Object rhsObj) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_make.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_make.java index b9e4e2e78..0709a48a0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_make.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_make.java @@ -59,7 +59,7 @@ public class Xob_categorylinks_sql_make implements Io_make_cmd { ++cur_row_count; if (cur_row_count % 100000 == 0) usr_dlg.Prog_one("", "", "inserting category row: ~{0}", cur_row_count); if (cur_row_count % 1000000 == 0) {cat_core_tbl.Conn().Txn_sav(); cat_link_tbl.Conn().Txn_sav();} - } catch (Exception e) {usr_dlg.Warn_many("", "", "ctg_links.insert failed: name=~{0} err=~{1}", String_.new_utf8_(new_cat_ttl), Err_.Message_gplx_brief(e));} + } catch (Exception e) {usr_dlg.Warn_many("", "", "ctg_links.insert failed: name=~{0} err=~{1}", String_.new_u8(new_cat_ttl), Err_.Message_gplx_brief(e));} } public void Sort_end() { Save_ctg(Ttl_last); @@ -70,7 +70,7 @@ public class Xob_categorylinks_sql_make implements Io_make_cmd { usr_dlg.Log_many("", "", "import.category.v2: insert done; committing; rows=~{0}", cur_row_count); name_id_rdr.Rls(); if (String_.Eq(sql_parser.Src_fil().NameAndExt(), Xob_ctg_v1_sql_make.Url_sql)) // delete temp xowa_categorylinks.sql file created by cat_v1 - Io_mgr._.DeleteFil(sql_parser.Src_fil()); + Io_mgr.I.DeleteFil(sql_parser.Src_fil()); } private int Save_ctg(byte[] new_ctg_ttl) { if (cur_cat_ttl != Bry_.Empty && cur_cat_id != -1) @@ -131,7 +131,7 @@ public class Xob_categorylinks_sql_make implements Io_make_cmd { private static Io_line_rdr New_registry_rdr(Xowe_wiki wiki, Gfo_usr_dlg usr_dlg) { Io_url make_dir = Xob_category_registry_sql.Tmp_dir(wiki); usr_dlg.Prog_many("", "", "loading category_registry files: ~{0}", make_dir.Raw()); - Io_url[] urls = Io_mgr._.QueryDir_args(make_dir).ExecAsUrlAry(); + Io_url[] urls = Io_mgr.I.QueryDir_args(make_dir).ExecAsUrlAry(); return new Io_line_rdr(usr_dlg, urls).Key_gen_(Io_line_rdr_key_gen_.first_pipe); } private static final byte[] Ttl_last = null, Ttl_first = Bry_.Empty; diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_tst.java index b84883dc5..faa38873a 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_categorylinks_sql_tst.java @@ -86,7 +86,7 @@ class Db_tst_row { class Db_tst_qry { public Db_qry Qry() {return qry;} Db_qry qry; public String[] Cols() {return cols;} public Db_tst_qry Cols_(String... v) {this.cols = v; return this;} private String[] cols; - public ListAdp Rows() {return rows;} ListAdp rows = ListAdp_.new_(); + public List_adp Rows() {return rows;} List_adp rows = List_adp_.new_(); public Db_tst_qry Rows_add_vals(Object... ary) { Db_tst_row row = Db_tst_row.kvs_(cols, ary); rows.Add(row); @@ -100,7 +100,7 @@ class Db_tst_qry { int expd_row_idx = 0, expd_row_max = rows.Count(); while (rdr.MoveNextPeer()) { if (expd_row_idx == expd_row_max) break; - Db_tst_row expd_row = (Db_tst_row)rows.FetchAt(expd_row_idx); + Db_tst_row expd_row = (Db_tst_row)rows.Get_at(expd_row_idx); Test_row(bfr, expd_row_idx, expd_row, rdr); ++expd_row_idx; } @@ -130,7 +130,7 @@ class Db_tst_qry { bfr.Add_str(qry.Xto_sql()).Add_byte(Byte_ascii.Semic); 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_(" != "); + } static final byte[] Lbl_row_hdr = Bry_.new_a7("row: "), Lbl_eq_y = Bry_.new_a7(" == "), Lbl_eq_n = Bry_.new_a7(" != "); public static Db_tst_qry tbl_(String tbl_name, String order_by) {return new_(Db_qry_.select_tbl_(tbl_name).OrderBy_asc_(order_by));} public static Db_tst_qry new_(Db_qry qry) { Db_tst_qry rv = new Db_tst_qry(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base.java index f60b3c35a..f649520d0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base.java @@ -23,7 +23,7 @@ public abstract class Xob_ctg_v1_base extends Xob_itm_dump_base implements Xobd_ public Xob_ctg_v1_base Ctor(Xob_bldr bldr, Xowe_wiki wiki) {this.Cmd_ctor(bldr, wiki); return this;} public abstract String Wkr_key(); public abstract Io_sort_cmd Make_sort_cmd(); - public OrderedHash Wkr_hooks() {return wkr_hooks;} private OrderedHash wkr_hooks = OrderedHash_.new_bry_(); + public Ordered_hash Wkr_hooks() {return wkr_hooks;} private Ordered_hash wkr_hooks = Ordered_hash_.new_bry_(); public void Wkr_bgn(Xob_bldr bldr) { this.Init_dump(this.Wkr_key(), wiki.Tdb_fsys_mgr().Site_dir().GenSubDir(Xotdb_dir_info_.Name_category)); Bry_bfr tmp_bfr = bldr.App().Utl__bfr_mkr().Get_b512(); @@ -66,9 +66,9 @@ public abstract class Xob_ctg_v1_base extends Xob_itm_dump_base implements Xobd_ } } @gplx.Virtual public void Log(byte err_tid, Xowd_page_itm page, byte[] src, int ctg_bgn) { - String title = String_.new_utf8_(page.Ttl_full_db()); + String title = String_.new_u8(page.Ttl_full_db()); int ctg_end = ctg_bgn + 40; if (ctg_end > src.length) ctg_end = src.length; - String ctg_str = String_.Replace(String_.new_utf8_(src, ctg_bgn, ctg_end), "\n", ""); + String ctg_str = String_.Replace(String_.new_u8(src, ctg_bgn, ctg_end), "\n", ""); String err = ""; switch (err_tid) { case Tid_eos: err = "eos"; break; @@ -84,19 +84,19 @@ public abstract class Xob_ctg_v1_base extends Xob_itm_dump_base implements Xobd_ public static void Process_ctg_row(Gfo_fld_wtr fld_wtr, int dump_fil_len, Io_url_gen dump_url_gen, int page_id, byte[] src, int src_len, int bgn, int end) { int len = end - bgn; Bry_bfr dump_bfr = fld_wtr.Bfr(); - if (dump_bfr.Len() + row_fixed_len + len > dump_fil_len) Io_mgr._.AppendFilBfr(dump_url_gen.Nxt_url(), dump_bfr); + if (dump_bfr.Len() + row_fixed_len + len > dump_fil_len) Io_mgr.I.AppendFilBfr(dump_url_gen.Nxt_url(), dump_bfr); byte[] ttl = Bry_.Mid(src, bgn, end); Bry_.Replace_reuse(ttl, Byte_ascii.Space, Byte_ascii.Underline); fld_wtr.Write_bry_escape_fld(ttl).Write_int_base85_len5_row(page_id); } public void Wkr_end() { this.Term_dump(this.Make_sort_cmd()); - if (delete_temp) Io_mgr._.DeleteDirDeep(temp_dir); + if (delete_temp) Io_mgr.I.DeleteDirDeep(temp_dir); } private Gfo_fld_wtr fld_wtr = Gfo_fld_wtr.xowa_(); Btrie_fast_mgr trie = Btrie_fast_mgr.cs_().Add_stub(Tid_brack_end, "]]").Add_stub(Tid_pipe, "|").Add_stub(Tid_nl, "\n").Add_stub(Tid_brack_bgn, "[["); static final int row_fixed_len = 5 + 1 + 1; // 5=rowId; 1=|; 1=\n - ListAdp category_list = ListAdp_.new_(); Int_obj_ref cur_pos = Int_obj_ref.zero_(); + List_adp category_list = List_adp_.new_(); Int_obj_ref cur_pos = Int_obj_ref.zero_(); static final byte Tid_eos = 0, Tid_brack_end = 1, Tid_pipe = 2, Tid_nl = 3, Tid_brack_bgn = 4; private static int Move_fwd_while_space(byte[] src, int src_len, int pos) { while (true) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base_tst.java index 218f3c4c3..6f9b6d95e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_base_tst.java @@ -30,29 +30,29 @@ public class Xob_ctg_v1_base_tst { } class Xowd_page_wkr_ctg_fxt { byte[] src; - public Xowd_page_wkr_ctg_fxt ini_(String s) {src = Bry_.new_utf8_(s); return this;} + public Xowd_page_wkr_ctg_fxt ini_(String s) {src = Bry_.new_u8(s); return this;} public Xowd_page_wkr_ctg_fxt tst_(String... expd) { Xobd_parser mgr = new Xobd_parser(); Xoae_app app = Xoa_app_fxt.app_(); Xowe_wiki wiki = Xoa_app_fxt.wiki_tst_(app); Xob_bldr bldr = Xoa_app_fxt.bldr_(app); Xobd_parser_wkr_ctg_tstr wkr = (Xobd_parser_wkr_ctg_tstr)new Xobd_parser_wkr_ctg_tstr().Ctor(bldr, wiki); - byte[] bry = Bry_.new_utf8_("[[Category:"); + byte[] bry = Bry_.new_u8("[[Category:"); wkr.Wkr_hooks().Add(bry, bry); mgr.Wkr_add(wkr); - Xowd_page_itm page = new Xowd_page_itm().Text_(src);//.Ttl_(Bry_.new_utf8_("Test"), new Xow_ns_mgr()); + Xowd_page_itm page = new Xowd_page_itm().Text_(src);//.Ttl_(Bry_.new_u8("Test"), new Xow_ns_mgr()); mgr.Wkr_bgn(bldr); mgr.Wkr_run(page); - byte[][] ttl = (byte[][])wkr.Found().Xto_ary(byte[].class); + byte[][] ttl = (byte[][])wkr.Found().To_ary(byte[].class); String[] actl = new String[ttl.length]; for (int i = 0; i < actl.length; i++) { - actl[i] = String_.new_utf8_(ttl[i]); + actl[i] = String_.new_u8(ttl[i]); } Tfds.Eq_ary_str(expd, actl); return this; } } -class Xobd_parser_wkr_ctg_tstr extends Xob_ctg_v1_txt { public ListAdp Found() {return found;} ListAdp found = ListAdp_.new_(); +class Xobd_parser_wkr_ctg_tstr extends Xob_ctg_v1_txt { public List_adp Found() {return found;} List_adp found = List_adp_.new_(); @Override public void Process_ctg(Xowd_page_itm page, byte[] src, int src_len, int bgn, int end) { found.Add(Bry_.Mid(src, bgn, end)); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_sql.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_sql.java index 18dbeb7e3..c435e5bc4 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xob_ctg_v1_sql.java @@ -31,7 +31,7 @@ class Xob_ctg_v1_sql_make implements Io_make_cmd { public void Sort_bgn() { usr_dlg = wiki.Appe().Usr_dlg(); Io_url sql_url = wiki.Fsys_mgr().Root_dir().GenSubFil(Url_sql); - Io_mgr._.DeleteFil_args(sql_url).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(sql_url).MissingFails_off().Exec(); sql_wtr = Xob_tmp_wtr.new_wo_ns_(Io_url_gen_.fil_(sql_url), Io_mgr.Len_mb); sql_wtr.Bfr().Add_str(Xob_categorylinks_sql.Sql_categorylinks).Add(Sql_hdr); } @@ -55,7 +55,7 @@ class Xob_ctg_v1_sql_make implements Io_make_cmd { sql_wtr.Flush(usr_dlg); db_mgr.Category_version_update(true); } - private static final byte[] Sql_hdr = Bry_.new_ascii_("INSERT INTO 'categorylinks' VALUES"); + private static final byte[] Sql_hdr = Bry_.new_a7("INSERT INTO 'categorylinks' VALUES"); public static final String Url_sql = "xowa_categorylinks.sql"; private static byte[] Escape_for_sql(Xowe_wiki wiki, byte[] bry) { Bry_bfr bfr = wiki.Appe().Utl__bfr_mkr().Get_b512(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_base.java index 2c80f4610..f636038ea 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_base.java @@ -39,5 +39,5 @@ public abstract class Xoctg_hiddencat_parser_base extends Xob_sql_dump_base impl } } public abstract void Exec_hook(Bry_bfr file_bfr, int cur_id, boolean cur_is_hiddencat); - public static final byte[] Key_hiddencat = Bry_.new_ascii_("hiddencat"); + public static final byte[] Key_hiddencat = Bry_.new_a7("hiddencat"); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_sql.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_sql.java index 040a05c8a..ef5d456f3 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_sql.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_parser_sql.java @@ -35,13 +35,13 @@ public class Xoctg_hiddencat_parser_sql extends Xoctg_hiddencat_parser_base { @Override public void Cmd_end() { tbl.Update_end(); if (!Env_.Mode_testing()) // NOTE: do not delete when testing - Io_mgr._.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir()); // delete /wiki/wiki_name/tmp - Io_url[] sql_files = Io_mgr._.QueryDir_args(wiki.Fsys_mgr().Root_dir()).FilPath_("*.sql.gz").ExecAsUrlAry(); + Io_mgr.I.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir()); // delete /wiki/wiki_name/tmp + Io_url[] sql_files = Io_mgr.I.QueryDir_args(wiki.Fsys_mgr().Root_dir()).FilPath_("*.sql.gz").ExecAsUrlAry(); int len = sql_files.length; for (int i = 0; i < len; i++) { Io_url sql_file = sql_files[i]; - Io_mgr._.DeleteFil(sql_file); + Io_mgr.I.DeleteFil(sql_file); } - Io_mgr._.DeleteFil_args(wiki.Fsys_mgr().Root_dir().GenSubFil("xowa_categorylinks.sql")).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(wiki.Fsys_mgr().Root_dir().GenSubFil("xowa_categorylinks.sql")).MissingFails_off().Exec(); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_ttl_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_ttl_wkr.java index bbeeb241c..2fa6da868 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_ttl_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_hiddencat_ttl_wkr.java @@ -33,7 +33,7 @@ public class Xoctg_hiddencat_ttl_wkr extends Xob_itm_dump_base implements Xob_cm join_wkr.Flush(); Io_url_gen make_url_gen = Io_url_gen_.dir_(temp_dir.GenSubDir("make")); Xobdc_merger.Basic(bldr.Usr_dlg(), join_wkr.Dump_url_gen(), temp_dir.GenSubDir("sort"), sort_mem_len, Io_sort_split_itm_sorter._, Io_line_rdr_key_gen_.first_pipe, new Io_sort_fil_basic(bldr.Usr_dlg(), make_url_gen, make_fil_len)); - if (delete_temp) Io_mgr._.DeleteDirDeep(src_sql_dir); + if (delete_temp) Io_mgr.I.DeleteDirDeep(src_sql_dir); } public void Cmd_term() {} } @@ -45,24 +45,24 @@ class Xob_sql_join_wkr_ctg_hidden implements Xob_sql_join_wkr { } private Xoae_app app = null; Xowe_wiki wiki = null; Io_url src_sql_dir; public Io_url_gen Dump_url_gen() {return dump_url_gen;} Io_url_gen dump_url_gen; public Io_line_rdr New_main_rdr() { - Io_url[] urls = Io_mgr._.QueryDir_fils(src_sql_dir); + Io_url[] urls = Io_mgr.I.QueryDir_fils(src_sql_dir); return new Io_line_rdr(app.Usr_dlg(), urls).Key_gen_(Io_line_rdr_key_gen_.first_pipe); } public Io_line_rdr New_join_rdr() { Io_url make_dir = wiki.Tdb_fsys_mgr().Url_site_dir(Xotdb_dir_info_.Tid_id); app.Usr_dlg().Prog_many("", "", "getting id files: ~{0}", make_dir.Raw()); - Io_url[] urls = Io_mgr._.QueryDir_args(make_dir).Recur_().FilPath_("*.xdat").ExecAsUrlAry(); + Io_url[] urls = Io_mgr.I.QueryDir_args(make_dir).Recur_().FilPath_("*.xdat").ExecAsUrlAry(); return new Io_line_rdr(app.Usr_dlg(), urls).Key_gen_(Io_line_rdr_key_gen_.first_pipe).File_skip_line0_(true); } public void Process_match(Io_line_rdr main, Io_line_rdr join, byte[] key_bry) { byte[] src = join.Bfr(); int itm_end = join.Itm_pos_end(); int pipe_pos = Bry_finder.Find_bwd(src, Byte_ascii.Pipe, itm_end); - if (pipe_pos == Bry_.NotFound) throw Err_.new_fmt_("failed to find pipe for name: ~{0}", String_.new_utf8_(src, join.Itm_pos_bgn(), join.Itm_pos_end())); + if (pipe_pos == Bry_.NotFound) throw Err_.new_fmt_("failed to find pipe for name: ~{0}", String_.new_u8(src, join.Itm_pos_bgn(), join.Itm_pos_end())); file_bfr.Add_mid(src, pipe_pos + 1, itm_end - 1).Add_byte_pipe(); file_bfr.Add(key_bry).Add_byte_nl(); } private Bry_bfr file_bfr = Bry_bfr.new_(); public void Flush() { - Io_mgr._.SaveFilBfr(dump_url_gen.Nxt_url(), file_bfr); + Io_mgr.I.SaveFilBfr(dump_url_gen.Nxt_url(), file_bfr); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr.java index 99b8fbf61..cea0e97f4 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr.java @@ -27,7 +27,7 @@ public class Xoctg_link_idx_wkr extends Xob_idx_base { // NOTE: similar function if (make_fil_max == Int_.MinValue) make_fil_max = Io_mgr.Len_mb; make_link_mgr = new Xoctg_make_link_mgr(usr_dlg, make_fil_max, wiki.Tdb_fsys_mgr()); make_main_mgr = new Xoctg_make_main_mgr(usr_dlg, make_fil_max, wiki.Tdb_fsys_mgr()); - Io_mgr._.DeleteDirDeep_ary(make_link_mgr.Make_dir(), make_main_mgr.Make_dir()); + Io_mgr.I.DeleteDirDeep_ary(make_link_mgr.Make_dir(), make_main_mgr.Make_dir()); } Gfo_fld_rdr fld_rdr; Xoctg_make_link_mgr make_link_mgr; @Override public void Cmd_run() { Xoctg_make_link_grp cur_grp = null; @@ -55,7 +55,7 @@ public class Xoctg_link_idx_wkr extends Xob_idx_base { // NOTE: similar function make_main_mgr.Flush(); } private Xoctg_idx_data_link link_data = new Xoctg_idx_data_link(); @Override public void Cmd_end() { - if (delete_temp) Io_mgr._.DeleteDirDeep_ary(src_link_dir, make_main_mgr.Src_dir()); + if (delete_temp) Io_mgr.I.DeleteDirDeep_ary(src_link_dir, make_main_mgr.Src_dir()); } boolean delete_temp = true; private void Write_grp(byte[] cur_name, Xoctg_make_link_mgr make_link_mgr) { make_main_mgr.Grps_write(cur_name, make_link_mgr.Subc_grp().Count(), make_link_mgr.File_grp().Count(), make_link_mgr.Page_grp().Count()); @@ -161,7 +161,7 @@ class Xoctg_make_main_mgr { make_dir = fsys_mgr.Url_site_dir(Xotdb_dir_info_.Tid_category2_main); make_cmd = new Xob_make_cmd_site(usr_dlg, make_dir, make_fil_max); src_dir = fsys_mgr.Tmp_dir().GenSubDir_nest(Xob_cmd_keys.Key_tdb_cat_hidden_ttl, "make"); - hidden_rdr = new Io_line_rdr(usr_dlg, Io_mgr._.QueryDir_fils(src_dir)); + hidden_rdr = new Io_line_rdr(usr_dlg, Io_mgr.I.QueryDir_fils(src_dir)); } Gfo_fld_wtr make_fld_wtr; Bry_bfr make_fil_bfr; int make_fil_max; Xob_make_cmd_site make_cmd; Io_line_rdr hidden_rdr; public Io_url Src_dir() {return src_dir;} Io_url src_dir; public Io_url Make_dir() {return make_dir;} Io_url make_dir; diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr_tst.java index b5b90f899..91cccba34 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/ctgs/Xoctg_link_idx_wkr_tst.java @@ -53,7 +53,7 @@ public class Xoctg_link_idx_wkr_tst { ( "0|Ctg_1|Ctg_2|2" )) ; - byte[] ctg_name = Bry_.new_ascii_("Ctg_1"); + byte[] ctg_name = Bry_.new_a7("Ctg_1"); Xoctg_data_ctg main = new Xoctg_data_ctg(ctg_name); fxt.Wiki().Db_mgr().Load_mgr().Load_ctg_v2(main, ctg_name); Tfds.Eq(1, main.Grp_by_tid(Xoa_ctg_mgr.Tid_subc).Total()); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_exec_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_exec_cmd.java index 5f65905ae..7cf152ab7 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_exec_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_exec_cmd.java @@ -31,7 +31,7 @@ public class Xob_diff_regy_exec_cmd extends Xob_itm_basic_base implements Xob_cm if (sql_dir == null) sql_dir = wiki.Ctx().App().Fsys_mgr().File_dir().GenSubDir_nest(wiki.Domain_str(), "tmp_sql"); Xob_diff_regy_sql_runner runner = new Xob_diff_regy_sql_runner(); - Io_url[] urls = Io_mgr._.QueryDir_fils(sql_dir); + Io_url[] urls = Io_mgr.I.QueryDir_fils(sql_dir); int urls_len = urls.length; for (int i = 0; i < urls_len; ++i) runner.Exec(app, urls[i]); @@ -60,10 +60,10 @@ class Xob_diff_regy_sql_runner { fsdb_db_tid = Fsdb_db_tid_.Xto_tid(parts[2]); } public void Run_sql(Xoae_app app) { - Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_null(Bry_.new_utf8_(wiki_domain)); + Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_null(Bry_.new_u8(wiki_domain)); app.Usr_dlg().Prog_many("", "", "running sql: url=~{0}", url.NameAndExt()); Db_conn conn = Get_conn(wiki, fsdb_db_id, fsdb_db_tid); - conn.Exec_sql(Io_mgr._.LoadFilStr(url)); + conn.Exec_sql(Io_mgr.I.LoadFilStr(url)); if (fsdb_db_tid == Fsdb_db_tid_.Tid_bin) conn.Exec_sql("VACUUM;"); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_make_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_make_cmd.java index e1a0300b0..bbf7809ee 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_make_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_diff_regy_make_cmd.java @@ -71,22 +71,22 @@ public class Xob_diff_regy_make_cmd extends Xob_itm_basic_base implements Xob_cm } private void Make_delete_sql_file(Bry_bfr bfr, Io_url sql_dir, int db_id, int cur_count, byte db_tid) { if (db_id != -1 && cur_count > 0) { // do not write 1st bfr - bfr.Add_str("COMMIT;\n"); + bfr.Add_str_a7("COMMIT;\n"); String sql_url_name = String_.Format("{0}-{1}-{2}.sql", wiki.Domain_str(), Int_.Xto_str_pad_bgn_zero(db_id, 3), Fsdb_db_tid_.Xto_key(db_tid)); Io_url sql_url = sql_dir.GenSubFil(sql_url_name); - Io_mgr._.SaveFilBfr(sql_url, bfr); + Io_mgr.I.SaveFilBfr(sql_url, bfr); } bfr.Clear(); // clear bfr if cur_count == 0 - bfr.Add_str("BEGIN TRANSACTION;\n"); + bfr.Add_str_a7("BEGIN TRANSACTION;\n"); } private void Make_delete_sql_item(Bry_bfr atr_bfr, Bry_bfr bin_bfr, byte diff_is_orig, int diff_db_id, int diff_fil_id, int diff_thm_id) { if (diff_is_orig == Byte_.Zero) { - atr_bfr.Add_str("DELETE FROM fsdb_xtn_thm WHERE thm_id = " + Int_.Xto_str(diff_thm_id) + ";\n"); - bin_bfr.Add_str("DELETE FROM fsdb_bin WHERE bin_owner_id = " + Int_.Xto_str(diff_thm_id) + ";\n"); + atr_bfr.Add_str_a7("DELETE FROM fsdb_xtn_thm WHERE thm_id = " + Int_.Xto_str(diff_thm_id) + ";\n"); + bin_bfr.Add_str_a7("DELETE FROM fsdb_bin WHERE bin_owner_id = " + Int_.Xto_str(diff_thm_id) + ";\n"); } else { - atr_bfr.Add_str("UPDATE fsdb_fil SET fil_bin_db_id = -1 WHERE fil_id = " + Int_.Xto_str(diff_fil_id) + ";\n"); - bin_bfr.Add_str("DELETE FROM fsdb_bin WHERE bin_owner_id = " + Int_.Xto_str(diff_fil_id) + ";\n"); + atr_bfr.Add_str_a7("UPDATE fsdb_fil SET fil_bin_db_id = -1 WHERE fil_id = " + Int_.Xto_str(diff_fil_id) + ";\n"); + bin_bfr.Add_str_a7("DELETE FROM fsdb_bin WHERE bin_owner_id = " + Int_.Xto_str(diff_fil_id) + ";\n"); } } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_fsdb_make_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_fsdb_make_cmd.java index a6fd97882..e24aabef9 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_fsdb_make_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_fsdb_make_cmd.java @@ -34,8 +34,8 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { public Xob_fsdb_make_cmd(Xob_bldr bldr, Xowe_wiki wiki) { this.Cmd_ctor(bldr, wiki); this.poll_mgr = new Xobu_poll_mgr(bldr.App()); - wiki.File__fsdb_mode().Tid_make_y_(); - this.src_bin_mgr = new Xof_bin_mgr(new Fsm_mnt_mgr(), wiki.File__repo_mgr(), app.File__cache_mgr(), app.File__img_mgr().Wkr_resize_img()); + wiki.File__fsdb_mode().Tid_v2_bld_y_(); + this.src_bin_mgr = new Xof_bin_mgr(new Fsm_mnt_mgr(), wiki.File__repo_mgr(), app.File__img_mgr().Wkr_resize_img(), app.Wmf_mgr().Download_wkr().Download_xrg().Download_fmt()); } public String Cmd_key() {return Xob_cmd_keys.Key_file_fsdb_make;} public void Cmd_bgn(Xob_bldr bldr) { @@ -65,7 +65,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { // trg_mnt_itm this.trg_bin_db_max = app.Api_root().Bldr().Wiki().Import().File_db_max(); Fsdb_db_mgr trg_db_mgr = Fsdb_db_mgr_.new_detect(wiki, wiki.Fsys_mgr().Root_dir(), wiki.Fsys_mgr().File_dir()); - if (trg_db_mgr == null) trg_db_mgr = Fsdb_db_mgr__v2_bldr.I.Make(wiki, Bool_.Y); + if (trg_db_mgr == null) trg_db_mgr = Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, Bool_.Y); Fsm_mnt_mgr trg_mnt_mgr = new Fsm_mnt_mgr(); trg_mnt_mgr.Ctor_by_load(trg_db_mgr); trg_mnt_mgr.Mnts__get_insert_idx_(Fsm_mnt_mgr.Mnt_idx_main); // NOTE: do not delete; mnt_mgr default to Mnt_idx_user; DATE:2014-04-25 this.trg_mnt_itm = trg_mnt_mgr.Mnts__get_insert(); @@ -85,7 +85,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { int total_pending = Xob_xfer_regy_tbl.Select_total_pending(bldr_conn); // if (total_pending > 250000 && src_bin_mgr__fsdb_version == null) usr_dlg.Note_many("", "", "total pending: ~{0}", total_pending); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); boolean loop = true; while (loop) { byte rslt = Select_fsdb_itms(list); @@ -106,7 +106,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { int len = list.Count(); usr_dlg.Prog_many("", "", "fetched pages: ~{0}", len); for (int i = 0; i < len; ++i) { - Xodb_tbl_oimg_xfer_itm fsdb = (Xodb_tbl_oimg_xfer_itm)list.FetchAt(i); + Xodb_tbl_oimg_xfer_itm fsdb = (Xodb_tbl_oimg_xfer_itm)list.Get_at(i); Download_itm(fsdb); if ( exit_now || exec_count >= exec_count_max @@ -131,7 +131,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { } if (exec_done) { bldr_cfg_tbl.Delete_grp(Cfg_fsdb_make); // delete bmks for future reruns; DATE:2014-08-20 - Io_mgr._.DeleteFil_args(wiki.Fsys_mgr().Root_dir().GenSubFil("xowa.file.make.cfg.gfs")).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(wiki.Fsys_mgr().Root_dir().GenSubFil("xowa.file.make.cfg.gfs")).MissingFails_off().Exec(); } bldr_conn.Rls_conn(); } @@ -168,7 +168,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { page_id_val = page_id_bmk; lnki_id_val = lnki_id_bmk; } - private byte Select_fsdb_itms(ListAdp list) { + private byte Select_fsdb_itms(List_adp list) { list.Clear(); boolean pages_found = false, links_found = false; DataRdr rdr = Xob_xfer_regy_tbl.Select_by_tier_page(bldr_conn, tier_id_val, page_id_val, select_interval); @@ -193,7 +193,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { tier_id_val = fsdb.Lnki_tier_id(); page_id_val = fsdb.Lnki_page_id(); lnki_id_val = fsdb.Lnki_id(); - fsdb.Orig_repo_name_(fsdb.Orig_repo_id() == Xof_repo_itm.Repo_local ? wiki.Domain_bry() : Xow_domain_.Domain_bry_commons); + fsdb.Orig_repo_name_(fsdb.Orig_repo_id() == Xof_repo_itm_.Repo_local ? wiki.Domain_bry() : Xow_domain_.Domain_bry_commons); Download_exec(fsdb); ++exec_count; if (exec_count % progress_interval == 0) Print_progress(fsdb); @@ -203,7 +203,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { } catch (Exception exc) { ++exec_fail; - usr_dlg.Warn_many("", "", "download error; ttl=~{0} w=~{1} err=~{2}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), Err_.Message_gplx(exc)); + usr_dlg.Warn_many("", "", "download error; ttl=~{0} w=~{1} err=~{2}", fsdb.Orig_ttl(), fsdb.Lnki_w(), Err_.Message_gplx(exc)); } } private void Download_exec(Xodb_tbl_oimg_xfer_itm fsdb) { @@ -211,7 +211,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { try { if (src_rdr == Io_stream_rdr_.Null) { // download failed ++exec_fail; - usr_dlg.Warn_many("", "", "failed: ttl=~{0}", String_.Format("[[File:{0}|{1}px]]", fsdb.Lnki_ttl(), fsdb.Html_w())); + usr_dlg.Warn_many("", "", "failed: ttl=~{0}", String_.Format("[[File:{0}|{1}px]]", fsdb.Orig_ttl(), fsdb.Html_w())); Print_progress(fsdb); } else { // download passed @@ -219,7 +219,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { int lnki_tier_id = fsdb.Lnki_tier_id(); if ( src_rdr_len > download_size_max && !Int_.In(lnki_tier_id, download_keep_tier_ids)) { - usr_dlg.Warn_many("", "", "skipped; ttl=~{0} w=~{1} size=~{2} tier=~{3}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), src_rdr_len, lnki_tier_id); + usr_dlg.Warn_many("", "", "skipped; ttl=~{0} w=~{1} size=~{2} tier=~{3}", fsdb.Orig_ttl(), fsdb.Lnki_w(), src_rdr_len, lnki_tier_id); return; } if (trg_bin_fil == null) // no trg_bin_fil @@ -244,7 +244,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { this.trg_bin_fil = trg_mnt_itm.Bin_mgr().Dbs__make(trg_bin_fil_name); // create trg_bin_fil if (!trg_mnt_itm.Db_mgr().File__solo_file()) { Fsdb_db_file trg_bin_db = trg_mnt_itm.Db_mgr().File__bin_file__at(trg_mnt_itm.Id(), trg_bin_fil.Id(), trg_bin_fil_name); - Fsdb_db_mgr__v2_bldr.Make_cfg_data(wiki, trg_atr_fil.Url_rel(), trg_bin_db, Xowd_db_file_.Tid_file_data, trg_bin_fil.Id() + ListAdp_.Base1); + Fsdb_db_mgr__v2_bldr.Make_cfg_data(wiki, trg_atr_fil.Url_rel(), trg_bin_db, Xowd_db_file_.Tid_file_data, trg_bin_fil.Id() + List_adp_.Base1); trg_bin_fil.Conn().Txn_bgn(); } } @@ -264,7 +264,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { } private void Print_progress(Xodb_tbl_oimg_xfer_itm itm) { int time_elapsed = Env_.TickCount_elapsed_in_sec(time_bgn); - usr_dlg.Prog_many("", "", "prog: num=~{0} err=~{1} time=~{2} rate=~{3} page=~{4} lnki=~{5} ttl=~{6}", exec_count, exec_fail, time_elapsed, Math_.Div_safe_as_int(exec_count, time_elapsed), page_id_val, lnki_id_val, String_.new_utf8_(itm.Orig_ttl())); + usr_dlg.Prog_many("", "", "prog: num=~{0} err=~{1} time=~{2} rate=~{3} page=~{4} lnki=~{5} ttl=~{6}", exec_count, exec_fail, time_elapsed, Math_.Div_safe_as_int(exec_count, time_elapsed), page_id_val, lnki_id_val, itm.Orig_ttl()); } private void Delete_files() {}// TODO: purge /xowa/file/ dir to free up hard disk space public void Cmd_init(Xob_bldr bldr) {} @@ -289,7 +289,7 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { else if (ctx.Match(k, Invk_src_bin_mgr__cache_enabled_)) src_bin_mgr__cache_enabled = m.ReadYn("v"); else if (ctx.Match(k, Invk_poll_mgr)) return poll_mgr; else if (ctx.Match(k, Invk_download_keep_tier_ids)) download_keep_tier_ids = Int_.Ary_parse(m.ReadStr("v"), "|"); - else if (ctx.Match(k, Invk_download_size_max)) download_size_max = Io_size_.To_long_by_msg_mb(m); + else if (ctx.Match(k, Invk_download_size_max)) download_size_max = Io_size_.To_long_by_msg_mb(m, download_size_max); else return GfoInvkAble_.Rv_unhandled; return this; } @@ -330,7 +330,7 @@ class Xodb_tbl_oimg_xfer_itm extends Xof_fsdb_itm { public int Lnki_id() {re rv.lnki_id = rdr.ReadInt(Xob_xfer_regy_tbl.Fld_lnki_id); rv.lnki_page_id = rdr.ReadInt(Xob_xfer_regy_tbl.Fld_lnki_page_id); rv.lnki_tier_id = rdr.ReadInt(Xob_xfer_regy_tbl.Fld_lnki_tier_id); - rv.Ctor_by_fsdb_make + rv.Init_at_fsdb_make ( rdr.ReadBryByStr(Xob_xfer_regy_tbl.Fld_lnki_ttl) , rdr.ReadInt(Xob_xfer_regy_tbl.Fld_lnki_ext) , rdr.ReadInt(Xob_xfer_regy_tbl.Fld_file_w), rdr.ReadInt(Xob_xfer_regy_tbl.Fld_file_h) // set lnki_size; Xof_bin_mgr uses lnki_size @@ -360,7 +360,7 @@ class Xob_tier_namer { String ns_id = Int_.Xto_str_pad_bgn_zero(ns_ids[tier_id], 3); int db_id_int = db_ids[tier_id]; db_ids[tier_id] = db_id_int + 1; - String db_id = Int_.Xto_str_pad_bgn_zero(db_id_int + ListAdp_.Base1, 3); + String db_id = Int_.Xto_str_pad_bgn_zero(db_id_int + List_adp_.Base1, 3); return String_.Format("{0}-file-ns.{1}-db.{2}.xowa", domain_str, ns_id, db_id); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr.java index 311d398cc..3b33ebb09 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr.java @@ -64,8 +64,8 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink gplx.xowa.xtns.scores.Score_xnde.Log_wkr = log_mgr.Make_wkr(); gplx.xowa.xtns.hieros.Hiero_xnde.Log_wkr = log_mgr.Make_wkr(); Xof_fsdb_mgr__sql trg_fsdb_mgr = new Xof_fsdb_mgr__sql(); - wiki.File__fsdb_mode().Tid_make_y_(); - Fsdb_db_mgr__v2 fsdb_core = Fsdb_db_mgr__v2_bldr.I.Make(wiki, Bool_.Y); + wiki.File__fsdb_mode().Tid_v2_bld_y_(); + Fsdb_db_mgr__v2 fsdb_core = Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, Bool_.Y); trg_fsdb_mgr.Init_by_wiki(wiki); Fsm_mnt_mgr trg_mnt_mgr = trg_fsdb_mgr.Mnt_mgr(); wiki.File_mgr().Init_file_mgr_by_load(wiki); // must happen after fsdb.make @@ -106,12 +106,12 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink page.Root_(root); hdump_bldr.Insert_page(page); link_dump_cmd.Page_bgn(page.Revision_data().Id()); - ListAdp lnki_list = page.Redlink_lnki_list().Lnki_list(); + List_adp lnki_list = page.Redlink_lnki_list().Lnki_list(); int len = lnki_list.Count(); for (int i = 0; i < len; ++i) { - Xop_lnki_tkn lnki = (Xop_lnki_tkn)lnki_list.FetchAt(i); + Xop_lnki_tkn lnki = (Xop_lnki_tkn)lnki_list.Get_at(i); Xoa_ttl trg_ttl = lnki.Ttl(); - link_dump_cmd.Add(lnki.Html_id(), trg_ttl.Ns().Id(), trg_ttl.Page_db()); + link_dump_cmd.Add(lnki.Html_uid(), trg_ttl.Ns().Id(), trg_ttl.Page_db()); } } root.Clear(); @@ -143,7 +143,7 @@ public class Xob_lnki_temp_wkr extends Xob_dump_mgr_base implements Xopg_redlink byte[] ttl_commons = Xto_commons(ns_file_is_case_match_all, commons_wiki, ttl); if ( Xof_lnki_page.Null_n(lnki_page) // page set && Xof_lnki_time.Null_n(lnki_time)) // thumbtime set - usr_dlg.Warn_many("", "", "page and thumbtime both set; this may be an issue with fsdb: page=~{0} ttl=~{1}", ctx.Cur_page().Ttl().Page_db_as_str(), String_.new_utf8_(ttl)); + usr_dlg.Warn_many("", "", "page and thumbtime both set; this may be an issue with fsdb: page=~{0} ttl=~{1}", ctx.Cur_page().Ttl().Page_db_as_str(), String_.new_u8(ttl)); if (lnki.Ns_id() == Xow_ns_.Id_media) lnki_src_tid = Xob_lnki_src_tid.Tid_media; tbl.Insert_cmd_by_batch(ctx.Cur_page().Bldr__ns_ord(), ctx.Cur_page().Revision_data().Id(), ttl, ttl_commons, Byte_.By_int(ext.Id()), lnki.Lnki_type(), lnki_src_tid, lnki.W(), lnki.H(), lnki.Upright(), lnki_time, lnki_page); @@ -195,14 +195,14 @@ class Xob_lnki_temp_wkr_ { return rv; } private static int[] Ids_by_aliases(Xow_ns_mgr ns_mgr, String[] aliases) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int len = aliases.length; for (int i = 0; i < len; i++) { String alias = aliases[i]; if (String_.Eq(alias, Xow_ns_.Key_main)) list.Add(ns_mgr.Ns_main()); else { - Xow_ns ns = ns_mgr.Names_get_or_null(Bry_.new_utf8_(alias)); + Xow_ns ns = ns_mgr.Names_get_or_null(Bry_.new_u8(alias)); if (ns != null) list.Add(ns); } @@ -210,7 +210,7 @@ class Xob_lnki_temp_wkr_ { len = list.Count(); int[] rv = new int[len]; for (int i = 0; i < len; i++) { - rv[i] = ((Xow_ns)list.FetchAt(i)).Id(); + rv[i] = ((Xow_ns)list.Get_at(i)).Id(); } return rv; } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr_tst.java index bcf85cf5b..61e59f6d6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_lnki_temp_wkr_tst.java @@ -40,6 +40,6 @@ class Xob_lnki_temp_wkr_fxt { } public void Test_Xto_commons(String ttl, String expd) { - Tfds.Eq(expd, String_.new_utf8_(Xob_lnki_temp_wkr.Xto_commons(wiki_ns_file_is_case_match_all, commons_wiki, Bry_.new_utf8_(ttl)))); + Tfds.Eq(expd, String_.new_u8(Xob_lnki_temp_wkr.Xto_commons(wiki_ns_file_is_case_match_all, commons_wiki, Bry_.new_u8(ttl)))); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_tbl.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_tbl.java index 53ea0c7bc..d6f9d14c0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_tbl.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_tbl.java @@ -26,7 +26,7 @@ class Xob_orig_regy_tbl { Sqlite_engine_.Idx_create(usr_dlg, p, "orig_regy", Idx_ttl_local); Sqlite_engine_.Db_attach(p, "page_db", file_registry_db.Url().Raw()); Io_url repo_0_dir = repo_0_wiki.Fsys_mgr().Root_dir(), repo_1_dir = repo_1_wiki.Fsys_mgr().Root_dir(); - byte repo_0_tid = Xof_repo_itm.Repo_local, repo_1_tid = Xof_repo_itm.Repo_remote; + byte repo_0_tid = Xof_repo_itm_.Repo_local, repo_1_tid = Xof_repo_itm_.Repo_remote; boolean local_is_remote = Bry_.Eq(repo_0_wiki.Domain_bry(), repo_1_wiki.Domain_bry()); Xowe_wiki local_wiki = repo_0_wiki; if ( repo_0_is_remote // .gfs manually marked specifes repo_0 as remote @@ -34,8 +34,8 @@ class Xob_orig_regy_tbl { && local_is_remote // repo_0 = repo_1 ) ) { - repo_0_tid = Xof_repo_itm.Repo_remote; - repo_1_tid = Xof_repo_itm.Repo_local; + repo_0_tid = Xof_repo_itm_.Repo_remote; + repo_1_tid = Xof_repo_itm_.Repo_local; local_wiki = repo_1_wiki; } Create_data_for_repo(usr_dlg, p, local_wiki, Byte_.By_int(repo_0_tid), repo_0_dir.GenSubFil(Xob_db_file.Name__wiki_image)); @@ -51,7 +51,7 @@ class Xob_orig_regy_tbl { } private static void Create_data_for_repo(Gfo_usr_dlg usr_dlg, Db_conn conn, Xowe_wiki local_wiki, byte repo_tid, Io_url join) { usr_dlg.Note_many("", "", "inserting page for xowa.wiki.image: ~{0}", join.OwnerDir().NameOnly()); - boolean wiki_has_cs_file = repo_tid == Xof_repo_itm.Repo_remote && local_wiki.Ns_mgr().Ns_file().Case_match() == Xow_ns_case_.Id_all; + boolean wiki_has_cs_file = repo_tid == Xof_repo_itm_.Repo_remote && local_wiki.Ns_mgr().Ns_file().Case_match() == Xow_ns_case_.Id_all; String lnki_ttl_fld = wiki_has_cs_file ? "Coalesce(o.lnki_commons_ttl, o.lnki_ttl)" : "o.lnki_ttl"; // NOTE: use lnki_commons_ttl if [[File]] is cs PAGE:en.d:water EX:[[image:wikiquote-logo.png|50px|none|alt=]]; DATE:2014-09-05 if (wiki_has_cs_file) Sqlite_engine_.Idx_create(usr_dlg, conn, "orig_regy", Idx_ttl_remote); @@ -64,7 +64,7 @@ class Xob_orig_regy_tbl { private static void Create_data_for_cs(Gfo_usr_dlg usr_dlg, Db_conn p, Xowe_wiki local_wiki, Io_url repo_remote_dir) { p.Exec_sql(Xob_orig_regy_tbl.Sql_cs_mark_dupes); // orig_regy: find dupes; see note in SQL p.Exec_sql(Xob_orig_regy_tbl.Sql_cs_update_ttls); // orig_regy: update lnki_ttl with lnki_commons_ttl - Create_data_for_repo(usr_dlg, p, local_wiki, Xof_repo_itm.Repo_remote, repo_remote_dir.GenSubFil(Xob_db_file.Name__wiki_image)); + Create_data_for_repo(usr_dlg, p, local_wiki, Xof_repo_itm_.Repo_remote, repo_remote_dir.GenSubFil(Xob_db_file.Name__wiki_image)); p.Exec_sql(Xob_lnki_regy_tbl.Sql_cs_mark_changed); // lnki_regy: update lnki_commons_flag p.Exec_sql(Xob_lnki_regy_tbl.Sql_cs_update_ttls); // lnki_regy: update cs } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_update_bmk_mgr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_update_bmk_mgr.java index eef6bb186..b518d42d1 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_update_bmk_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_orig_regy_update_bmk_mgr.java @@ -78,7 +78,7 @@ public class Xob_orig_regy_update_bmk_mgr implements GfoInvkAble { ns_dirty = false; } if (ttl_enable && ttl_dirty) { - Save(Cfg_ttl_prv, String_.new_utf8_(ttl_prv)); + Save(Cfg_ttl_prv, String_.new_u8(ttl_prv)); ttl_dirty = false; } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_cmd.java index 8050658d2..c794f44d7 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_cmd.java @@ -28,14 +28,14 @@ public class Xob_page_regy_cmd extends Xob_itm_basic_base implements Xob_cmd { commons_wiki.Init_assert(); if (build_commons) { Xob_page_regy_tbl.Reset_table(page_regy_provider); - Xob_page_regy_tbl.Create_data(bldr.Usr_dlg(), page_regy_provider, Xof_repo_itm.Repo_remote, commons_wiki); + Xob_page_regy_tbl.Create_data(bldr.Usr_dlg(), page_regy_provider, Xof_repo_itm_.Repo_remote, commons_wiki); Sqlite_engine_.Idx_create(usr_dlg, page_regy_provider, "repo_page", Xob_page_regy_tbl.Idx_main); } else { if (!Bry_.Eq(commons_wiki.Domain_bry(), wiki.Domain_bry())) { // skip local wiki if cur wiki is commons wiki.Init_assert(); Xob_page_regy_tbl.Delete_local(page_regy_provider); - Xob_page_regy_tbl.Create_data(bldr.Usr_dlg(), page_regy_provider, Xof_repo_itm.Repo_local, wiki); + Xob_page_regy_tbl.Create_data(bldr.Usr_dlg(), page_regy_provider, Xof_repo_itm_.Repo_local, wiki); } } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_tbl.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_tbl.java index a6a1a975e..450f0e18b 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_tbl.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_page_regy_tbl.java @@ -25,7 +25,7 @@ class Xob_page_regy_tbl { Create_data__insert_redirect(usr_dlg, p, repo_tid, wiki.Fsys_mgr().Root_dir().GenSubFil(Xob_db_file.Name__wiki_redirect)); } public static void Delete_local(Db_conn p) { - p.Exec_sql("DELETE FROM page_regy WHERE repo_id = " + Xof_repo_itm.Repo_local); + p.Exec_sql("DELETE FROM page_regy WHERE repo_id = " + Xof_repo_itm_.Repo_local); } private static void Create_data__insert_page(Gfo_usr_dlg usr_dlg, Db_conn cur, byte repo_tid, Io_url join) { usr_dlg.Note_many("", "", "inserting page: ~{0}", join.NameOnly()); @@ -34,7 +34,7 @@ class Xob_page_regy_tbl { Sqlite_engine_.Db_detach(cur, "page_db"); } private static void Create_data__insert_redirect(Gfo_usr_dlg usr_dlg, Db_conn cur, byte repo_tid, Io_url join) { - if (!Io_mgr._.ExistsFil(join)) return; // redirect_db will not exist when commons.wikimedia.org is set up on new machine + if (!Io_mgr.I.ExistsFil(join)) return; // redirect_db will not exist when commons.wikimedia.org is set up on new machine usr_dlg.Note_many("", "", "inserting redirect: ~{0}", join.OwnerDir().NameOnly()); Sqlite_engine_.Db_attach(cur, "redirect_db", join.Raw()); cur.Exec_sql(String_.Format(Sql_create_redirect, repo_tid)); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_regy_tbl.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_regy_tbl.java index b06896abb..efaeb1fc2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_regy_tbl.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_regy_tbl.java @@ -35,7 +35,7 @@ public class Xob_xfer_regy_tbl { public static DataRdr Select(Db_conn p, byte repo_id, byte[] ttl, int limit) { Db_qry qry = Db_qry_.select_().Cols_all_() .From_(Tbl_name) - .Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.mte_(Fld_orig_repo, repo_id), Db_crt_.mt_(Fld_lnki_ttl, String_.new_utf8_(ttl)), Db_crt_.eq_(Fld_xfer_status, 0))) + .Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.mte_(Fld_orig_repo, repo_id), Db_crt_.mt_(Fld_lnki_ttl, String_.new_u8(ttl)), Db_crt_.eq_(Fld_xfer_status, 0))) .OrderBy_many_(Fld_xfer_status, Fld_orig_repo, Fld_lnki_ttl, Fld_file_w) .Limit_(limit) ; diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm.java index cbd4698f2..5bda0d11e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm.java @@ -89,7 +89,7 @@ class Xob_xfer_temp_itm { if (String_.Eq(join_ttl, redirect_src)) // join_ttl is same as redirect_src; not a redirect; EX:(direct) join="A.png";redirect_src="A.png"; (redirect) join="A.png";redirect_src="B.png" (i.e.: B redirects to A) redirect_src = ""; // else { // redirect; make sure extension matches; EX: A.png redirects to B.png; lnki_ext will be .png (the lnki's ext); should be .png (the actual file's ext) -// Xof_ext join_ext = Xof_ext_.new_by_ttl_(Bry_.new_utf8_(join_ttl)); +// Xof_ext join_ext = Xof_ext_.new_by_ttl_(Bry_.new_u8(join_ttl)); // lnki_ext = join_ext.Id(); // } lnki_ext = orig_ext_id; diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm_tst.java index 163e68cd0..6c2957710 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_temp_itm_tst.java @@ -134,7 +134,7 @@ class Xob_xfer_temp_itm_fxt { public Xob_xfer_temp_itm_fxt Init_rdr_image() { GfoFldList flds = GfoFldList_.str_(Flds); nde = GfoNde_.vals_(flds, Object_.Ary - ( Xof_ext_.Id_png, 1, 1, Xof_repo_itm.Repo_remote + ( Xof_ext_.Id_png, 1, 1, Xof_repo_itm_.Repo_remote , "A.png", Xof_ext_.Id_png, "A.png", Xop_lnki_type.Id_thumb, Xob_lnki_src_tid.Tid_file , 220, 200, 1, 2, 440, 400, 3 , Xop_lnki_tkn.Upright_null, Xof_lnki_time.Null, Xof_lnki_page.Null diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_update_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_update_cmd.java index 002237fdf..24d82cec5 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_update_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_xfer_update_cmd.java @@ -41,8 +41,8 @@ public class Xob_xfer_update_cmd extends Xob_itm_basic_base implements Xob_cmd { // // rotate db // DateAdp wiki_date = wiki.Db_mgr().Dump_date_query(); // Io_url archive_url = prv_url.GenNewNameOnly("oimg_lnki_" + wiki_date.XtoStr_fmt("yyyyMMdd")); -// Io_mgr._.CopyFil(cur_file.Url(), archive_url, true); -// Io_mgr._.CopyFil(cur_file.Url(), prv_url, true); +// Io_mgr.I.CopyFil(cur_file.Url(), archive_url, true); +// Io_mgr.I.CopyFil(cur_file.Url(), prv_url, true); } public void Cmd_init(Xob_bldr bldr) {} public void Cmd_bgn(Xob_bldr bldr) {} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xobu_poll_mgr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xobu_poll_mgr.java index dfb02e6a3..8b559802c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xobu_poll_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xobu_poll_mgr.java @@ -22,9 +22,9 @@ public class Xobu_poll_mgr implements GfoInvkAble { private Io_url poll_file; public void Poll() { if (poll_file == null) poll_file = app.Fsys_mgr().Root_dir().GenSubFil("bldr_poll.gfs"); - if (!Io_mgr._.ExistsFil(poll_file)) return; // file doesn't exist - String poll_text = Io_mgr._.LoadFilStr(poll_file); - Io_mgr._.DeleteFil(poll_file); + if (!Io_mgr.I.ExistsFil(poll_file)) return; // file doesn't exist + String poll_text = Io_mgr.I.LoadFilStr(poll_file); + Io_mgr.I.DeleteFil(poll_file); app.Usr_dlg().Note_many("", "", "poll file found: ~{0}", poll_file.Raw()); app.Gfs_mgr().Run_str(poll_text); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java index 2e8213e86..b6c60f2c8 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_init_base.java @@ -27,7 +27,7 @@ public abstract class Xob_init_base implements Xob_cmd, GfoInvkAble { public abstract void Cmd_run_end(Xowe_wiki wiki); public void Cmd_init(Xob_bldr bldr) { // add other cmds; EX: wikidata bldr.Import_marker().Bgn(wiki); - if (wbase_enabled == Bool_.__byte) wbase_enabled = wiki.Domain_tid() == Xow_domain_.Tid_int_wikidata ? Bool_.Y_byte : Bool_.N_byte; // if wbase_enabled not explicitly set, set it to y if wiki is "www.wikidata.org" + if (wbase_enabled == Bool_.__byte) wbase_enabled = wiki.Domain_tid() == Xow_domain_type_.Tid_wikidata ? Bool_.Y_byte : Bool_.N_byte; // if wbase_enabled not explicitly set, set it to y if wiki is "www.wikidata.org" if (wbase_enabled == Bool_.Y_byte) // if wbase_enabled, auto-add wdata_wkrs bldr this.Cmd_ini_wdata(bldr, wiki); } @@ -36,7 +36,7 @@ public abstract class Xob_init_base implements Xob_cmd, GfoInvkAble { gplx.ios.Io_stream_rdr src_rdr = wiki.Import_cfg().Src_rdr(); usr_dlg.Plog_many("", "", "reading dump header: ~{0}", src_rdr.Url().Raw()); byte[] siteinfo_xml = Xob_siteinfo_parser.Siteinfo_extract(src_rdr); - Xob_siteinfo_parser.Siteinfo_parse(wiki, usr_dlg, String_.new_utf8_(siteinfo_xml)); + Xob_siteinfo_parser.Siteinfo_parse(wiki, usr_dlg, String_.new_u8(siteinfo_xml)); this.Cmd_run_end(wiki); // save site info } public void Cmd_end() { @@ -44,7 +44,7 @@ public abstract class Xob_init_base implements Xob_cmd, GfoInvkAble { if (wiki.Appe().Setup_mgr().Dump_mgr().Css_wiki_update()) { Io_url url = wiki.Appe().Fsys_mgr().Wiki_css_dir(wiki.Domain_str()).GenSubFil(Xoa_css_extractor.Css_wiki_name); usr_dlg.Log_many("", "", "deleting css: ~{0}", url.Raw()); - Io_mgr._.DeleteFil_args(url).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(url).MissingFails_off().Exec(); } } public void Cmd_term() {} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_search_base.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_search_base.java index c34de6dc6..2b7c6d01a 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_search_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/Xob_search_base.java @@ -20,7 +20,7 @@ import gplx.core.primitives.*; import gplx.ios.*; import gplx.xowa.wikis.data.*; import gplx.xowa.dbs.*; import gplx.xowa.tdbs.*; import gplx.xowa.wikis.data.tbls.*; public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_wkr, GfoInvkAble { - private final OrderedHash list = OrderedHash_.new_(); private Xol_lang lang; + private final Ordered_hash list = Ordered_hash_.new_(); private Xol_lang lang; public abstract String Wkr_key(); public abstract Io_make_cmd Make_cmd_site(); public void Wkr_ini(Xob_bldr bldr) {} @@ -58,11 +58,11 @@ public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_ dump_bfr.ClearAndReset(); Xobdc_merger.Ns(bldr.Usr_dlg(), tmp_wtr_mgr.Regy(), Xotdb_dir_info_.Name_search_ttl, temp_dir, make_dir, sort_mem_len, Io_line_rdr_key_gen_.first_pipe, this.Make_cmd_site()); tmp_wtr_mgr.Rls_all(); - if (delete_temp) Io_mgr._.DeleteDirDeep(temp_dir); + if (delete_temp) Io_mgr.I.DeleteDirDeep(temp_dir); } public void Wkr_print() {} // private static final int row_fixed_len = 5 + 1 + 1 + 1; // 5=rowId; 1=|; 1=NmsOrd; 1=| - public static byte[][] Split_ttl_into_words(Xol_lang lang, OrderedHash list, Bry_bfr bfr, byte[] ttl) { + public static byte[][] Split_ttl_into_words(Xol_lang lang, Ordered_hash list, Bry_bfr bfr, byte[] ttl) { if (lang != null) // null lang passed in by searcher ttl = lang.Case_mgr().Case_build_lower(ttl); int ttl_len = ttl.length; Bry_obj_ref word_ref = Bry_obj_ref.new_(Bry_.Empty); @@ -102,8 +102,8 @@ public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_ break; } } - byte[][] rv = (byte[][])list.Xto_ary(byte[].class); - list.Clear(); list.ResizeBounds(16); + byte[][] rv = (byte[][])list.To_ary(byte[].class); + list.Clear(); list.Resize_bounds(16); return rv; } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_cmd.java index 52eb6a0ea..fda13acb6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_page_cmd.java @@ -35,7 +35,7 @@ public class Xob_page_cmd extends Xob_itm_basic_base implements Xobd_wkr, GfoInv this.text_zip_mgr = Xoa_app_.Utl__zip_mgr(); text_zip_tid = import_cfg.Zip_tid_text(); this.ns_to_db_mgr = new Xob_ns_to_db_mgr(new Xob_ns_to_db_wkr__text(), db_mgr, import_cfg.Text_db_max()); if (redirect_id_enabled) { - this.redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), Xoa_app_.Utl__encoder_mgr().Url_ttl()).Create_table(); + this.redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), Xoa_app_.Utl__encoder_mgr().Http_url_ttl()).Create_table(); redirect_tbl.Conn().Txn_bgn(); } this.dg_match_mgr = app.Api_root().Bldr().Wiki().Filter().Dansguardian().New_mgr(wiki.Domain_str(), wiki.Fsys_mgr().Root_dir()); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_cmd.java index aa50845ba..05e5bb2c0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_cmd.java @@ -40,7 +40,7 @@ public class Xob_search_sql_cmd extends Xob_itm_basic_base implements Xob_cmd { try { Xol_lang lang = wiki.Lang(); Bry_bfr bfr = Bry_bfr.reset_(1024); - OrderedHash hash = OrderedHash_.new_(); + Ordered_hash hash = Ordered_hash_.new_(); int page_count = 0; String fld_page_id = page_tbl.Fld_page_id(), fld_page_ttl = page_tbl.Fld_page_title(); while (page_rdr.Move_next()) { @@ -56,7 +56,7 @@ public class Xob_search_sql_cmd extends Xob_itm_basic_base implements Xob_cmd { if ((page_count % commit_interval) == 0) Commit(search_conn); else if ((page_count % progress_interval) == 0) - usr_dlg.Prog_many("", "", "parse progress: count=~{0} last=~{1}", page_count, String_.new_utf8_(ttl)); + usr_dlg.Prog_many("", "", "parse progress: count=~{0} last=~{1}", page_count, String_.new_u8(ttl)); } this.Commit(search_conn); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_wkr.java index d12302e7c..25d28fd33 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_search_sql_wkr.java @@ -56,7 +56,7 @@ public class Xob_search_sql_wkr extends Xob_search_base implements Io_make_cmd { } class Xob_search_wkr extends Xob_itm_basic_base implements Xobd_wkr { private Xowd_db_file search_db; private Xowd_search_temp_tbl search_temp_tbl; - private Xol_lang lang; private final Bry_bfr tmp_bfr = Bry_bfr.new_(255); private final OrderedHash list = OrderedHash_.new_bry_(); + private Xol_lang lang; private final Bry_bfr tmp_bfr = Bry_bfr.new_(255); private final Ordered_hash list = Ordered_hash_.new_bry_(); public String Wkr_key() {return Xob_cmd_keys.Key_text_search_wkr;} public void Wkr_ini(Xob_bldr bldr) {} public void Wkr_bgn(Xob_bldr bldr) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_term_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_term_cmd.java index c0cb9ba8f..cde36bddc 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_term_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/sqls/Xob_term_cmd.java @@ -21,13 +21,13 @@ public class Xob_term_cmd extends Xob_term_base { public Xob_term_cmd(Xob_bldr bldr, Xowe_wiki wiki) {this.Ctor(bldr, wiki); this.wiki = wiki;} private Xowe_wiki wiki; @Override public String Cmd_key() {return KEY;} public static final String KEY = "text.term"; @Override public void Cmd_end_hook() { - Io_mgr._.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir()); + Io_mgr.I.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir()); Db_cfg_tbl cfg_tbl = wiki.Data_mgr__core_mgr().Tbl__cfg(); cfg_tbl.Insert_bry(Xow_cfg_consts.Grp_wiki_init, "props.bldr_version", wiki.Props().Bldr_version()); cfg_tbl.Insert_bry(Xow_cfg_consts.Grp_wiki_init, "props.main_page", wiki.Props().Main_page()); cfg_tbl.Insert_bry(Xow_cfg_consts.Grp_wiki_init, "props.siteinfo_misc", wiki.Props().Siteinfo_misc()); cfg_tbl.Insert_bry(Xow_cfg_consts.Grp_wiki_init, "props.siteinfo_mainpage", wiki.Props().Siteinfo_mainpage()); -// gplx.fsdb.Fsdb_db_mgr__v2_bldr.I.Make(wiki);// bld wiki + gplx.fsdb.Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, false);// always build file.user db; DATE:2015-05-12 wiki.Data_mgr__core_mgr().Rls(); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java index 8f26c6f79..1bd244926 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_calc_stats_cmd.java @@ -49,7 +49,7 @@ public class Xob_calc_stats_cmd extends Xob_itm_basic_base implements Xob_cmd { } bfr.Add_byte_nl().Add_byte(Byte_ascii.Semic).Add_byte_nl(); Io_url wiki_gfs = Wiki_gfs_url(wiki); - Io_mgr._.SaveFilBfr(wiki_gfs, bfr); + Io_mgr.I.SaveFilBfr(wiki_gfs, bfr); } private void Gen_call(boolean first, Bry_bfr bfr, String key, Object... vals) { if (!first) bfr.Add_byte(Byte_ascii.Dot); @@ -80,7 +80,7 @@ public class Xob_calc_stats_cmd extends Xob_itm_basic_base implements Xob_cmd { return Calc_count_articles_dir(ns, hive_dir); } int Calc_count_articles_dir(Xow_ns ns, Io_url dir) { - Io_url[] subs = Io_mgr._.QueryDir_args(dir).DirInclude_().ExecAsUrlAry(); + Io_url[] subs = Io_mgr.I.QueryDir_args(dir).DirInclude_().ExecAsUrlAry(); int count = 0; int subs_len = subs.length; bldr.Usr_dlg().Prog_one(GRP_KEY, "count", "calculating: ~{0}", dir.Raw()); @@ -96,7 +96,7 @@ public class Xob_calc_stats_cmd extends Xob_itm_basic_base implements Xob_cmd { int Calc_count_articles_fil(Xow_ns ns, Io_url fil) { if (String_.Eq(fil.NameAndExt(), Xotdb_dir_info_.Name_reg_fil)) return 0; int rv = 0; - byte[] bry = Io_mgr._.LoadFilBry(fil); + byte[] bry = Io_mgr.I.LoadFilBry(fil); Xob_xdat_file xdat_file = new Xob_xdat_file().Parse(bry, bry.length, fil); Xowd_page_itm page = Xowd_page_itm.new_tmp(); int count = xdat_file.Count(); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_init_base_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_init_base_tst.java index ed8793df5..52ac7d8e6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_init_base_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_init_base_tst.java @@ -23,7 +23,7 @@ public class Xob_init_base_tst { Xoae_app app = fxt.App(); Xowe_wiki wiki = fxt.Wiki(); Xoa_available_wikis_mgr wikis_list = fxt.App().Gui_mgr().Html_mgr().Portal_mgr().Wikis(); Tfds.Eq("", wikis_list.Itms_as_html()); // assert - Xow_xwiki_itm xwiki_itm = app.User().Wiki().Xwiki_mgr().Add_full("en.wikipedia.org", "en.wikipedia.org"); + Xow_xwiki_itm xwiki_itm = app.Usere().Wiki().Xwiki_mgr().Add_full("en.wikipedia.org", "en.wikipedia.org"); xwiki_itm.Offline_(Bool_.Y); // simulate add via Available_from_fsys; DATE:2014-09-21 Tfds.Eq("", wikis_list.Itms_as_html()); // still empty new Xob_init_tdb(app.Bldr(), wiki).Cmd_end(); // mock "init" task @@ -36,7 +36,7 @@ class Xob_init_base_fxt { app = Xoa_app_fxt.app_(); wiki = Xoa_app_fxt.wiki_tst_(app); } - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); } public Xoae_app App() {return app;} private Xoae_app app; public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki; diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_make_id_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_make_id_wkr.java index 65747a365..f07d8696a 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_make_id_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_make_id_wkr.java @@ -26,12 +26,12 @@ public class Xob_make_id_wkr extends Xob_itm_dump_base implements Xobd_wkr, GfoI } public void Wkr_run(Xowd_page_itm page) { byte[] ttl = page.Ttl_page_db(); - if (dump_bfr.Len() + row_fixed_len + ttl.length > dump_fil_len) Io_mgr._.AppendFilBfr(dump_url_gen.Nxt_url(), dump_bfr); + if (dump_bfr.Len() + row_fixed_len + ttl.length > dump_fil_len) Io_mgr.I.AppendFilBfr(dump_url_gen.Nxt_url(), dump_bfr); Xotdb_page_itm_.Txt_id_save(dump_bfr, page); } public void Wkr_end() { this.Term_dump(new Xob_make_cmd_site(bldr.Usr_dlg(), make_dir, make_fil_len)); - if (delete_temp) Io_mgr._.DeleteDirDeep(temp_dir); + if (delete_temp) Io_mgr.I.DeleteDirDeep(temp_dir); } public void Wkr_print() {} static final int row_fixed_len = 25 + 1 + 7; // 25=5 base_85 flds; 1=Redirect; 7=dlm diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java index 87557755d..660c1abbd 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_page_txt.java @@ -25,7 +25,7 @@ public class Xob_page_txt extends Xob_itm_dump_base implements Xobd_wkr, GfoInvk redirect_mgr = wiki.Redirect_mgr(); page_storage_type = wiki.Appe().Setup_mgr().Dump_mgr().Data_storage_format(); fsys_mgr = wiki.Tdb_fsys_mgr(); make_dir = fsys_mgr.Ns_dir(); - if (Io_mgr._.QueryDir_args(make_dir).DirOnly_().ExecAsUrlAry().length > 0) throw bldr.Usr_dlg().Fail_many("xowa.bldr.itm", "dir_empty", "dir_must_be_empty: ~{0}", make_dir.Raw()); + if (Io_mgr.I.QueryDir_args(make_dir).DirOnly_().ExecAsUrlAry().length > 0) throw bldr.Usr_dlg().Fail_many("xowa.bldr.itm", "dir_empty", "dir_must_be_empty: ~{0}", make_dir.Raw()); this.Init_dump(Xob_cmd_keys.Key_tdb_make_page, make_dir); this.data_rpt_typ = stat_mgr.GetOrNew(Xotdb_dir_info_.Tid_page); ttl_wtr_mgr = new Xob_tmp_wtr_mgr(new Xob_tmp_wtr_wkr__ttl(temp_dir, dump_fil_len)); @@ -46,7 +46,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; + int file_idx = page_wtr.Fil_idx(), row_idx = page_wtr.Idx_pos() - List_adp_.LastIdxOffset; page.Text_db_id_(file_idx).Tdb_row_idx_(row_idx); if (ttl_wtr.FlushNeeded(Xotdb_page_itm_.Txt_ttl_len__fixed + ttl_len)) ttl_wtr.Flush(bldr.Usr_dlg()); Xotdb_page_itm_.Txt_ttl_save(ttl_wtr.Bfr(), id, file_idx, row_idx, redirect, text_len, ttl_wo_ns); @@ -56,7 +56,7 @@ public class Xob_page_txt extends Xob_itm_dump_base implements Xobd_wkr, GfoInvk ttl_wtr_mgr.Flush_all(bldr.Usr_dlg()); Xobdc_merger.Ns(bldr.Usr_dlg(), ttl_wtr_mgr.Regy(), Xotdb_dir_info_.Name_title, temp_dir, make_dir, sort_mem_len, Io_line_rdr_key_gen_.last_pipe, new Io_sort_cmd_ns(bldr.Usr_dlg())); ttl_wtr_mgr.Rls_all(); - if (delete_temp) Io_mgr._.DeleteDirDeep(temp_dir); + if (delete_temp) Io_mgr.I.DeleteDirDeep(temp_dir); } public void Wkr_print() {bldr.Usr_dlg().Note_many(GRP_KEY, "print", "~{0}", stat_mgr.Print(wiki.Ns_mgr()));} Xob_xdat_file_wtr Page_wtr_get(Xow_ns ns) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_search_base_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_search_base_tst.java index f03f29fe6..bcc43b42e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_search_base_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_search_base_tst.java @@ -46,11 +46,11 @@ public class Xob_search_base_tst { ; } private Xob_fxt fxt = new Xob_fxt().Ctor_mem(); private void tst_Split(String raw, String... expd) { - OrderedHash list = OrderedHash_.new_(); Bry_bfr bfr = Bry_bfr.new_(); - byte[][] actl_bry = Xob_search_base.Split_ttl_into_words(fxt.App().Lang_mgr().Lang_en(), list, bfr, Bry_.new_utf8_(raw)); + Ordered_hash list = Ordered_hash_.new_(); Bry_bfr bfr = Bry_bfr.new_(); + byte[][] actl_bry = Xob_search_base.Split_ttl_into_words(fxt.App().Lang_mgr().Lang_en(), list, bfr, Bry_.new_u8(raw)); String[] actl = new String[actl_bry.length]; for (int i = 0; i < actl_bry.length; i++) - actl[i] = String_.new_utf8_(actl_bry[i]); + actl[i] = String_.new_u8(actl_bry[i]); Tfds.Eq_ary(expd, actl); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_term_txt.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_term_txt.java index 5aedd2aa0..7f9409d86 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_term_txt.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_term_txt.java @@ -21,6 +21,6 @@ public class Xob_term_txt extends Xob_term_base { public Xob_term_txt(Xob_bldr bldr, Xowe_wiki wiki) {this.Ctor(bldr, wiki); this.wiki = wiki;} private Xowe_wiki wiki; @Override public String Cmd_key() {return Xob_cmd_keys.Key_tdb_core_term;} @Override public void Cmd_end_hook() { - Io_mgr._.SaveFilBry(wiki.Tdb_fsys_mgr().Cfg_wiki_core_fil(), wiki.Cfg_wiki_core().Build_gfs()); + Io_mgr.I.SaveFilBry(wiki.Tdb_fsys_mgr().Cfg_wiki_core_fil(), wiki.Cfg_wiki_core().Build_gfs()); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java index 505ce3d09..95d184149 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/texts/tdbs/Xob_tst.java @@ -171,16 +171,16 @@ public class Xob_tst { private void tst_Parse(String raw, String... expd) { Xoae_app app = Xoa_app_fxt.app_(); // NOTE: resets mem file system, so must happen first Io_url url = Io_url_.mem_fil_("mem/raw_page.csv"); - Io_mgr._.SaveFilStr(url, raw); + Io_mgr.I.SaveFilStr(url, raw); Xotdb_page_raw_parser parser = new Xotdb_page_raw_parser(); Xowe_wiki wiki = Xoa_app_fxt.wiki_tst_(app); - parser.Load(Gfo_usr_dlg_.Test(), wiki, new Xow_ns(Xow_ns_.Id_template, Xow_ns_case_.Id_1st, Bry_.new_utf8_("Template"), false), new Io_url[] {url}, 1 * Io_mgr.Len_kb); - ListAdp actl = ListAdp_.new_(); + parser.Load(Gfo_usr_dlg_.Test(), wiki, new Xow_ns(Xow_ns_.Id_template, Xow_ns_case_.Id_1st, Bry_.new_u8("Template"), false), new Io_url[] {url}, 1 * Io_mgr.Len_kb); + List_adp actl = List_adp_.new_(); Xowd_page_itm page = new Xowd_page_itm(); while (parser.Read(page)) { - actl.Add(String_.new_utf8_(page.Text())); + actl.Add(String_.new_u8(page.Text())); } - Tfds.Eq_ary(expd, actl.XtoStrAry()); + Tfds.Eq_ary(expd, actl.To_str_ary()); } @Test public void Img_gen() { /* diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_cleanup_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_cleanup_cmd.java index de5cd184b..f5f1b615d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_cleanup_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_cleanup_cmd.java @@ -31,11 +31,11 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { Io_url wiki_root_dir = wiki.Fsys_mgr().Root_dir(); if (bz2_fil != null) { if (String_.Eq(bz2_cmd, "delete")) - Io_mgr._.DeleteFil(bz2_fil); + Io_mgr.I.DeleteFil(bz2_fil); else if (String_.Eq(bz2_cmd, "move")) - Io_mgr._.MoveFil(bz2_fil, bz2_fil.OwnerDir().OwnerDir().GenSubFil_nest("done", bz2_fil.NameAndExt())); + Io_mgr.I.MoveFil(bz2_fil, bz2_fil.OwnerDir().OwnerDir().GenSubFil_nest("done", bz2_fil.NameAndExt())); } - if (delete_xml) Io_mgr._.DeleteFil(Xobd_rdr.Find_fil_by(wiki_root_dir, "*.xml")); + if (delete_xml) Io_mgr.I.DeleteFil(Xobd_rdr.Find_fil_by(wiki_root_dir, "*.xml")); if (delete_tdb) { usr_dlg.Note_many("", "", "bldr.wiki:deleting tdb wiki"); Delete_tdb(wiki_root_dir); @@ -43,11 +43,11 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { if (delete_sqlite3) Delete_wiki_sql(wiki); if (delete_all) - Io_mgr._.DeleteDir_cmd(wiki_root_dir).Exec(); // do not delete subdirs; needed to support "/prv" for fsdb; DATE:2015-04-01 + Io_mgr.I.DeleteDir_cmd(wiki_root_dir).Exec(); // do not delete subdirs; needed to support "/prv" for fsdb; DATE:2015-04-01 if (delete_by_match_ary != null) Delete_by_match(wiki_root_dir, delete_by_match_ary); if (delete_tmp) - Io_mgr._.DeleteDirDeep(wiki_root_dir.GenSubDir("tmp")); + Io_mgr.I.DeleteDirDeep(wiki_root_dir.GenSubDir("tmp")); } public void Cmd_init(Xob_bldr bldr) {} public void Cmd_bgn(Xob_bldr bldr) {} @@ -83,7 +83,7 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { } private static void Delete_by_match(Io_url dir, Criteria_ioMatch[] match_ary) { int match_len = match_ary.length; - Io_url[] subs = Io_mgr._.QueryDir_fils(dir); + Io_url[] subs = Io_mgr.I.QueryDir_fils(dir); int subs_len = subs.length; for (int i = 0; i < subs_len; i++) { Io_url sub = subs[i]; @@ -91,25 +91,25 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { Criteria_ioMatch match = match_ary[j]; if (match.Matches(sub)) { if (sub.Type_fil()) - Io_mgr._.DeleteFil(sub); + Io_mgr.I.DeleteFil(sub); } } } } private static void Delete_tdb(Io_url wiki_root_dir) { - Io_url[] dirs = Io_mgr._.QueryDir_args(wiki_root_dir).DirOnly_().DirInclude_().ExecAsUrlAry(); + Io_url[] dirs = Io_mgr.I.QueryDir_args(wiki_root_dir).DirOnly_().DirInclude_().ExecAsUrlAry(); int dirs_len = dirs.length; for (int i = 0; i < dirs_len; i++) { Io_url dir = dirs[i]; if (gplx.xowa.tdbs.Xotdb_dir_info_.Dir_name_is_tdb(dir.NameOnly())) - Io_mgr._.DeleteDirDeep(dir); + Io_mgr.I.DeleteDirDeep(dir); } } public static void Delete_wiki_sql(Xowe_wiki wiki) { Gfo_usr_dlg usr_dlg = wiki.Appe().Usr_dlg(); Io_url wiki_root_dir = wiki.Fsys_mgr().Root_dir(); if (wiki.Db_mgr().Tid() == gplx.xowa.dbs.Xodb_mgr_sql.Tid_sql) // NOTE: must check; if empty dir (or text db) than db_mgr will be txt wiki.Db_mgr_as_sql().Core_data_mgr().Rls(); // NOTE: if sqlite files, must rls; - Io_url[] files = Io_mgr._.QueryDir_fils(wiki_root_dir); + Io_url[] files = Io_mgr.I.QueryDir_fils(wiki_root_dir); int files_len = files.length; int deleted = 0; String file_prefix = wiki.Domain_str() + "-file"; // NOTE: skip anything with "-file"; EX: "en.wikipedia.org-file.xowa" @@ -122,7 +122,7 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { if ( String_.HasAtBgn(url.NameAndExt(), file_prefix) || String_.HasAtBgn(url.NameAndExt(), html_prefix) ) continue; // skip - Io_mgr._.DeleteFil(url); + Io_mgr.I.DeleteFil(url); deleted++; } usr_dlg.Note_many("", "delete_wiki", "deleting sqlite3 files: ~{0} ~{1}", deleted, wiki_root_dir.Raw()); diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_core_batch_utl.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_core_batch_utl.java index d6fbb6494..98d0b4058 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_core_batch_utl.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_core_batch_utl.java @@ -21,7 +21,7 @@ public class Xob_core_batch_utl implements GfoInvkAble { public Xob_core_batch_utl(Xob_bldr bldr, byte[] raw) {this.bldr = bldr; fmtr.Fmt_(raw);} private Xob_bldr bldr; Bry_fmtr fmtr = Bry_fmtr.keys_("bz2_fil", "wiki_key"); private void Run() { - Io_url[] bz2_fils = Io_mgr._.QueryDir_fils(bldr.App().Fsys_mgr().Wiki_dir().GenSubDir_nest(Dir_dump, "todo")); + Io_url[] bz2_fils = Io_mgr.I.QueryDir_fils(bldr.App().Fsys_mgr().Wiki_dir().GenSubDir_nest(Dir_dump, "todo")); Bry_bfr bfr = Bry_bfr.reset_(Io_mgr.Len_kb); int bz2_fils_len = bz2_fils.length; Xow_wiki_alias bz2_fil = new Xow_wiki_alias(); @@ -29,7 +29,7 @@ public class Xob_core_batch_utl implements GfoInvkAble { Io_url bz2_fil_url = bz2_fils[i]; 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("", "", "starting script for ~{0}", String_.new_utf8_(bz2_fil.Domain())); + bldr.Usr_dlg().Note_many("", "", "starting script for ~{0}", String_.new_u8(bz2_fil.Domain())); bldr.App().Gfs_mgr().Run_str(bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_decompress_bz2_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_decompress_bz2_cmd.java index cfe4df6cf..32ea46803 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_decompress_bz2_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_decompress_bz2_cmd.java @@ -23,7 +23,7 @@ public class Xob_decompress_bz2_cmd extends Xob_itm_basic_base implements Xob_cm public void Cmd_init(Xob_bldr bldr) {} public void Cmd_bgn(Xob_bldr bldr) {} public void Cmd_run() { - if (Io_mgr._.ExistsFil(trg)) return; // file already exists; don't decompress again + if (Io_mgr.I.ExistsFil(trg)) return; // file already exists; don't decompress again usr_dlg.Note_many(GRP_KEY, "bgn", "decompressing ~{0}", src.Raw(), trg.Raw()); Decompress(bldr.App(), src.Raw(), trg); } @@ -40,12 +40,12 @@ public class Xob_decompress_bz2_cmd extends Xob_itm_basic_base implements Xob_cm } Io_url src, trg; static final String GRP_KEY = "xowa.bldr.cmd.decompress_bz2"; public static boolean Decompress(Xoae_app app, String src_fil, Io_url trg_fil) { - Io_mgr._.CreateDirIfAbsent(trg_fil.OwnerDir()); // 7zip will fail if dir does not exist + Io_mgr.I.CreateDirIfAbsent(trg_fil.OwnerDir()); // 7zip will fail if dir does not exist ProcessAdp decompress = app.Prog_mgr().App_decompress_bz2(); decompress.Prog_dlg_(app.Usr_dlg()).Run_mode_(ProcessAdp.Run_mode_async); decompress.Run(src_fil, trg_fil, trg_fil.OwnerDir().Xto_api()); while (decompress.Exit_code() == ProcessAdp.Exit_init) { - String size = gplx.ios.Io_size_.Xto_str(Io_mgr._.QueryFil(trg_fil).Size()); + String size = gplx.ios.Io_size_.To_str(Io_mgr.I.QueryFil(trg_fil).Size()); app.Usr_dlg().Prog_many(GRP_KEY, "decompress", "decompressing: ~{0}", size); Thread_adp_.Sleep(1000); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_copy_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_copy_cmd.java index c8c5c62d7..20b5a9803 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_copy_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_copy_cmd.java @@ -35,14 +35,14 @@ public class Xob_deploy_copy_cmd extends Xob_itm_basic_base implements Xob_cmd, } public void Cmd_term() {} private void Copy_dir_ns(Io_url root, String name) { - Io_url[] ns_dirs = Io_mgr._.QueryDir_args(root).DirOnly_().ExecAsUrlAry(); + Io_url[] ns_dirs = Io_mgr.I.QueryDir_args(root).DirOnly_().ExecAsUrlAry(); for (int i = 0; i < ns_dirs.length; i++) { Io_url ns_dir = ns_dirs[i]; Io_url src_sub_dir = ns_dir.GenSubDir(name); String dir_name = name; if (zip) { Io_url src_zip_dir = ns_dir.GenSubDir(name + Xob_deploy_zip_cmd.Dir_zip_suffix); - if (Io_mgr._.ExistsDir(src_zip_dir)) { + if (Io_mgr.I.ExistsDir(src_zip_dir)) { src_sub_dir = src_zip_dir; dir_name = name + Xob_deploy_zip_cmd.Dir_zip_suffix; } @@ -57,7 +57,7 @@ public class Xob_deploy_copy_cmd extends Xob_itm_basic_base implements Xob_cmd, } private void Copy_dir(Io_url src, Io_url trg) { bldr.Usr_dlg().Prog_many(GRP_KEY, "copy", "copying to ~{1}", src.Xto_api(), trg.Xto_api()); - Io_mgr._.CopyDirDeep(src, trg); + Io_mgr.I.CopyDirDeep(src, trg); } boolean zip; Io_url trg_root_dir; @Override public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java index 4847776d8..9207480ef 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_deploy_zip_cmd.java @@ -30,7 +30,7 @@ public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd { try {wiki.Init_assert();} catch (Exception exc) {Log("failed to init wiki: ~{0}", Err_.Message_gplx_brief(exc));} Log("probing ns_dirs: ~{0}", wiki.Tdb_fsys_mgr().Ns_dir().Raw()); - Io_url[] ns_dirs = Io_mgr._.QueryDir_args(wiki.Tdb_fsys_mgr().Ns_dir()).DirOnly_().ExecAsUrlAry(); + Io_url[] ns_dirs = Io_mgr.I.QueryDir_args(wiki.Tdb_fsys_mgr().Ns_dir()).DirOnly_().ExecAsUrlAry(); for (Io_url ns_dir : ns_dirs) { Log("zipping dir: ~{0}", ns_dir.Raw()); String ns_num = ns_dir.NameOnly(); @@ -40,7 +40,7 @@ public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd { } private void Zip_ns(Xob_bldr bldr, Io_url root_dir, String type_name, String ns_name) { bldr.Usr_dlg().Prog_one(GRP_KEY, "scan", "scanning dir ~{0}", type_name); - Io_url[] fils = Io_mgr._.QueryDir_args(root_dir.GenSubDir(type_name)).Recur_().ExecAsUrlAry(); + Io_url[] fils = Io_mgr.I.QueryDir_args(root_dir.GenSubDir(type_name)).Recur_().ExecAsUrlAry(); int fils_len = fils.length; String fils_len_str = Int_.Xto_str_pad_bgn_zero(fils_len, 6); for (int i = 0; i < fils_len; i++) { @@ -48,11 +48,11 @@ public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd { bldr.Print_prog_msg(i, fils.length, -1, "zipping ~{0} ~{1} ~{2} of ~{3}", type_name, ns_name, Int_.Xto_str_pad_bgn_zero(i, 6), fils_len_str); Io_url trg_fil = Gen_trg(root_dir, fil, type_name); if (String_.Eq(fil.NameAndExt(), Xotdb_dir_info_.Name_reg_fil)) // do not zip reg.csv - Io_mgr._.CopyFil(fil, trg_fil, true); + Io_mgr.I.CopyFil(fil, trg_fil, true); else zip_mgr.Zip_fil(fil, trg_fil.GenNewExt(Xotdb_dir_info_.Ext_zip)); } - if (delete_dirs_page) Io_mgr._.DeleteDirDeep(root_dir.GenSubDir(type_name)); + if (delete_dirs_page) Io_mgr.I.DeleteDirDeep(root_dir.GenSubDir(type_name)); } public boolean Delete_dirs_page() {return delete_dirs_page;} public Xob_deploy_zip_cmd Delete_dirs_page_(boolean v) {delete_dirs_page = v; return this;} private boolean delete_dirs_page = true; Io_url Gen_trg(Io_url root_dir, Io_url fil, String type_name) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_unzip_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_unzip_wkr.java index 6540f33f7..f8fcb3c23 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_unzip_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_unzip_wkr.java @@ -34,7 +34,7 @@ public class Xob_unzip_wkr { else if (String_.Eq(src_ext, gplx.ios.Io_stream_.Ext_gz)) process = decompress_gz; else throw Err_.unhandled(src_ext); Io_url trg_owner_dir = trg.OwnerDir(); - Io_mgr._.CreateDirIfAbsent(trg_owner_dir); + Io_mgr.I.CreateDirIfAbsent(trg_owner_dir); process.Run_mode_(process_run_mode); process.Run(src, trg, trg_owner_dir.Xto_api()); } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_xml_dumper_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_xml_dumper_cmd.java new file mode 100644 index 000000000..a3eadb06b --- /dev/null +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_xml_dumper_cmd.java @@ -0,0 +1,65 @@ +/* +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.bldrs.cmds.utils; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.cmds.*; +import gplx.xowa.bldrs.xmls.*; +import gplx.xowa.dbs.*; import gplx.xowa.wikis.data.tbls.*; +public class Xob_xml_dumper_cmd implements Xob_cmd { + private final Xowe_wiki wiki; private final Gfo_usr_dlg usr_dlg; + private final Xob_xml_dumper xml_dumper = new Xob_xml_dumper(); private int commit_interval = 1000; + private Io_url dump_url; + public Xob_xml_dumper_cmd(Xob_bldr bldr, Xowe_wiki wiki) {this.wiki = wiki; this.usr_dlg = wiki.Appe().Usr_dlg();} + public String Cmd_key() {return Xob_cmd_keys.Key_util_xml_dump;} + public void Cmd_init(Xob_bldr bldr) { + dump_url = wiki.Fsys_mgr().Root_dir().GenSubFil(wiki.Domain_str() + "-dump.xml"); + Io_mgr.I.DeleteFil(dump_url); + } + public void Cmd_run() { + usr_dlg.Plog_many("", "", Cmd_key() + ":bgn;"); + String wiki_abrv = ""; + String main_page = String_.Format("https://{0}/wiki/{1}", wiki.Domain_str(), String_.new_u8(wiki.Props().Main_page())); + String ns_case = "first-letter"; // TODO: + xml_dumper.Write_root_bgn(wiki.Ns_mgr(), wiki.Domain_itm(), wiki_abrv, main_page, ns_case, "XOWA " + Xoa_app_.Version); + Xodb_page_rdr page_rdr = wiki.Db_mgr().Load_mgr().Get_page_rdr(wiki); + Xowd_page_itm page = new Xowd_page_itm(); + int page_count = 0; + try { + while (page_rdr.Move_next()) { + page_rdr.Read(page); + page.Ttl_(wiki.Ttl_parse(page.Ns_id(), page.Ttl_page_db())); + xml_dumper.Write_page(page); + if ((++page_count % commit_interval) == 0) Commit(); + } + } + catch (Exception e) {throw Err_.new_(Err_.Message_lang(e));} + finally {page_rdr.Rls();} + xml_dumper.Write_root_end(); + this.Commit(); + usr_dlg.Plog_many("", "", Cmd_key() + ":end;"); + } + private void Commit() { + Io_mgr.I.AppendFilStr(dump_url, xml_dumper.Bld_str()); + } + public void Cmd_bgn(Xob_bldr bldr) {} + public void Cmd_end() {} + public void Cmd_term() {} + public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { + if (ctx.Match(k, Invk_commit_interval_)) commit_interval = m.ReadInt("v"); + else return GfoInvkAble_.Rv_unhandled; + return this; + } private static final String Invk_commit_interval_ = "commit_interval_"; +} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd.java index 1873fbf5b..f153110a2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd.java @@ -61,7 +61,7 @@ public class Xob_image_cmd extends Xob_itm_dump_base implements Xob_cmd, GfoInvk tbl_image.Insert(stmt, cur_ttl, cur_media_type, cur_minor_mime, cur_size, cur_width, cur_height, cur_bits, cur_ext_id, cur_timestamp); ++commit_count; if ((commit_count % 10000) == 0) { - usr_dlg.Prog_many("", "", "committing: count=~{0} last=~{1}", commit_count, String_.new_utf8_(cur_ttl)); + usr_dlg.Prog_many("", "", "committing: count=~{0} last=~{1}", commit_count, String_.new_u8(cur_ttl)); conn.Txn_sav(); } break; @@ -80,7 +80,7 @@ public class Xob_image_cmd extends Xob_itm_dump_base implements Xob_cmd, GfoInvk public static int Calc_ext_id(Gfo_usr_dlg usr_dlg, byte[] file, byte[] media_type, byte[] minor_mime, int w, int h) { Xof_ext file_ext = Xof_ext_.new_by_ttl_(file); int file_ext_id = file_ext.Id(); Xof_ext mime_ext = Xof_mime_minor_.ext_(minor_mime); int mime_ext_id = mime_ext.Id(); - int media_type_id = Xof_media_type.Xto_byte(String_.new_utf8_(media_type)); + int media_type_id = Xof_media_type.Xto_byte(String_.new_u8(media_type)); if (file_ext_id != mime_ext_id) { // file_ext_id != mime_ext_id; EX: "A.png" actually has a minor_mime of "jpg" boolean update = false, notify = true; switch (file_ext_id) { @@ -102,7 +102,7 @@ public class Xob_image_cmd extends Xob_itm_dump_base implements Xob_cmd, GfoInvk file_ext_id = mime_ext_id; else { if (notify) - usr_dlg.Log_many("", "", "image.ext_calc.mismatch_exts: file=~{0} mime=~{1}", String_.new_utf8_(file), String_.new_utf8_(minor_mime)); + usr_dlg.Log_many("", "", "image.ext_calc.mismatch_exts: file=~{0} mime=~{1}", String_.new_u8(file), String_.new_u8(minor_mime)); } } if ( file_ext_id == Xof_ext_.Id_ogg // file_ext is ".ogg" @@ -111,7 +111,7 @@ public class Xob_image_cmd extends Xob_itm_dump_base implements Xob_cmd, GfoInvk if (w > 0 && h > 0) // some .ogg files are "VIDEO" but have 0 width, 0 height file_ext_id = Xof_ext_.Id_ogv; // manually specify ogv else - usr_dlg.Log_many("", "", "image.ext_calc.ogg_video_with_null_size: media_type=~{0} minor_mime=~{1} w=~{2} h=~{3} file=~{4}", String_.new_utf8_(media_type), String_.new_utf8_(minor_mime), w, h, String_.new_utf8_(file)); + usr_dlg.Log_many("", "", "image.ext_calc.ogg_video_with_null_size: media_type=~{0} minor_mime=~{1} w=~{2} h=~{3} file=~{4}", String_.new_u8(media_type), String_.new_u8(minor_mime), w, h, String_.new_u8(file)); } return file_ext_id; } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd_tst.java b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd_tst.java index f3738d152..9f66369e6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_image_cmd_tst.java @@ -38,10 +38,10 @@ class Xob_image_cmd_fxt { H_(h); return this; } - public Xob_image_cmd_fxt Name_(String v) {name = Bry_.new_ascii_(v); return this;} - public Xob_image_cmd_fxt Media_type_(String v) {media_type = Bry_.new_ascii_(v); return this;} + public Xob_image_cmd_fxt Name_(String v) {name = Bry_.new_a7(v); return this;} + public Xob_image_cmd_fxt Media_type_(String v) {media_type = Bry_.new_a7(v); return this;} public Xob_image_cmd_fxt Minor_mime_(byte[] v) {minor_mime = v; return this;} - public Xob_image_cmd_fxt Minor_mime_(String v) {return Minor_mime_(Bry_.new_ascii_(v));} + public Xob_image_cmd_fxt Minor_mime_(String v) {return Minor_mime_(Bry_.new_a7(v));} public Xob_image_cmd_fxt W_(int v) {w = v; return this;} public Xob_image_cmd_fxt H_(int v) {h = v; return this;} public Xob_image_cmd_fxt Test(int expd) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_redirect_cmd.java b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_redirect_cmd.java index 55378008e..59a8143f5 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_redirect_cmd.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/wikis/Xob_redirect_cmd.java @@ -32,8 +32,8 @@ public class Xob_redirect_cmd extends Xob_dump_mgr_base { @Override protected Db_conn Init_db_file() { this.db_mgr = wiki.Db_mgr_as_sql(); redirect_mgr = wiki.Redirect_mgr(); - encoder = Xoa_app_.Utl__encoder_mgr().Url_ttl(); - redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), Xoa_app_.Utl__encoder_mgr().Url_ttl()).Create_table(); + encoder = Xoa_app_.Utl__encoder_mgr().Http_url_ttl(); + redirect_tbl = new Xob_redirect_tbl(wiki.Fsys_mgr().Root_dir(), Xoa_app_.Utl__encoder_mgr().Http_url_ttl()).Create_table(); conn = redirect_tbl.Conn(); conn.Txn_bgn(); return conn; diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java index 941aa0a94..98cb0eb44 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_extractor.java @@ -20,7 +20,7 @@ import gplx.ios.*; import gplx.xowa.html.*; import gplx.xowa.wikis.*; import gplx.xowa.wikis.data.*; import gplx.xowa.files.downloads.*; public class Xoa_css_extractor { - public IoEngine_xrg_downloadFil Download_xrg() {return download_xrg;} private IoEngine_xrg_downloadFil download_xrg = Io_mgr._.DownloadFil_args("", Io_url_.Null); + public IoEngine_xrg_downloadFil Download_xrg() {return download_xrg;} private IoEngine_xrg_downloadFil download_xrg = Io_mgr.I.DownloadFil_args("", Io_url_.Empty); public Xoa_css_extractor Wiki_domain_(byte[] v) {wiki_domain = v; return this;} private byte[] wiki_domain; public Xoa_css_extractor Usr_dlg_(Gfo_usr_dlg v) {usr_dlg = v; return this;} private Gfo_usr_dlg usr_dlg; public Xoa_css_extractor Failover_dir_(Io_url v) {failover_dir = v; return this;} private Io_url failover_dir; @@ -37,9 +37,9 @@ public class Xoa_css_extractor { this.usr_dlg = app.Usr_dlg(); Xof_download_wkr download_wkr = app.Wmf_mgr().Download_wkr(); this.download_xrg = download_wkr.Download_xrg(); - css_img_downloader = new Xoa_css_img_downloader().Ctor(usr_dlg, download_wkr, Bry_.new_utf8_(protocol_prefix)); + css_img_downloader = new Xoa_css_img_downloader().Ctor(usr_dlg, download_wkr, Bry_.new_u8(protocol_prefix)); failover_dir = app.Fsys_mgr().Bin_any_dir().GenSubDir_nest("html", "xowa", "import"); - url_encoder = Xoa_app_.Utl__encoder_mgr().Url(); + url_encoder = Xoa_app_.Utl__encoder_mgr().Http_url(); } public void Install(Xow_wiki wiki, String css_key) { try { @@ -47,8 +47,8 @@ public class Xoa_css_extractor { Io_url css_comm_fil = wiki_html_dir.GenSubFil(Css_common_name); Io_url css_wiki_fil = wiki_html_dir.GenSubFil(Css_wiki_name); wiki.Html__page_wtr_mgr().Init_css_urls(css_comm_fil, css_wiki_fil); - if (wiki.Domain_tid() == Xow_domain_.Tid_int_home || Env_.Mode_testing()) return; // NOTE: do not download if home_wiki; also needed for TEST - if (Io_mgr._.ExistsFil(css_wiki_fil)) return; // css file exists; nothing to generate + if (wiki.Domain_tid() == Xow_domain_type_.Tid_home || Env_.Mode_testing()) return; // NOTE: do not download if home_wiki; also needed for TEST + if (Io_mgr.I.ExistsFil(css_wiki_fil)) return; // css file exists; nothing to generate wiki.App().Usr_dlg().Log_many("", "", "generating css for '~{0}'", wiki.Domain_str()); if (css_key != null) { if (Install_by_db(wiki, wiki_html_dir, css_key)) return; @@ -63,7 +63,7 @@ public class Xoa_css_extractor { } private void Install_by_wmf(Xowe_wiki wiki, Io_url wiki_html_dir) { opt_download_css_common = wiki.Appe().Setup_mgr().Dump_mgr().Css_commons_download(); - if (!wiki.Appe().User().Cfg_mgr().Security_mgr().Web_access_enabled()) opt_download_css_common = false; // if !web_access_enabled, don't download + if (!wiki.Appe().Usere().Cfg_mgr().Security_mgr().Web_access_enabled()) opt_download_css_common = false; // if !web_access_enabled, don't download this.wiki_domain = wiki.Domain_bry(); mainpage_url = "https://" + wiki.Domain_str(); // NOTE: cannot reuse protocol_prefix b/c "//" needs to be added manually; protocol_prefix is used for logo and images which have form of "//domain/image.png"; changed to https; DATE:2015-02-17 if (page_fetcher == null) page_fetcher = new Xow_page_fetcher_wiki(); @@ -98,7 +98,7 @@ public class Xoa_css_extractor { } private void Css_common_failover() { Io_url trg_fil = wiki_html_dir.GenSubFil(Css_common_name); - Io_mgr._.CopyFil(Css_common_failover_url(), trg_fil, true); + Io_mgr.I.CopyFil(Css_common_failover_url(), trg_fil, true); css_img_downloader.Chk(wiki_domain, trg_fil); } private void Css_common_download() { @@ -106,19 +106,19 @@ public class Xoa_css_extractor { Io_url trg_fil = wiki_html_dir.GenSubFil(Css_common_name); css_stylesheet_common_missing = !Css_scrape_setup(); if (css_stylesheet_common_missing) - Io_mgr._.CopyFil(Css_common_failover_url(), trg_fil, true); + Io_mgr.I.CopyFil(Css_common_failover_url(), trg_fil, true); else css_img_downloader.Chk(wiki_domain, trg_fil); } private Io_url Css_common_failover_url() { - Io_url css_commons_url = failover_dir.GenSubDir("xowa_common_override").GenSubFil_ary("xowa_common_", String_.new_utf8_(wiki_code), ".css"); - if (Io_mgr._.ExistsFil(css_commons_url)) return css_commons_url; // specific css exists for wiki; use it; EX: xowa_common_wiki_mediawikiwiki.css + Io_url css_commons_url = failover_dir.GenSubDir("xowa_common_override").GenSubFil_ary("xowa_common_", String_.new_u8(wiki_code), ".css"); + if (Io_mgr.I.ExistsFil(css_commons_url)) return css_commons_url; // specific css exists for wiki; use it; EX: xowa_common_wiki_mediawikiwiki.css return failover_dir.GenSubFil(lang_is_ltr ? Css_common_name_ltr : Css_common_name_rtl); } public void Css_wiki_setup() { boolean css_stylesheet_wiki_missing = true; Io_url trg_fil = wiki_html_dir.GenSubFil(Css_wiki_name); - if (Io_mgr._.ExistsFil(trg_fil)) return; // don't download if already there + if (Io_mgr.I.ExistsFil(trg_fil)) return; // don't download if already there css_stylesheet_wiki_missing = !Css_wiki_generate(trg_fil); if (css_stylesheet_wiki_missing) Failover(trg_fil); @@ -131,11 +131,11 @@ public class Xoa_css_extractor { Css_wiki_generate_section(bfr, Ttl_vector_css); 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); + Io_mgr.I.SaveFilBry(trg_fil, bry); return true; - } private static final byte[] Ttl_common_css = Bry_.new_ascii_("Common.css"), Ttl_vector_css = Bry_.new_ascii_("Vector.css"); + } private static final byte[] Ttl_common_css = Bry_.new_a7("Common.css"), Ttl_vector_css = Bry_.new_a7("Vector.css"); private boolean Css_wiki_generate_section(Bry_bfr bfr, byte[] ttl) { - byte[] page = page_fetcher.Fetch(Xow_ns_.Id_mediawiki, ttl); + byte[] page = page_fetcher.Get_by(Xow_ns_.Id_mediawiki, ttl); if (page == null) return false; if (bfr.Len() != 0) bfr.Add_byte_nl().Add_byte_nl(); // add "\n\n" between sections; !=0 checks against first Css_wiki_section_hdr.Bld_bfr_many(bfr, ttl); // add "/*XOWA:MediaWiki:Common.css*/\n" @@ -145,7 +145,7 @@ public class Xoa_css_extractor { public void Logo_setup() { boolean logo_missing = true; Io_url logo_url = wiki_html_dir.GenSubFil("logo.png"); - if (Io_mgr._.ExistsFil(logo_url)) return; // don't download if already there + if (Io_mgr.I.ExistsFil(logo_url)) return; // don't download if already there logo_missing = !Logo_download(logo_url); if (logo_missing) Failover(logo_url); @@ -165,7 +165,7 @@ public class Xoa_css_extractor { } private boolean Logo_copy_from_css(Io_url trg_fil) { Io_url commons_file = wiki_html_dir.GenSubFil(Css_common_name); - byte[] commons_src = Io_mgr._.LoadFilBry(commons_file); + byte[] commons_src = Io_mgr.I.LoadFilBry(commons_file); int bgn_pos = Bry_finder.Find_fwd(commons_src, Bry_mw_wiki_logo); if (bgn_pos == Bry_finder.Not_found) return false; bgn_pos += Bry_mw_wiki_logo.length; int end_pos = Bry_finder.Find_fwd(commons_src, Byte_ascii.Quote, bgn_pos + 1); if (end_pos == Bry_finder.Not_found) return false; @@ -173,10 +173,10 @@ public class Xoa_css_extractor { src_bry = Xob_url_fixer.Fix(wiki_domain, src_bry, src_bry.length); if (wiki_html_dir.Info().DirSpr_byte() == Byte_ascii.Backslash) src_bry = Bry_.Replace(src_bry, Byte_ascii.Slash, Byte_ascii.Backslash); - Io_url src_fil = wiki_html_dir.GenSubFil(String_.new_utf8_(src_bry)); - Io_mgr._.CopyFil(src_fil, trg_fil, true); + Io_url src_fil = wiki_html_dir.GenSubFil(String_.new_u8(src_bry)); + Io_mgr.I.CopyFil(src_fil, trg_fil, true); return true; - } private static final byte[] Bry_mw_wiki_logo = Bry_.new_ascii_(".mw-wiki-logo{background-image:url(\""); + } private static final byte[] Bry_mw_wiki_logo = Bry_.new_a7(".mw-wiki-logo{background-image:url(\""); private String Logo_find_src() { if (mainpage_html == null) return null; int main_page_html_len = mainpage_html.length; @@ -186,9 +186,9 @@ public class Xoa_css_extractor { logo_bgn += Logo_find_end.length; int logo_end = Bry_finder.Find_fwd(mainpage_html, Byte_ascii.Paren_end, logo_bgn, main_page_html_len); if (logo_bgn == Bry_.NotFound) return null; byte[] logo_bry = Bry_.Mid(mainpage_html, logo_bgn, logo_end); - return protocol_prefix + String_.new_utf8_(logo_bry); + return protocol_prefix + String_.new_u8(logo_bry); } - private static final byte[] Logo_find_bgn = Bry_.new_ascii_("
& css_url_bry = url_encoder.Decode(css_url_bry); // %2C -> %7C -> | css_url_bry = Bry_.Add(protocol_prefix_bry, css_url_bry); - rv.Add(String_.new_utf8_(css_url_bry)); + rv.Add(String_.new_u8(css_url_bry)); prv_pos = url_end; } - return rv.XtoStrAry(); - } private static final byte[] Css_find_bgn = Bry_.new_ascii_(" "//domain/a/b.css"; DATE:2014-02-03 - Io_mgr._.InitEngine_mem(); - Io_mgr._.SaveFilStr("mem/en.wikipedia.org/www/b.css", "imported_css"); + Io_mgr.I.InitEngine_mem(); + Io_mgr.I.SaveFilStr("mem/en.wikipedia.org/www/b.css", "imported_css"); fxt.Test_css_convert ( "x @import url(\"/www/b.css\") screen; z" // starts with "/" , String_.Concat_lines_nl @@ -115,9 +115,9 @@ public class Xoa_css_img_downloader_tst { ); } @Test public void Import_url_relative_skip() { // PURPOSE: if rel path, skip; "//site/a/b.css"; DATE:2014-02-03 - fxt.Downloader().Stylesheet_prefix_(Bry_.new_utf8_("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail - Io_mgr._.InitEngine_mem(); - Io_mgr._.SaveFilStr("mem//en.wikipedia.org/a/b.css", "imported_css"); + fxt.Downloader().Stylesheet_prefix_(Bry_.new_u8("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail + Io_mgr.I.InitEngine_mem(); + Io_mgr.I.SaveFilStr("mem//en.wikipedia.org/a/b.css", "imported_css"); fxt.Test_css_convert ( "x @import url(\"//en.wikipedia.org/a/b.css\") screen; z" // starts with "//" , String_.Concat_lines_nl @@ -130,8 +130,8 @@ public class Xoa_css_img_downloader_tst { ); } @Test public void Import_url_space() { // PURPOSE: some css has spaces; replace with underlines else fails when downloaded; EX: https://it.wikivoyage.org/w/index.php?title=MediaWiki:Container e Infobox.css&action=raw&ctype=text/css; DATE:2015-03-08 - Io_mgr._.InitEngine_mem(); - Io_mgr._.SaveFilStr("mem/www/b_c.css", "imported_css"); + Io_mgr.I.InitEngine_mem(); + Io_mgr.I.SaveFilStr("mem/www/b_c.css", "imported_css"); fxt.Test_css_convert ( "x @import url(\"mem/www/b c.css\") screen; z" , String_.Concat_lines_nl @@ -144,9 +144,9 @@ public class Xoa_css_img_downloader_tst { ); } @Test public void Wikisource_freedimg() { // PURPOSE: check that "wikimedia" is replaced for FreedImg hack; PAGE:en.s:Page:Notes_on_Osteology_of_Baptanodon._With_a_Description_of_a_New_Species.pdf/3 DATE:2014-09-06 - fxt.Downloader().Stylesheet_prefix_(Bry_.new_utf8_("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail - Io_mgr._.InitEngine_mem(); - Io_mgr._.SaveFilStr("mem//en.wikisource.org/w/index.php?title=MediaWiki:Dynimg.css", ".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {"); + fxt.Downloader().Stylesheet_prefix_(Bry_.new_u8("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail + Io_mgr.I.InitEngine_mem(); + Io_mgr.I.SaveFilStr("mem//en.wikisource.org/w/index.php?title=MediaWiki:Dynimg.css", ".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {"); fxt.Test_css_convert ( "x @import url(\"//en.wikisource.org/w/index.php?title=MediaWiki:Dynimg.css\") screen; z" // starts with "//" , String_.Concat_lines_nl @@ -166,18 +166,18 @@ class Xoa_css_img_downloader_fxt { downloader.Ctor(Gfo_usr_dlg_.Test(), new Xof_download_wkr_test(), Bry_.Empty); } public void Test_css_convert(String raw, String expd, String... expd_img_ary) { - ListAdp actl_img_list = ListAdp_.new_(); - byte[] actl_bry = downloader.Convert_to_local_urls(Bry_.new_ascii_("mem/en.wikipedia.org"), Bry_.new_utf8_(raw), actl_img_list); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl_bry)); - Tfds.Eq_ary_str(expd_img_ary, actl_img_list.XtoStrAry()); + List_adp actl_img_list = List_adp_.new_(); + byte[] actl_bry = downloader.Convert_to_local_urls(Bry_.new_a7("mem/en.wikipedia.org"), Bry_.new_u8(raw), actl_img_list); + Tfds.Eq_str_lines(expd, String_.new_u8(actl_bry)); + Tfds.Eq_ary_str(expd_img_ary, actl_img_list.To_str_ary()); } public void Test_clean_img_url(String raw_str, String expd) { - byte[] raw = Bry_.new_ascii_(raw_str); + byte[] raw = Bry_.new_a7(raw_str); byte[] actl = downloader.Clean_img_url(raw, raw.length); - Tfds.Eq(expd, actl == null ? null : String_.new_ascii_(actl)); + Tfds.Eq(expd, actl == null ? null : String_.new_a7(actl)); } public void Test_import_url(String raw, String expd) { - byte[] actl = Xoa_css_img_downloader.Import_url_build(Bry_.new_ascii_("http:"), Bry_.new_ascii_("//en.wikipedia.org"), Bry_.new_utf8_(raw)); - Tfds.Eq(expd, String_.new_utf8_(actl)); + byte[] actl = Xoa_css_img_downloader.Import_url_build(Bry_.new_a7("http:"), Bry_.new_a7("//en.wikipedia.org"), Bry_.new_u8(raw)); + Tfds.Eq(expd, String_.new_u8(actl)); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__import.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__import.java index 585f3f737..29c778a11 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__import.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__import.java @@ -34,10 +34,10 @@ class Xob_css_parser__import { int semic_pos = Bry_finder.Find_fwd(src, Byte_ascii.Semic, frag.Pos_end(), src_len); return Xob_css_tkn__import.new_(tkn_bgn, semic_pos + 1, src_url, url_frag.Trg_url(), url_frag.Quote_byte()); } - private static final byte[] Tkn_url_bry = Bry_.new_ascii_("url("); + private static final byte[] Tkn_url_bry = Bry_.new_a7("url("); public static final byte[] - Wikisource_dynimg_ttl = Bry_.new_ascii_("en.wikisource.org/w/index.php?title=MediaWiki:Dynimg.css") - , Wikisource_dynimg_find = Bry_.new_ascii_(".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {") - , Wikisource_dynimg_repl = Bry_.new_ascii_(".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], /*XOWA:handle file:// paths which will have /commons.wikimedia.org/ but not /wikipedia/ */ .freedImg img[src*=\"wikimedia\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {") + Wikisource_dynimg_ttl = Bry_.new_a7("en.wikisource.org/w/index.php?title=MediaWiki:Dynimg.css") + , Wikisource_dynimg_find = Bry_.new_a7(".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {") + , Wikisource_dynimg_repl = Bry_.new_a7(".freedImg img[src*=\"wikipedia\"], .freedImg img[src*=\"wikisource\"], /*XOWA:handle file:// paths which will have /commons.wikimedia.org/ but not /wikipedia/ */ .freedImg img[src*=\"wikimedia\"], .freedImg img[src*=\"score\"], .freedImg img[src*=\"math\"] {") ; } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url.java index f3cabcdbb..5065bc1f8 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url.java @@ -35,9 +35,9 @@ class Xob_css_parser__url { } int end_pos = Bry_finder.Find_fwd(src, end_byte, bgn_pos, src_len); if (end_pos == Bry_.NotFound) // unclosed "url("; exit since nothing else will be found - return Xob_css_tkn__warn.new_(tkn_bgn, tkn_end, "mirror.parser.url:dangling; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_utf8_len_safe_(src, tkn_bgn, tkn_bgn + 128)); + return Xob_css_tkn__warn.new_(tkn_bgn, tkn_end, "mirror.parser.url:dangling; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_u8_by_len(src, tkn_bgn, tkn_bgn + 128)); if (end_pos - bgn_pos == 0) // empty; "url()"; ignore - return Xob_css_tkn__warn.new_(tkn_bgn, tkn_end, "mirror.parser.url:empty; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_utf8_len_safe_(src, tkn_bgn, tkn_bgn + 128)); + return Xob_css_tkn__warn.new_(tkn_bgn, tkn_end, "mirror.parser.url:empty; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_u8_by_len(src, tkn_bgn, tkn_bgn + 128)); byte[] url_orig = Bry_.Mid(src, bgn_pos, end_pos); int url_orig_len = url_orig.length; ++end_pos; // increment end_pos so rv will be after it; if ( end_byte != Byte_ascii.Paren_end) { // end_byte is apos / quote @@ -45,14 +45,14 @@ class Xob_css_parser__url { && src[end_pos] == Byte_ascii.Paren_end) ++end_pos; else - return Xob_css_tkn__warn.new_(tkn_bgn, end_pos, "mirror.parser.url:base64 dangling; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_utf8_(url_orig)); + return Xob_css_tkn__warn.new_(tkn_bgn, end_pos, "mirror.parser.url:base64 dangling; bgn=~{0} excerpt=~{1}", bgn_pos, String_.new_u8(url_orig)); } if (Bry_.HasAtBgn(url_orig, Bry_data_image)) // base64 return Xob_css_tkn__base64.new_(tkn_bgn, end_pos); byte[] src_url = Xob_url_fixer.Fix(site, url_orig, url_orig_len); if (src_url == null) // could not convert - return Xob_css_tkn__warn.new_(tkn_bgn, end_pos, "mirror.parser.url:invalid url; bgn=~{0} excerpt=~{1}", tkn_bgn, String_.new_utf8_(url_orig)); + return Xob_css_tkn__warn.new_(tkn_bgn, end_pos, "mirror.parser.url:invalid url; bgn=~{0} excerpt=~{1}", tkn_bgn, String_.new_u8(url_orig)); return Xob_css_tkn__url.new_(tkn_bgn, end_pos, src_url, quote_byte); } - private static final byte[] Bry_data_image = Bry_.new_ascii_("data:image/"); + private static final byte[] Bry_data_image = Bry_.new_a7("data:image/"); } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url_tst.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url_tst.java index f5449bc32..267e223a0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_parser__url_tst.java @@ -33,10 +33,10 @@ class Xob_css_parser__url_fxt { protected Xob_css_parser__url url_parser; private final Bry_bfr bfr = Bry_bfr.new_(32); protected Xob_css_tkn__base cur_frag; protected byte[] src_bry; @gplx.Virtual public void Clear() { - url_parser = new Xob_css_parser__url(Bry_.new_ascii_("site")); + url_parser = new Xob_css_parser__url(Bry_.new_a7("site")); } protected void Exec_parse(String src_str, int expd_tid, String expd_str) { - this.src_bry = Bry_.new_utf8_(src_str); + this.src_bry = Bry_.new_u8(src_str); this.Exec_parse_hook(); cur_frag.Write(bfr, src_bry); String actl_str = bfr.Xto_str_and_clear(); diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_tkn__base.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_tkn__base.java index ae4cc3def..b5aa3372c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_tkn__base.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_css_tkn__base.java @@ -59,11 +59,11 @@ class Xob_css_tkn__url extends Xob_css_tkn__base { public byte[] Src_url() {return src_url;} private byte[] src_url; public byte[] Trg_url() {return trg_url;} private byte[] trg_url; @Override public void Process(Xob_mirror_mgr mgr) { - mgr.File_hash().Add_if_new(src_url, new Xobc_download_itm(Xobc_download_itm.Tid_file, String_.new_utf8_(src_url), trg_url)); + mgr.File_hash().Add_if_dupe_use_1st(src_url, new Xobc_download_itm(Xobc_download_itm.Tid_file, String_.new_u8(src_url), trg_url)); } @Override public int Write(Bry_bfr bfr, byte[] src) { byte quote = quote_byte; if (quote == Byte_ascii.Nil) quote = Byte_ascii.Apos; - bfr.Add_str_ascii(" url("); // EX: ' url(' + bfr.Add_str_a7(" url("); // EX: ' url(' bfr.Add_byte(quote).Add(trg_url).Add_byte(quote); // EX: '"a.png"' bfr.Add_byte(Byte_ascii.Paren_end); // EX: ')' return pos_end; @@ -103,7 +103,7 @@ class Xob_css_tkn__import extends Xob_css_tkn__base { } @Override public int Write(Bry_bfr bfr, byte[] src) { byte quote = quote_byte; if (quote == Byte_ascii.Nil) quote = Byte_ascii.Apos; - bfr.Add_str_ascii(" @import url("); // EX: ' @import url(' + bfr.Add_str_a7(" @import url("); // EX: ' @import url(' bfr.Add_byte(quote).Add(trg_url).Add_byte(quote); // EX: '"a.png"' bfr.Add_byte(Byte_ascii.Paren_end); // EX: ')' return pos_end; diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr.java index 9f04baa98..ba1a7e234 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr.java @@ -29,30 +29,30 @@ public class Xob_mirror_mgr { public byte[] Site_url() {return site_url;} private final byte[] site_url; public void Code_add(byte[] src_url) { byte[] trg_url = Xob_css_tkn__url.To_fsys(src_url); - code_hash.Add_if_new(src_url, new Xobc_download_itm(Xobc_download_itm.Tid_css, String_.new_utf8_(src_url), trg_url)); + code_hash.Add_if_dupe_use_1st(src_url, new Xobc_download_itm(Xobc_download_itm.Tid_css, String_.new_u8(src_url), trg_url)); } - public OrderedHash Code_hash() {return code_hash;} private final OrderedHash code_hash = OrderedHash_.new_(); - public OrderedHash File_hash() {return file_hash;} private final OrderedHash file_hash = OrderedHash_.new_(); + public Ordered_hash Code_hash() {return code_hash;} private final Ordered_hash code_hash = Ordered_hash_.new_(); + public Ordered_hash File_hash() {return file_hash;} private final Ordered_hash file_hash = Ordered_hash_.new_(); public void Exec() { usr_dlg.Plog_many("", "", "html_mirror:download.root_page; url=~{0}", page_url); IoEngine_xrg_downloadFil download_xrg = download_wkr.Download_xrg(); - css_parser.Parse(download_xrg.Exec_as_bry(String_.new_utf8_(page_url))); + css_parser.Parse(download_xrg.Exec_as_bry(String_.new_u8(page_url))); while (true) { - Xobc_download_itm[] code_ary = (Xobc_download_itm[])code_hash.Xto_ary_and_clear(Xobc_download_itm.class); + Xobc_download_itm[] code_ary = (Xobc_download_itm[])code_hash.To_ary_and_clear(Xobc_download_itm.class); int code_ary_len = code_ary.length; if (code_ary_len == 0) break; for (int i = 0; i < code_ary_len; ++i) { Xobc_download_itm code = code_ary[i]; byte[] code_src = download_xrg.Exec_as_bry(code.Http_str()); - Io_mgr._.SaveFilBry(fsys_root.Gen_sub_path_for_os(String_.new_utf8_(code.Fsys_url())), code_src); + Io_mgr.I.SaveFilBry(fsys_root.Gen_sub_path_for_os(String_.new_u8(code.Fsys_url())), code_src); css_parser.Parse(code_src); } } - Xobc_download_itm[] file_ary = (Xobc_download_itm[])file_hash.Xto_ary_and_clear(Xobc_download_itm.class); + Xobc_download_itm[] file_ary = (Xobc_download_itm[])file_hash.To_ary_and_clear(Xobc_download_itm.class); int file_ary_len = file_ary.length; for (int i = 0; i < file_ary_len; ++i) { Xobc_download_itm file = file_ary[i]; - download_xrg.Init(file.Http_str(), Io_url_.new_fil_(fsys_root.Gen_sub_path_for_os(String_.new_utf8_(file.Fsys_url())))); + download_xrg.Init(file.Http_str(), Io_url_.new_fil_(fsys_root.Gen_sub_path_for_os(String_.new_u8(file.Fsys_url())))); download_xrg.Exec(); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr_tst.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr_tst.java index 89c35923b..740f837c1 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_mirror_mgr_tst.java @@ -33,16 +33,16 @@ class Xob_mirror_mgr_fxt { public Io_fsys_fxt Fsys() {return fsys;} private final Io_fsys_fxt fsys = new Io_fsys_fxt(); public void Clear() { fsys.Clear(); -// mirror_mgr = new Xob_mirror_mgr(Gfo_usr_dlg_.Noop, new Xof_download_wkr_test(), Bry_.new_ascii_("mem/http/enwiki"), Bry_.new_ascii_("mem/http/enwiki/wiki/Main_Page"), Io_url_.new_dir_("mem/fsys")); +// mirror_mgr = new Xob_mirror_mgr(Gfo_usr_dlg_.Noop, new Xof_download_wkr_test(), Bry_.new_a7("mem/http/enwiki"), Bry_.new_a7("mem/http/enwiki/wiki/Main_Page"), Io_url_.new_dir_("mem/fsys")); } public void Test_css(String raw, String expd) { -// byte[] raw_bry = Bry_.new_utf8_(raw); +// byte[] raw_bry = Bry_.new_u8(raw); // mirror_mgr.Exec(); } } class Io_fsys_fxt { public void Clear() { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); } public void Init_fil(String url_str) { Io_url url = Io_url_.new_fil_(url_str); @@ -50,7 +50,7 @@ class Io_fsys_fxt { } public void Init_fil(String url_str, String text) {Init_fil(Io_url_.new_fil_(url_str), text);} public void Init_fil(Io_url url, String text) { - Io_mgr._.SaveFilStr(url, text); + Io_mgr.I.SaveFilStr(url, text); } public void Test_fil(String url_str) { Io_url url = Io_url_.new_fil_(url_str); @@ -58,6 +58,6 @@ class Io_fsys_fxt { } public void Test_fil(String url, String expd) {Test_fil(Io_url_.new_fil_(url), expd);} public void Test_fil(Io_url url, String expd) { - Tfds.Eq_str_lines(expd, Io_mgr._.LoadFilStr(url)); + Tfds.Eq_str_lines(expd, Io_mgr.I.LoadFilStr(url)); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer.java index 88b889cec..25ace33da 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer.java @@ -69,7 +69,7 @@ class Xob_url_fixer_tkn { public int Tid() {return tid;} private int tid; public byte[] Raw() {return raw;} private byte[] raw; public int Raw_len() {return raw_len;} private int raw_len; - public static Xob_url_fixer_tkn new_(int tid, String raw) {return new Xob_url_fixer_tkn(tid, Bry_.new_utf8_(raw));} + public static Xob_url_fixer_tkn new_(int tid, String raw) {return new Xob_url_fixer_tkn(tid, Bry_.new_u8(raw));} private static void trie_add(Btrie_slim_mgr trie, int tid, String s) {trie.Add_obj(s, new_(tid, s));} public static final int Tid_bgn_slash_1 = 1, Tid_bgn_slash_2 = 2, Tid_bgn_http = 3, Tid_bgn_https = 4; diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer_tst.java b/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer_tst.java index 711133bde..154ef12d9 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xob_url_fixer_tst.java @@ -31,12 +31,12 @@ public class Xob_url_fixer_tst { @Test public void Site_only() {fxt.Test_fix("//site" , null);} } class Xob_url_fixer_fxt { - public void Site_(String v) {site_bry = Bry_.new_utf8_(v);} private byte[] site_bry; + public void Site_(String v) {site_bry = Bry_.new_u8(v);} private byte[] site_bry; public void Clear() { this.Site_("site"); } public void Test_fix(String raw, String expd) { - byte[] raw_bry = Bry_.new_utf8_(raw); - Tfds.Eq(expd, String_.new_utf8_(Xob_url_fixer.Fix(site_bry, raw_bry, raw_bry.length))); + byte[] raw_bry = Bry_.new_u8(raw); + Tfds.Eq(expd, String_.new_u8(Xob_url_fixer.Fix(site_bry, raw_bry, raw_bry.length))); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr.java b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr.java index 910f4f245..6ec4d0630 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr.java @@ -29,7 +29,7 @@ public class Xob_ttl_filter_mgr { public boolean Match_include(byte[] src) {return include_is_empty ? false : include_hash.Has(src);} public boolean Match_exclude(byte[] src) {return exclude_is_empty ? false : exclude_hash.Has(src);} public void Load(boolean exclude, Io_url url) { - byte[] src = Io_mgr._.LoadFilBry_loose(url); + byte[] src = Io_mgr.I.LoadFilBry_loose(url); if (Bry_.Len_gt_0(src)) Load(exclude, src); } public void Load(boolean exclude, byte[] src) { diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_srl_tst.java b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_srl_tst.java index b103b77e1..c0b3b16cf 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_srl_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_srl_tst.java @@ -43,12 +43,12 @@ class Xob_ttl_filter_mgr_srl_fxt { } public void Test_parse(String src, int expd_count, String... expd_itms) { mgr.Init(hash); - mgr.Load_by_bry(Bry_.new_utf8_(src)); + mgr.Load_by_bry(Bry_.new_u8(src)); Tfds.Eq(expd_count, hash.Count()); int expd_len = expd_itms.length; for (int i = 0; i < expd_len; ++i) { String expd_itm = expd_itms[i]; - Tfds.Eq_true(hash.Has(Bry_.new_utf8_(expd_itm))); + Tfds.Eq_true(hash.Has(Bry_.new_u8(expd_itm))); } } } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_tst.java b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_tst.java index 8542815d6..6f5b3f9b2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/core/Xob_ttl_filter_mgr_tst.java @@ -33,15 +33,15 @@ class Xob_ttl_filter_mgr_fxt { public void Clear() { mgr.Clear(); } - public void Init_load_exclude(String itm) {mgr.Load(Bool_.Y, Bry_.new_utf8_(itm));} - public void Init_load_include(String itm) {mgr.Load(Bool_.N, Bry_.new_utf8_(itm));} + public void Init_load_exclude(String itm) {mgr.Load(Bool_.Y, Bry_.new_u8(itm));} + public void Init_load_include(String itm) {mgr.Load(Bool_.N, Bry_.new_u8(itm));} public void Test_match_exclude_y(String... itms) {Test_match(Bool_.Y, Bool_.Y, itms);} public void Test_match_exclude_n(String... itms) {Test_match(Bool_.Y, Bool_.N, itms);} public void Test_match_include_y(String... itms) {Test_match(Bool_.N, Bool_.Y, itms);} public void Test_match_include_n(String... itms) {Test_match(Bool_.N, Bool_.N, itms);} private void Test_match(boolean exclude, boolean expd, String... itms) { for (String itm : itms) { - byte[] itm_bry = Bry_.new_utf8_(itm); + byte[] itm_bry = Bry_.new_u8(itm); if (exclude) Tfds.Eq(expd, mgr.Match_exclude(itm_bry), itm); else diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Crt__match_base.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Crt__match_base.java index 6bafdd312..f9808a564 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Crt__match_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Crt__match_base.java @@ -41,7 +41,7 @@ class Crt__match_exact implements Criteria { ary_len = v.length; } public void Val_as_obj_(Object v) {Val_as_bry_ary_((byte[][])v);} - public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_from_args(Hash_adp args) {throw Err_.not_implemented_();} public String XtoStr() {return String_.Concat_any(this.To_str_name(), " ", String_.Ary(ary));} public byte Tid_match_exact = 12; } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_file.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_file.java index 5821e81d7..9ffa78c1c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_file.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_file.java @@ -78,7 +78,7 @@ class Dg_word { Dg_word[] rv = new Dg_word[ary_len]; for (int i = 0; i < ary_len; ++i) { String raw = ary[i]; - rv[i] = new Dg_word(Bry_.new_utf8_(raw)); + rv[i] = new Dg_word(Bry_.new_u8(raw)); } return rv; } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr.java index 42f03df9c..05432dd80 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr.java @@ -21,8 +21,8 @@ import gplx.xowa.bldrs.filters.core.*; public class Dg_match_mgr { private int score_init, score_fail; private boolean log_enabled, case_match; private final Btrie_slim_mgr btrie = Btrie_slim_mgr.cs_(); - private final OrderedHash rules = OrderedHash_.new_bry_(); - private final OrderedHash rule_group_hash = OrderedHash_.new_bry_(), rule_tally_hash = OrderedHash_.new_bry_(); + private final Ordered_hash rules = Ordered_hash_.new_bry_(); + private final Ordered_hash rule_group_hash = Ordered_hash_.new_bry_(), rule_tally_hash = Ordered_hash_.new_bry_(); private final Dg_parser parser = new Dg_parser(); private final Xob_ttl_filter_mgr ttl_filter_mgr = new Xob_ttl_filter_mgr(); private final Dg_log_mgr log_mgr = new Dg_log_mgr(); @@ -61,7 +61,7 @@ public class Dg_match_mgr { } } private Dg_rule_group Get_rule_group_or_new(byte[] word) { - Dg_rule_group rv = (Dg_rule_group)rule_group_hash.Fetch(word); + Dg_rule_group rv = (Dg_rule_group)rule_group_hash.Get_by(word); if (rv == null) { rv = new Dg_rule_group(word); rule_group_hash.Add(word, rv); @@ -69,7 +69,7 @@ public class Dg_match_mgr { return rv; } private Dg_rule_tally Get_rule_tally_or_new(byte[] key, Dg_rule rule) { - Dg_rule_tally rv = (Dg_rule_tally)rule_tally_hash.Fetch(key); + Dg_rule_tally rv = (Dg_rule_tally)rule_tally_hash.Get_by(key); if (rv == null) { rv = new Dg_rule_tally(rule); rule_tally_hash.Add(key, rv); @@ -110,7 +110,7 @@ public class Dg_match_mgr { int rule_tally_len = rule_tally_hash.Count(); if (rule_tally_len == 0) return false; int rule_match_count = 0; for (int i = 0; i < rule_tally_len; ++i) { - Dg_rule_tally rule_tally = (Dg_rule_tally)rule_tally_hash.FetchAt(i); + Dg_rule_tally rule_tally = (Dg_rule_tally)rule_tally_hash.Get_at(i); int min_results = rule_tally.Results_pass_count(); if (min_results > 0) { int rule_score = rule_tally.Rule().Score(); @@ -132,10 +132,10 @@ public class Dg_match_mgr { class Dg_rule_group { public Dg_rule_group(byte[] word) {this.word = word;} public byte[] Word() {return word;} private final byte[] word; - public ListAdp Rules_list() {return rules_list;} private final ListAdp rules_list = ListAdp_.new_(); + public List_adp Rules_list() {return rules_list;} private final List_adp rules_list = List_adp_.new_(); public Dg_rule[] Rules_ary() { if (rules_ary == null) - rules_ary = (Dg_rule[])rules_list.Xto_ary_and_clear(Dg_rule.class); + rules_ary = (Dg_rule[])rules_list.To_ary_and_clear(Dg_rule.class); return rules_ary; } private Dg_rule[] rules_ary; } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr_tst.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr_tst.java index 5ed6930d0..e262d8e7d 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_match_mgr_tst.java @@ -27,7 +27,7 @@ public class Dg_match_mgr_tst { } class Dg_match_mgr_fxt { private Dg_match_mgr match_mgr; - private final ListAdp rule_list = ListAdp_.new_(); + private final List_adp rule_list = List_adp_.new_(); public void Clear() { Db_conn_bldr.I.Reg_default_mem(); Io_url root_dir = Io_url_.mem_dir_("mem/dg/"); @@ -35,7 +35,7 @@ class Dg_match_mgr_fxt { rule_list.Clear(); } public void Init_line(int score, String... words) { - Dg_rule line = new Dg_rule(-1, -1, -1, Dg_rule.Tid_rule, Bry_.new_ascii_("key"), score, Dg_word.Ary_new_by_str_ary(words)); + Dg_rule line = new Dg_rule(-1, -1, -1, Dg_rule.Tid_rule, Bry_.new_a7("key"), score, Dg_word.Ary_new_by_str_ary(words)); rule_list.Add(line); } public void Test_match_many_y(String... words) {Test_match_many(Bool_.Y, words);} @@ -49,10 +49,10 @@ class Dg_match_mgr_fxt { match_mgr.Clear(); int rule_list_len = rule_list.Count(); for (int j = 0; j < rule_list_len; ++j) { - Dg_rule rule = (Dg_rule)rule_list.FetchAt(j); + Dg_rule rule = (Dg_rule)rule_list.Get_at(j); match_mgr.Init_by_rule(rule); } - byte[] word_bry = Bry_.new_utf8_(word_str); + byte[] word_bry = Bry_.new_u8(word_str); Tfds.Eq(expd, match_mgr.Match(1, 101, 0, Bry_.Empty, Bry_.Empty, null, word_bry), (expd ? "pass:" : "fail:") + word_str); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser.java index 52066d8a1..b96280782 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser.java @@ -18,20 +18,20 @@ along with this program. If not, see . package gplx.xowa.bldrs.filters.dansguardians; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.filters.*; class Dg_parser { private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.I; private final Bry_bfr key_bldr = Bry_bfr.reset_(32); - private final ListAdp files = ListAdp_.new_(), lines = ListAdp_.new_(), words = ListAdp_.new_(); + private final List_adp files = List_adp_.new_(), lines = List_adp_.new_(), words = List_adp_.new_(); private int next_id = 0; public Dg_file[] Parse_dir(Io_url dir) { - Io_url[] fil_urls = Io_mgr._.QueryDir_args(dir).Recur_(true).ExecAsUrlAry(); + Io_url[] fil_urls = Io_mgr.I.QueryDir_args(dir).Recur_(true).ExecAsUrlAry(); this.usr_dlg = Gfo_usr_dlg_.I; files.Clear(); int len = fil_urls.length; for (int i = 0; i < len; ++i) { Io_url fil_url = fil_urls[i]; - byte[] fil_src = Io_mgr._.LoadFilBry_loose(fil_url); + byte[] fil_src = Io_mgr.I.LoadFilBry_loose(fil_url); Dg_file file = Parse_fil(i, fil_url.GenRelUrl_orEmpty(dir), fil_src); if (file != null) files.Add(file); } - return (Dg_file[])files.Xto_ary_and_clear(Dg_file.class); + return (Dg_file[])files.To_ary_and_clear(Dg_file.class); } private Dg_file Parse_fil(int file_idx, String rel_path, byte[] src) { int line_idx = 0; int line_bgn = 0; int src_len = src.length; @@ -45,7 +45,7 @@ class Dg_parser { lines.Add(line); line_bgn = line_end + 1; } - return new Dg_file(file_id, rel_path, (Dg_rule[])lines.Xto_ary_and_clear(Dg_rule.class)); + return new Dg_file(file_id, rel_path, (Dg_rule[])lines.To_ary_and_clear(Dg_rule.class)); } public Dg_rule Parse_line(String rel_path, int file_id, int line_idx, byte[] src, int line_bgn, int line_end) { int score = Dg_rule.Score_banned; @@ -78,7 +78,7 @@ class Dg_parser { } } byte[] key = key_bldr.Add_int_variable(file_id).Add_byte_dot().Add_int_variable(line_idx).Xto_bry_and_clear(); - return new Dg_rule(file_id, ++next_id, line_idx, Dg_rule.Tid_rule, key, score, Ary_new_by_ary((byte[][])words.Xto_ary_and_clear(byte[].class))); + return new Dg_rule(file_id, ++next_id, line_idx, Dg_rule.Tid_rule, key, score, Ary_new_by_ary((byte[][])words.To_ary_and_clear(byte[].class))); } private static Dg_word[] Ary_new_by_ary(byte[][] ary) { int ary_len = ary.length; @@ -90,6 +90,6 @@ class Dg_parser { return rv; } private void Warn(String err_msg, String rel_path, int line_idx, byte[] src, int line_bgn, int line_end) { - usr_dlg.Warn_many("", "", err_msg + "; file=~{0} line_idx=~{1} line=~{2}", rel_path, line_idx, String_.new_utf8_(src, line_bgn, line_end)); + usr_dlg.Warn_many("", "", err_msg + "; file=~{0} line_idx=~{1} line=~{2}", rel_path, line_idx, String_.new_u8(src, line_bgn, line_end)); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser_tst.java b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser_tst.java index 319b0794e..dcdad7a65 100644 --- a/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/filters/dansguardians/Dg_parser_tst.java @@ -44,7 +44,7 @@ class Dg_parser_fxt { public void Init() {} public Dg_rule Make_line(int score, String... words) {return new Dg_rule(-1, -1, -1, Dg_rule.Tid_rule, null, score, Dg_word.Ary_new_by_str_ary(words));} public void Test_parse_line(String str, Dg_rule expd) { - byte[] src = Bry_.new_utf8_(str); + byte[] src = Bry_.new_u8(str); Dg_rule actl = parser.Parse_line("rel_path", 0, 0, src, 0, src.length); Tfds.Eq_str_lines(Xto_str(bfr, expd), Xto_str(bfr, actl)); } diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Json_itm_wkr__base.java b/400_xowa/src/gplx/xowa/bldrs/langs/Json_itm_wkr__base.java index b4644c323..bb4148a37 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Json_itm_wkr__base.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Json_itm_wkr__base.java @@ -24,7 +24,7 @@ abstract class Json_itm_wkr__base implements Json_itm_wkr { private Json_parser json_parser = new Json_parser(); private Php_text_itm_parser php_quote_parser = new Php_text_itm_parser().Quote_is_single_(true); // assume values are equivalent to php single quote; DATE:2014-08-06 public void Exec(byte[] src) { - ListAdp tmp_list = ListAdp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); + List_adp tmp_list = List_adp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); Json_doc jdoc = json_parser.Parse(src); this.Exec_bgn(); Json_itm_nde root = jdoc.Root(); @@ -47,7 +47,7 @@ abstract class Json_itm_wkr__base implements Json_itm_wkr { @gplx.Virtual public void Exec_bgn() {} @gplx.Virtual public void Exec_end() {} public abstract void Read_kv_sub(byte[] key, byte[] val); - private static final byte[] Name_metadata = Bry_.new_ascii_("@metadata"); + private static final byte[] Name_metadata = Bry_.new_a7("@metadata"); } class Json_itm_wkr__gfs extends Json_itm_wkr__base { private Gfs_bldr gfs_bldr = new Gfs_bldr(); diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser.java index c14dbbb6b..3126a5e85 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx.xowa.bldrs.langs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; public class Xob_i18n_parser { public static void Load_msgs(boolean dirty, Xol_lang lang, Io_url i18n_fil) { - String i18n_str = Io_mgr._.LoadFilStr_args(i18n_fil).MissingIgnored_().Exec(); if (String_.Len_eq_0(i18n_str)) return; + String i18n_str = Io_mgr.I.LoadFilStr_args(i18n_fil).MissingIgnored_().Exec(); if (String_.Len_eq_0(i18n_str)) return; Json_itm_wkr__msgs wkr = new Json_itm_wkr__msgs(); wkr.Ctor(dirty, lang.Msg_mgr()); - wkr.Exec(Bry_.new_utf8_(i18n_str)); + wkr.Exec(Bry_.new_u8(i18n_str)); } public static byte[] Xto_gfs(byte[] raw) { Json_itm_wkr__gfs wkr = new Json_itm_wkr__gfs(); diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser_tst.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser_tst.java index e2275abea..26ef790b0 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xob_i18n_parser_tst.java @@ -48,14 +48,14 @@ class Xob_i18n_parser_fxt { public void Clear() { } public void Test_xto_gfs(String raw, String expd) { - byte[] actl = Xob_i18n_parser.Xto_gfs(Bry_.new_utf8_(raw)); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + byte[] actl = Xob_i18n_parser.Xto_gfs(Bry_.new_u8(raw)); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); } public void Test_load_msgs_dir(String dir_str) { Xoae_app app = Xoa_app_fxt.app_(); Xowe_wiki wiki = Xoa_app_fxt.wiki_tst_(app); Io_url dir_url = Io_url_.new_dir_(dir_str); - Io_url[] fil_urls = Io_mgr._.QueryDir_fils(dir_url); + Io_url[] fil_urls = Io_mgr.I.QueryDir_fils(dir_url); int len = fil_urls.length; for (int i = 0; i < len; ++i) { Xob_i18n_parser.Load_msgs(false, wiki.Lang(), fil_urls[i]); diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang.java index 48f76eb4d..e235d5fc6 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xobc_utl_make_lang.java @@ -25,8 +25,8 @@ public class Xobc_utl_make_lang implements GfoInvkAble { lang_parser = new Xol_mw_lang_parser(msg_log); } public Xobc_utl_make_lang_kwds Kwd_mgr() {return kwd_mgr;} private Xobc_utl_make_lang_kwds kwd_mgr; - public OrderedHash Manual_text_bgn_hash() {return manual_text_bgn_hash;} private final OrderedHash manual_text_bgn_hash = OrderedHash_.new_bry_(); - public OrderedHash Manual_text_end_hash() {return manual_text_end_hash;} private final OrderedHash manual_text_end_hash = OrderedHash_.new_bry_(); + public Ordered_hash Manual_text_bgn_hash() {return manual_text_bgn_hash;} private final Ordered_hash manual_text_bgn_hash = Ordered_hash_.new_bry_(); + public Ordered_hash Manual_text_end_hash() {return manual_text_end_hash;} private final Ordered_hash manual_text_end_hash = Ordered_hash_.new_bry_(); public void Bld_all() { Io_url lang_root = fsys_mgr.Cfg_lang_core_dir().OwnerDir(); // OwnerDir to get "/lang/" in "/cfg/lang/core/" lang_parser.Parse_mediawiki(lang_mgr, lang_root.GenSubDir("mediawiki"), kwd_mgr); @@ -34,11 +34,11 @@ public class Xobc_utl_make_lang implements GfoInvkAble { lang_parser.Save_langs(lang_mgr, lang_root.GenSubDir(Xol_mw_lang_parser.Dir_name_core), manual_text_bgn_hash, manual_text_end_hash); Gfo_usr_dlg_.I.Prog_many("", "", "done"); } - public void Parse_manual_text(byte[] langs_bry, byte[] text, OrderedHash manual_text) { - OrderedHash langs = lang_mgr.Xto_hash(langs_bry); + public void Parse_manual_text(byte[] langs_bry, byte[] text, Ordered_hash manual_text) { + Ordered_hash langs = lang_mgr.Xto_hash(langs_bry); int langs_len = langs.Count(); for (int i = 0; i < langs_len; i++) { - Xoac_lang_itm itm = (Xoac_lang_itm)langs.FetchAt(i); + Xoac_lang_itm itm = (Xoac_lang_itm)langs.Get_at(i); byte[] key_bry = itm.Key_bry(); manual_text.Add(key_bry, new byte[][] {key_bry, text}); } 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 1988b2c19..74f8e35d5 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 @@ -43,17 +43,17 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform return rv; } public void Add_words() { - OrderedHash hash = add_words_hash; - OrderedHash tmp = OrderedHash_.new_bry_(); + Ordered_hash hash = add_words_hash; + Ordered_hash tmp = Ordered_hash_.new_bry_(); int hash_len = hash.Count(); for (int i = 0; i < hash_len; i++) { - Xobcl_kwd_lang cfg_lang = (Xobcl_kwd_lang)hash.FetchAt(i); + Xobcl_kwd_lang cfg_lang = (Xobcl_kwd_lang)hash.Get_at(i); Xol_lang lang = lang_mgr.Get_by_key(cfg_lang.Key_bry()); if (lang == null) continue; int cfg_grp_len = cfg_lang.Grps().length; for (int j = 0; j < cfg_grp_len; j++) { Xobcl_kwd_row cfg_grp = cfg_lang.Grps()[j]; int kwd_id = Xol_kwd_grp_.Id_by_bry(cfg_grp.Key()); - if (kwd_id == -1) throw Err_.new_("could not find kwd for key: " + String_.new_utf8_(cfg_grp.Key())); + if (kwd_id == -1) throw Err_.new_("could not find kwd for key: " + String_.new_u8(cfg_grp.Key())); Xol_kwd_grp kwd_grp = lang.Kwd_mgr().Get_at(kwd_id); tmp.Clear(); if (kwd_grp == null) { @@ -71,37 +71,37 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform if (!tmp.Has(itm)) tmp.Add(itm, itm); } } - byte[][] words = (byte[][])tmp.Xto_ary(byte[].class); + byte[][] words = (byte[][])tmp.To_ary(byte[].class); kwd_grp.Srl_load(kwd_grp.Case_match(), words); } } } - boolean Hash_itm_applies(OrderedHash hash, byte[] lang_key, byte[] kwd_key, byte[] kwd_word) { - Xobcl_kwd_lang cfg_lang = (Xobcl_kwd_lang)hash.Fetch(lang_key); if (cfg_lang == null) return false; + boolean Hash_itm_applies(Ordered_hash hash, byte[] lang_key, byte[] kwd_key, byte[] kwd_word) { + Xobcl_kwd_lang cfg_lang = (Xobcl_kwd_lang)hash.Get_by(lang_key); if (cfg_lang == null) return false; Xobcl_kwd_row cfg_grp = cfg_lang.Grps_get_by_key(kwd_key); if (cfg_grp == null) return false; return cfg_grp.Itms().length == 0 || cfg_grp.Itms_has(kwd_word); } public void Set(byte[] langs_bry, byte[] kwds) { - OrderedHash langs = lang_mgr.Xto_hash(langs_bry); + Ordered_hash langs = lang_mgr.Xto_hash(langs_bry); int langs_len = langs.Count(); Xol_kwd_mgr kwd_mgr = new Xol_kwd_mgr(lang_mgr.Lang_en()); for (int i = 0; i < langs_len; i++) { -// Xol_lang_itm lang = (Xol_lang_itm)langs.FetchAt(i); +// Xol_lang_itm lang = (Xol_lang_itm)langs.Get_at(i); Xol_lang_srl.Load_keywords(kwd_mgr, kwds); } } - public void Parse_add_words(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, add_words_hash);} private OrderedHash add_words_hash = OrderedHash_.new_bry_(); - public void Parse_prepend_hash(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, prepend_hash);} private OrderedHash prepend_hash = OrderedHash_.new_bry_(); - public void Parse_keep_trailing_colon(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, trailing_colons);} private OrderedHash trailing_colons = OrderedHash_.new_bry_(); - private void Parse(byte[] langs_bry, byte[] kwds, OrderedHash hash) { + public void Parse_add_words(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, add_words_hash);} private Ordered_hash add_words_hash = Ordered_hash_.new_bry_(); + public void Parse_prepend_hash(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, prepend_hash);} private Ordered_hash prepend_hash = Ordered_hash_.new_bry_(); + public void Parse_keep_trailing_colon(byte[] langs_bry, byte[] kwds) {Parse(langs_bry, kwds, trailing_colons);} private Ordered_hash trailing_colons = Ordered_hash_.new_bry_(); + private void Parse(byte[] langs_bry, byte[] kwds, Ordered_hash hash) { Xobcl_kwd_row[] itms = Parse(kwds); - OrderedHash langs = lang_mgr.Xto_hash(langs_bry); + Ordered_hash langs = lang_mgr.Xto_hash(langs_bry); int langs_len = langs.Count(); for (int i = 0; i < langs_len; i++) { - Xoac_lang_itm itm = (Xoac_lang_itm)langs.FetchAt(i); + Xoac_lang_itm itm = (Xoac_lang_itm)langs.Get_at(i); byte[] key_bry = itm.Key_bry(); - Xobcl_kwd_lang grp = (Xobcl_kwd_lang)hash.Fetch(key_bry); + Xobcl_kwd_lang grp = (Xobcl_kwd_lang)hash.Get_by(key_bry); if (grp == null) { grp = new Xobcl_kwd_lang(key_bry, itms); hash.Add(key_bry, grp); @@ -114,7 +114,7 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform int src_len = src.length, pos = 0, fld_bgn = 0; byte[] cur_key = Bry_.Empty; Xol_csv_parser csv_parser = Xol_csv_parser._; - ListAdp rv = ListAdp_.new_(); int fld_idx = 0; + List_adp rv = List_adp_.new_(); int fld_idx = 0; while (true) { boolean last = pos == src_len; // NOTE: logic occurs b/c of \n}~-> dlm which gobbles up last \n byte b = last ? Byte_ascii.NewLine : src[pos]; @@ -139,7 +139,7 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform if (last) break; ++pos; } - return (Xobcl_kwd_row[])rv.Xto_ary(Xobcl_kwd_row.class); + return (Xobcl_kwd_row[])rv.To_ary(Xobcl_kwd_row.class); } } class Xobcl_kwd_lang { @@ -151,10 +151,10 @@ class Xobcl_kwd_lang { public void Merge(Xobcl_kwd_row[] v) { grps = (Xobcl_kwd_row[])Array_.Resize_add(grps, v); for (Xobcl_kwd_row grp : v) { - grps_hash.AddReplace(grp.Key(), grp); // NOTE: AddReplace instead of Add b/c kwds may be expanded; EX: lst is added to all langs but de requires #lst~#section~Abschnitt~; DATE:2013-06-02 + grps_hash.Add_if_dupe_use_nth(grp.Key(), grp); // NOTE: Add_if_dupe_use_nth instead of Add b/c kwds may be expanded; EX: lst is added to all langs but de requires #lst~#section~Abschnitt~; DATE:2013-06-02 } } - public Xobcl_kwd_row Grps_get_by_key(byte[] key) {return (Xobcl_kwd_row)grps_hash.Fetch(key);} private OrderedHash grps_hash = OrderedHash_.new_bry_(); + public Xobcl_kwd_row Grps_get_by_key(byte[] key) {return (Xobcl_kwd_row)grps_hash.Get_by(key);} private Ordered_hash grps_hash = Ordered_hash_.new_bry_(); public byte[] Key_bry() {return key_bry;} private byte[] key_bry; public Xobcl_kwd_row[] Grps() {return grps;} private Xobcl_kwd_row[] grps; } 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 e27dd4d59..aad1eab82 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 @@ -34,7 +34,7 @@ public class Xobc_utl_make_lang_tst { ); } @Test public void Trailing_colon() { - fxt.Kwd_mgr().Parse_keep_trailing_colon(Bry_.new_utf8_("fr"), Bry_.new_utf8_(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_keep_trailing_colon(Bry_.new_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl ( "if|if:~si:~" , "ifeq|" ))); @@ -61,7 +61,7 @@ public class Xobc_utl_make_lang_tst { )); } @Test public void Prepend_hash() { - fxt.Kwd_mgr().Parse_prepend_hash(Bry_.new_utf8_("fr"), Bry_.new_utf8_(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_prepend_hash(Bry_.new_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl ( "if|if:~si:~" , "ifeq|" , "tag|tag~" @@ -91,7 +91,7 @@ public class Xobc_utl_make_lang_tst { )); } @Test public void Add_words_hash() { - fxt.Kwd_mgr().Parse_add_words(Bry_.new_utf8_("fr"), Bry_.new_utf8_(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_add_words(Bry_.new_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl ( "if|if_new:~if~" , "ifeq|" ))); @@ -116,7 +116,7 @@ public class Xobc_utl_make_lang_tst { )); } @Test public void Manual_text() { - fxt.Mgr().Parse_manual_text(Bry_.new_utf8_("fr"), Bry_.new_utf8_(String_.Concat_lines_nl + fxt.Mgr().Parse_manual_text(Bry_.new_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl ( "app;" )) , fxt.Mgr().Manual_text_end_hash()); @@ -148,15 +148,15 @@ class Xobc_utl_make_lang_fxt { mgr = new Xobc_utl_make_lang(app.Lang_mgr(), app.Fsys_mgr(), app.Msg_log()); return this; } private String_bldr sb = String_bldr_.new_(); private Xoae_app app; - public Xobcl_kwd_row row_(String key, String... itms) {return new Xobcl_kwd_row(Bry_.new_ascii_(key), Bry_.Ary(itms));} - public void Parse_rows(String raw, Xobcl_kwd_row... expd) {Tfds.Eq_str_lines(Xto_str(expd), Xto_str(Xobc_utl_make_lang_kwds.Parse(Bry_.new_ascii_(raw))));} + public Xobcl_kwd_row row_(String key, String... itms) {return new Xobcl_kwd_row(Bry_.new_a7(key), Bry_.Ary(itms));} + public void Parse_rows(String raw, Xobcl_kwd_row... expd) {Tfds.Eq_str_lines(Xto_str(expd), Xto_str(Xobc_utl_make_lang_kwds.Parse(Bry_.new_a7(raw))));} public void Ini_file_mw_core(String lang, String raw) { Io_url fil = app.Fsys_mgr().Cfg_lang_core_dir().OwnerDir().GenSubFil_nest("mediawiki", "core_php", "Messages" + String_.UpperFirst(lang) + ".php"); - Io_mgr._.SaveFilStr(fil, raw); + Io_mgr.I.SaveFilStr(fil, raw); } public void Tst_file_xo(String lang, String expd) { Io_url fil = Xol_lang_.xo_lang_fil_(app.Fsys_mgr(), lang); - Tfds.Eq_str_lines(expd, Io_mgr._.LoadFilStr(fil)); + Tfds.Eq_str_lines(expd, Io_mgr.I.LoadFilStr(fil)); } private String Xto_str(Xobcl_kwd_row[] expd) { int len = expd.length; 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 321388dda..f38cbf08a 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 @@ -25,9 +25,9 @@ public class Xol_mw_lang_parser { public void Bld_all(Xoa_lang_mgr lang_mgr, Xoa_fsys_mgr fsys_mgr, Xol_lang_transform lang_transform) { Io_url lang_root = fsys_mgr.Cfg_lang_core_dir().OwnerDir(); Parse_mediawiki(lang_mgr, lang_root.GenSubDir("mediawiki"), lang_transform); - Save_langs(lang_mgr, lang_root.GenSubDir(Xol_mw_lang_parser.Dir_name_core), OrderedHash_.new_bry_(), OrderedHash_.new_bry_()); + Save_langs(lang_mgr, lang_root.GenSubDir(Xol_mw_lang_parser.Dir_name_core), Ordered_hash_.new_bry_(), Ordered_hash_.new_bry_()); } - public void Save_langs(Xoa_lang_mgr lang_mgr, Io_url xowa_root, OrderedHash manual_text_bgn, OrderedHash manual_text_end) { + public void Save_langs(Xoa_lang_mgr lang_mgr, Io_url xowa_root, Ordered_hash manual_text_bgn, Ordered_hash manual_text_end) { int len = lang_mgr.Len(); Gfs_bldr bldr = new Gfs_bldr(); for (int i = 0; i < len; i++) { @@ -50,11 +50,11 @@ public class Xol_mw_lang_parser { bldr.Add_term_nl(); Save_langs_by_manual_text(bldr, manual_text_end, lang_key); - Io_mgr._.SaveFilBfr(lang_url, bldr.Bfr()); + Io_mgr.I.SaveFilBfr(lang_url, bldr.Bfr()); } } - private void Save_langs_by_manual_text(Gfs_bldr bldr, OrderedHash manual_text_hash, String lang_key) { - byte[][] itm = (byte[][])manual_text_hash.Fetch(Bry_.new_utf8_(lang_key)); + private void Save_langs_by_manual_text(Gfs_bldr bldr, Ordered_hash manual_text_hash, String lang_key) { + byte[][] itm = (byte[][])manual_text_hash.Get_by(Bry_.new_u8(lang_key)); if (itm != null) bldr.Bfr().Add(itm[1]); } public void Parse_mediawiki(Xoa_lang_mgr lang_mgr, Io_url mediawiki_root, Xol_lang_transform lang_transform) { @@ -66,43 +66,43 @@ public class Xol_mw_lang_parser { } private void Parse_file_core_php(Xoa_lang_mgr lang_mgr, Io_url mediawiki_root, Bry_bfr bfr, Xol_lang_transform lang_transform) { Io_url dir = mediawiki_root.GenSubDir("core_php"); - Io_url[] urls = Io_mgr._.QueryDir_fils(dir); + Io_url[] urls = Io_mgr.I.QueryDir_fils(dir); int len = urls.length; for (int i = 0; i < len; i++) { Io_url url = urls[i]; try { String lang_key = String_.Replace(String_.Lower(String_.Mid(url.NameOnly(), 8)), "_", "-"); // 8=Messages.length; lower b/c format is MessagesEn.php (need "en") // if (String_.In(lang_key, "qqq", "enrtl", "bbc", "bbc-latn")) continue; - String text = Io_mgr._.LoadFilStr(url); - Xol_lang lang = lang_mgr.Get_by_key_or_new(Bry_.new_utf8_(lang_key)); + String text = Io_mgr.I.LoadFilStr(url); + Xol_lang lang = lang_mgr.Get_by_key_or_new(Bry_.new_u8(lang_key)); this.Parse_core(text, lang, bfr, lang_transform); } catch (Exception exc) {Err_.Noop(exc); Tfds.WriteText("failed to parse " + url.NameOnly() + Err_.Message_gplx_brief(exc) + "\n");} } } private void Parse_file_xtns_php(Xoa_lang_mgr lang_mgr, Io_url mediawiki_root, Bry_bfr bfr, Xol_lang_transform lang_transform) { Io_url dir = mediawiki_root.GenSubDir("xtns_php"); - Io_url[] urls = Io_mgr._.QueryDir_fils(dir); + Io_url[] urls = Io_mgr.I.QueryDir_fils(dir); int len = urls.length; for (int i = 0; i < len; i++) { Io_url url = urls[i]; try { - String text = Io_mgr._.LoadFilStr(url); + String text = Io_mgr.I.LoadFilStr(url); boolean prepend_hash = String_.Eq("ParserFunctions.i18n.magic", url.NameOnly()); this.Parse_xtn(text, url, lang_mgr, bfr, prepend_hash, lang_transform); } catch (Exception exc) {Err_.Noop(exc); Tfds.WriteText("failed to parse " + url.NameOnly() + Err_.Message_gplx_brief(exc));} } } private void Parse_file_json(Xoa_lang_mgr lang_mgr, Bry_bfr bfr, Xol_lang_transform lang_transform, Io_url root_dir) { - Io_url[] dirs = Io_mgr._.QueryDir_args(root_dir).DirOnly_().ExecAsUrlAry(); + Io_url[] dirs = Io_mgr.I.QueryDir_args(root_dir).DirOnly_().ExecAsUrlAry(); int dirs_len = dirs.length; for (int i = 0; i < dirs_len; i++) { Io_url dir = dirs[i]; - Io_url[] fils = Io_mgr._.QueryDir_args(dir).ExecAsUrlAry(); + Io_url[] fils = Io_mgr.I.QueryDir_args(dir).ExecAsUrlAry(); int fils_len = fils.length; for (int j = 0; j < fils_len; ++j) { Io_url fil = fils[j]; try { - Xol_lang lang = lang_mgr.Get_by_key_or_new(Bry_.new_utf8_(fil.NameOnly())); + Xol_lang lang = lang_mgr.Get_by_key_or_new(Bry_.new_u8(fil.NameOnly())); Xob_i18n_parser.Load_msgs(true, lang, fil); } catch (Exception exc) {Err_.Noop(exc); Tfds.WriteText(String_.Format("failed to parse json file; url={0} err={1}\n", fil.Raw(), Err_.Message_gplx_brief(exc)));} } @@ -111,9 +111,9 @@ 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().Xto_ary(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().To_ary(Php_line.class); int lines_len = lines.length; - ListAdp bry_list = ListAdp_.new_(); + List_adp bry_list = List_adp_.new_(); for (int i = 0; i < lines_len; i++) { Php_line_assign line = (Php_line_assign)lines[i]; byte[] key = line.Key().Val_obj_bry(); @@ -169,8 +169,8 @@ public class Xol_mw_lang_parser { public void Parse_xtn(String text, Io_url url, Xoa_lang_mgr lang_mgr, Bry_bfr bfr, boolean prepend_hash, Xol_lang_transform lang_transform) { evaluator.Clear(); parser.Parse_tkns(text, evaluator); - ListAdp bry_list = ListAdp_.new_(); - Php_line[] lines = (Php_line[])evaluator.List().Xto_ary(Php_line.class); + List_adp bry_list = List_adp_.new_(); + Php_line[] lines = (Php_line[])evaluator.List().To_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]; @@ -181,7 +181,7 @@ public class Xol_mw_lang_parser { if (subs.length == 0) continue; // ignore if no lang_key; EX: ['en'] byte[] lang_key = subs[0].Val_obj_bry(); try { - if (String_.In(String_.new_utf8_(lang_key), Lang_skip)) continue; + if (String_.In(String_.new_u8(lang_key), Lang_skip)) continue; Xol_lang lang = lang_mgr.Get_by_key_or_new(lang_key); Byte_obj_val stub = (Byte_obj_val)o; switch (stub.Val()) { @@ -202,7 +202,7 @@ public class Xol_mw_lang_parser { } } } - private void Parse_array_kv(ListAdp rv, Php_line_assign line) { + private void Parse_array_kv(List_adp rv, Php_line_assign line) { rv.Clear(); Php_itm_ary ary = (Php_itm_ary)line.Val(); int subs_len = ary.Subs_len(); @@ -212,8 +212,8 @@ public class Xol_mw_lang_parser { rv.Add(Php_itm_.Parse_bry(kv.Val())); } } - public Xow_ns[] Parse_namespace_strings(ListAdp list, boolean ns_names) { - byte[][] brys = (byte[][])list.Xto_ary(byte[].class); + public Xow_ns[] Parse_namespace_strings(List_adp list, boolean ns_names) { + byte[][] brys = (byte[][])list.To_ary(byte[].class); int brys_len = brys.length; Xow_ns[] rv = new Xow_ns[brys_len / 2]; int key_dif = ns_names ? 0 : 1; @@ -223,16 +223,16 @@ public class Xol_mw_lang_parser { byte[] kv_val = brys[i + val_dif]; Bry_.Replace_all_direct(kv_val, Byte_ascii.Underline, Byte_ascii.Space); // NOTE: siteInfo.xml names have " " not "_" (EX: "User talk"). for now, follow that convention int ns_id = Id_by_mw_name(kv_key); -// if (ns_id == Xow_ns_.Id_null) throw Err_mgr._.fmt_auto_(GRP_KEY, "namespace_names", String_.new_utf8_(kv_key)); +// if (ns_id == Xow_ns_.Id_null) throw Err_mgr._.fmt_auto_(GRP_KEY, "namespace_names", String_.new_u8(kv_key)); rv[i / 2] = new Xow_ns(ns_id, Xow_ns_case_.Id_1st, kv_val, false); // note that Xow_ns is being used as glorified id-name struct; case_match and alias values do not matter } return rv; } - private void Parse_messages(ListAdp rv, Xol_lang lang, Bry_bfr bfr) { - byte[][] brys = (byte[][])rv.Xto_ary(byte[].class); + private void Parse_messages(List_adp rv, Xol_lang lang, Bry_bfr bfr) { + byte[][] brys = (byte[][])rv.To_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_(); + List_adp quote_itm_list = List_adp_.new_(); Byte_obj_ref quote_parse_result = Byte_obj_ref.zero_(); for (int i = 0; i < brys_len; i+=2) { byte[] kv_key = brys[i]; Xol_msg_itm itm = mgr.Itm_by_key_or_new(kv_key); @@ -267,7 +267,7 @@ public class Xol_mw_lang_parser { // if (prepend_hash && word[0] != Byte_ascii.Hash) word = Bry_.Add(Byte_ascii.Hash, word); words[j - kv_ary_bgn] = lang_transform.Kwd_transform(lang_key, kv_key, word); } - int keyword_id = Xol_kwd_grp_.Id_by_bry(kv_key); if (keyword_id == -1) continue; //throw Err_mgr._.fmt_(Err_scope_keywords, "invalid_key", "key does not have id", String_.new_utf8_(kv_key)); + int keyword_id = Xol_kwd_grp_.Id_by_bry(kv_key); if (keyword_id == -1) continue; //throw Err_mgr._.fmt_(Err_scope_keywords, "invalid_key", "key does not have id", String_.new_u8(kv_key)); Xol_kwd_grp grp = mgr.Get_or_new(keyword_id); grp.Srl_load(case_match, words); } @@ -292,14 +292,14 @@ public class Xol_mw_lang_parser { } private boolean Parse_int_as_bool(Php_itm itm) { int rv = Php_itm_.Parse_int_or(itm, Int_.MinValue); - if (rv == Int_.MinValue) throw Err_mgr._.fmt_(GRP_KEY, "parse_int_as_bool", "value must be 0 or 1", String_.new_utf8_(itm.Val_obj_bry())); + if (rv == Int_.MinValue) throw Err_mgr._.fmt_(GRP_KEY, "parse_int_as_bool", "value must be 0 or 1", String_.new_u8(itm.Val_obj_bry())); return rv == 1; } private void Parse_separatorTransformTable(Php_line_assign line, Xol_num_mgr num_mgr) { if (line.Val().Itm_tid() == Php_itm_.Tid_null) return;// en is null; $separatorTransformTable = null; Php_itm_ary ary = (Php_itm_ary)line.Val(); int subs_len = ary.Subs_len(); - ListAdp tmp_list = ListAdp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); + List_adp tmp_list = List_adp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); for (int i = 0; i < subs_len; i++) { Php_itm_kv kv = (Php_itm_kv)ary.Subs_get(i); byte[] key_bry = Php_itm_.Parse_bry(kv.Key()), val_bry = Php_itm_.Parse_bry(kv.Val()); @@ -310,14 +310,14 @@ public class Xol_mw_lang_parser { || Bry_.Eq(key_bry, Bry_separatorTransformTable_comma) ) num_mgr.Separators_mgr().Set(key_bry, val_bry); - else throw Err_mgr._.unhandled_(String_.new_utf8_(key_bry)); // NOTE: as of v1.22.2, all Messages only have a key of "." or "," DATE:2014-04-15 + else throw Err_mgr._.unhandled_(String_.new_u8(key_bry)); // NOTE: as of v1.22.2, all Messages only have a key of "." or "," DATE:2014-04-15 } } private static final byte[] Bry_separatorTransformTable_comma = new byte[] {Byte_ascii.Comma}, Bry_separatorTransformTable_dot = new byte[] {Byte_ascii.Dot}; private void Parse_digitTransformTable(Php_line_assign line, Xol_num_mgr num_mgr) { if (line.Val().Itm_tid() == Php_itm_.Tid_null) return;// en is null; $digitTransformTable = null; Php_itm_ary ary = (Php_itm_ary)line.Val(); int subs_len = ary.Subs_len(); - ListAdp tmp_list = ListAdp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); + List_adp tmp_list = List_adp_.new_(); Byte_obj_ref tmp_result = Byte_obj_ref.zero_(); Bry_bfr tmp_bfr = Bry_bfr.reset_(16); for (int i = 0; i < subs_len; i++) { Php_itm_kv kv = (Php_itm_kv)ary.Subs_get(i); byte[] key_bry = Php_itm_.Parse_bry(kv.Key()), val_bry = Php_itm_.Parse_bry(kv.Val()); diff --git a/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser_tst.java b/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser_tst.java index c3faa22b0..e7b4b1fe5 100644 --- a/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/langs/Xol_mw_lang_parser_tst.java @@ -86,7 +86,7 @@ public class Xol_mw_lang_parser_tst { } @Test public void Fallback() { fxt.Parse_core("$fallback = 'zh-hans';"); - Tfds.Eq("zh-hans", String_.new_utf8_(fxt.Lang().Fallback_bry())); + Tfds.Eq("zh-hans", String_.new_u8(fxt.Lang().Fallback_bry())); } @Test public void Separator_transform_table() { fxt.Parse_core("$separatorTransformTable = array( ',' => '.', '.' => ',' );"); @@ -243,36 +243,36 @@ class Xol_mw_lang_parser_fxt { app = Xoa_app_fxt.app_(); } app.Lang_mgr().Clear();// NOTE: always clear the lang - lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_ascii_("fr")); + lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_a7("fr")); wiki = Xoa_app_fxt.wiki_(app, "en.wikipedia.org", lang); fxt = new Xop_fxt(app, wiki); lang.Kwd_mgr().Clear(); lang.Msg_mgr().Clear(); // NOTE: clear kwds and msgs else they will be printed to file; this line must go last b/c various xtns will fill in kwds dynamically } public Xol_lang Lang() {return lang;} private Xol_lang lang; - public void Num_fmt_tst(String raw, String expd) {Tfds.Eq(expd, String_.new_utf8_(lang.Num_mgr().Format_num(Bry_.new_utf8_(raw))));} + public void Num_fmt_tst(String raw, String expd) {Tfds.Eq(expd, String_.new_u8(lang.Num_mgr().Format_num(Bry_.new_u8(raw))));} public void Run_bld_all() {parser.Bld_all(app.Lang_mgr(), app.Fsys_mgr());} public void Save_file(String path, String... lines) { - Io_mgr._.SaveFilStr(Io_url_.mem_fil_(path), String_.Concat_lines_nl(lines)); + Io_mgr.I.SaveFilStr(Io_url_.mem_fil_(path), String_.Concat_lines_nl(lines)); } public void Tst_file(String path, String expd) { Io_url url = Io_url_.mem_fil_(path); - String actl = Io_mgr._.LoadFilStr(url); + String actl = Io_mgr.I.LoadFilStr(url); Tfds.Eq_str_lines(expd, actl); } public Xol_mw_lang_parser_fxt Parse_core(String raw) {parser.Parse_core(raw, lang, tmp_bfr, Xol_lang_transform_null._); return this;} - public Xol_mw_lang_parser_fxt Parse_xtn (String raw) {parser.Parse_xtn(raw, Io_url_.Null, app.Lang_mgr(), tmp_bfr, false, Xol_lang_transform_null._); lang.Evt_lang_changed(); return this;} + public Xol_mw_lang_parser_fxt Parse_xtn (String raw) {parser.Parse_xtn(raw, Io_url_.Empty, app.Lang_mgr(), tmp_bfr, false, Xol_lang_transform_null._); lang.Evt_lang_changed(); return this;} public Xol_mw_lang_parser_fxt Tst_keyword(int id, boolean case_sensitive, String... words) { Xol_kwd_grp lst = lang.Kwd_mgr().Get_at(id); if (lst == null) throw Err_.new_("list should not be null"); Tfds.Eq(case_sensitive, lst.Case_match()); int actl_len = lst.Itms().length; String[] actl = new String[actl_len]; for (int i = 0; i < actl_len; i++) - actl[i] = String_.new_utf8_(lst.Itms()[i].Val()); + actl[i] = String_.new_u8(lst.Itms()[i].Val()); Tfds.Eq_ary_str(words, actl); return this; } public Xol_mw_lang_parser_fxt Tst_keyword_img(String key_str, byte tid) { - byte[] key = Bry_.new_utf8_(key_str); + byte[] key = Bry_.new_u8(key_str); Tfds.Eq(tid, lang.Lnki_arg_parser().Identify_tid(key, 0, key.length)); return this; } @@ -282,14 +282,14 @@ class Xol_mw_lang_parser_fxt { return this; } public Xol_mw_lang_parser_fxt Tst_ns_lkp(String key_str, int id) { - byte[] key = Bry_.new_utf8_(key_str); + byte[] key = Bry_.new_u8(key_str); Xow_ns ns = (Xow_ns)wiki.Ns_mgr().Names_get_or_null(key, 0, key.length); int actl = ns == null ? Xow_ns_.Id_null : ns.Id(); Tfds.Eq(id, actl); return this; } public Xol_mw_lang_parser_fxt Test_specialPageAliases(String special, String... expd_aliases) { - Xol_specials_itm actl_aliases = lang.Specials_mgr().Get_by_key(Bry_.new_utf8_(special)); + Xol_specials_itm actl_aliases = lang.Specials_mgr().Get_by_key(Bry_.new_u8(special)); Tfds.Eq_ary_str(expd_aliases, To_str_ary(actl_aliases)); return this; } @@ -297,7 +297,7 @@ class Xol_mw_lang_parser_fxt { int len = itm.Aliases().length; String[] rv = new String[len]; for (int i = 0; i < len; i++) { - rv[i] = String_.new_utf8_((byte[])itm.Aliases()[i]); + rv[i] = String_.new_u8((byte[])itm.Aliases()[i]); } return rv; } @@ -306,9 +306,9 @@ class Xol_mw_lang_parser_fxt { return this; } public Xol_mw_lang_parser_fxt Tst_message(String key, int id, String val, boolean fmt) { - Xol_msg_itm itm = lang.Msg_mgr().Itm_by_key_or_new(Bry_.new_ascii_(key)); + Xol_msg_itm itm = lang.Msg_mgr().Itm_by_key_or_new(Bry_.new_a7(key)); Tfds.Eq(id, itm.Id()); - Tfds.Eq(val, String_.new_utf8_(itm.Val())); + Tfds.Eq(val, String_.new_u8(itm.Val())); Tfds.Eq(fmt, itm.Has_fmt_arg()); return this; } diff --git a/400_xowa/src/gplx/xowa/bldrs/servers/jobs/Xob_job_mgr.java b/400_xowa/src/gplx/xowa/bldrs/servers/jobs/Xob_job_mgr.java index 6dee7ad96..e95398d65 100644 --- a/400_xowa/src/gplx/xowa/bldrs/servers/jobs/Xob_job_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/servers/jobs/Xob_job_mgr.java @@ -17,10 +17,10 @@ along with this program. If not, see . */ package gplx.xowa.bldrs.servers.jobs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.servers.*; public class Xob_job_mgr { - private OrderedHash jobs = OrderedHash_.new_(); + private Ordered_hash jobs = Ordered_hash_.new_(); public int Count() {return jobs.Count();} - public Xob_job_itm Get_at(int i) {return (Xob_job_itm)jobs.FetchAt(i);} - public Xob_job_itm Get(String k) {return (Xob_job_itm)jobs.Fetch(k);} + public Xob_job_itm Get_at(int i) {return (Xob_job_itm)jobs.Get_at(i);} + public Xob_job_itm Get(String k) {return (Xob_job_itm)jobs.Get_by(k);} public void Load(String text) { jobs.Add(null, null); } 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 327817b6d..ee44fc23e 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 @@ -19,13 +19,13 @@ package gplx.xowa.bldrs.wiki_cfgs; import gplx.*; import gplx.xowa.*; import gpl import gplx.php.*; import gplx.xowa.bldrs.langs.*; class Xob_subpage_parser { public Xob_subpage_wiki[] Parse(byte[] src) { - src = Bry_.Add(Bry_.new_ascii_("$a = array("), src, Bry_.new_ascii_(");")); - ListAdp wikis_list = ListAdp_.new_(); + src = Bry_.Add(Bry_.new_a7("$a = array("), src, Bry_.new_a7(");")); + List_adp wikis_list = List_adp_.new_(); try { 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().Xto_ary(Php_line.class); + Php_line[] lines = (Php_line[])eval.List().To_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); @@ -39,9 +39,9 @@ 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)); + throw Err_.new_fmt_("parse failed; src={0} err={1}", String_.new_u8(src), Err_.Message_gplx(e)); } - return (Xob_subpage_wiki[])wikis_list.Xto_ary(Xob_subpage_wiki.class); + return (Xob_subpage_wiki[])wikis_list.To_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()); @@ -84,5 +84,5 @@ class Xob_subpage_ns { } class Xob_subpage_wiki { public byte[] Name() {return name;} public Xob_subpage_wiki Name_(byte[] v) {this.name = v; return this;} private byte[] name; - public ListAdp Ns_list() {return ns_list;} private ListAdp ns_list = ListAdp_.new_(); + public List_adp Ns_list() {return ns_list;} private List_adp ns_list = List_adp_.new_(); } 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 ff8a9c93f..7f7634079 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 @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.bldrs.wiki_cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xmls.*; import gplx.ios.*; public class Xoi_wiki_props_api { - private IoEngine_xrg_downloadFil download_args = IoEngine_xrg_downloadFil.new_("", Io_url_.Null); + private IoEngine_xrg_downloadFil download_args = IoEngine_xrg_downloadFil.new_("", Io_url_.Empty); public String Api_src(String wiki_domain) { return String_.Concat("http://", wiki_domain, "/w/api.php?action=query&format=xml&meta=siteinfo&siprop=namespacealiases|namespaces"); } @@ -26,15 +26,15 @@ public class Xoi_wiki_props_api { return download_args.Exec_as_bry(src); } public void Build_cfg(Bry_bfr bfr, Xoi_wiki_props_wiki wiki) { - bfr.Add_str("app.bldr.wiki_cfg_bldr.get('").Add(wiki.Wiki_domain()).Add_str("').new_cmd_('wiki.ns_mgr.aliases', 'ns_mgr.add_alias_bulk(\"\n"); + bfr.Add_str_a7("app.bldr.wiki_cfg_bldr.get('").Add(wiki.Wiki_domain()).Add_str("').new_cmd_('wiki.ns_mgr.aliases', 'ns_mgr.add_alias_bulk(\"\n"); int len = 0; len = wiki.Alias_ary().length; for (int i = 0; i < len; i++) { Xoi_wiki_props_alias alias = wiki.Alias_ary()[i]; bfr.Add_int_variable(alias.Id()).Add_byte_pipe().Add_str(alias.Alias()).Add_byte_nl(); } - bfr.Add_str("\");');\n"); - bfr.Add_str("app.bldr.wiki_cfg_bldr.get('").Add(wiki.Wiki_domain()).Add_str("').new_cmd_('wiki.ns_mgr.subpages', \""); + bfr.Add_str_a7("\");');\n"); + bfr.Add_str_a7("app.bldr.wiki_cfg_bldr.get('").Add(wiki.Wiki_domain()).Add_str("').new_cmd_('wiki.ns_mgr.subpages', \""); len = wiki.Ns_ary().length; boolean first = true; for (int i = 0; i < len; i++) { @@ -45,10 +45,10 @@ public class Xoi_wiki_props_api { } else bfr.Add_byte_nl(); - bfr.Add_str("ns_mgr.get_by_id_or_new(").Add_int_variable(ns.Id()).Add_str(").subpages_enabled_('y');"); + bfr.Add_str_a7("ns_mgr.get_by_id_or_new(").Add_int_variable(ns.Id()).Add_str(").subpages_enabled_('y');"); } } - bfr.Add_str("\");\n"); + bfr.Add_str_a7("\");\n"); bfr.Add_byte_nl(); } public void Parse(Xoi_wiki_props_wiki wiki, String xml) { @@ -61,26 +61,26 @@ public class Xoi_wiki_props_api { } private Xoi_wiki_props_alias[] Parse_alias_ary(XmlNde xnde) { int xndes_len = xnde.SubNdes().Count(); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (int i = 0; i < xndes_len; i++) { - XmlNde sub_nde = xnde.SubNdes().FetchAt(i); + XmlNde sub_nde = xnde.SubNdes().Get_at(i); if (!String_.Eq(sub_nde.Name(), "ns")) continue; Xoi_wiki_props_alias sub_itm = new Xoi_wiki_props_alias(); sub_itm.Init_by_xml(sub_nde); list.Add(sub_itm); } - return (Xoi_wiki_props_alias[])list.Xto_ary_and_clear(Xoi_wiki_props_alias.class); + return (Xoi_wiki_props_alias[])list.To_ary_and_clear(Xoi_wiki_props_alias.class); } private Xoi_wiki_props_ns[] Parse_ns_ary(XmlNde xnde) { int xndes_len = xnde.SubNdes().Count(); - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (int i = 0; i < xndes_len; i++) { - XmlNde sub_nde = xnde.SubNdes().FetchAt(i); + XmlNde sub_nde = xnde.SubNdes().Get_at(i); if (!String_.Eq(sub_nde.Name(), "ns")) continue; Xoi_wiki_props_ns sub_itm = new Xoi_wiki_props_ns(); sub_itm.Init_by_xml(sub_nde); list.Add(sub_itm); } - return (Xoi_wiki_props_ns[])list.Xto_ary_and_clear(Xoi_wiki_props_ns.class); + return (Xoi_wiki_props_ns[])list.To_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 f8ad0c574..cd0baf320 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 @@ -65,7 +65,7 @@ class Xoi_wiki_props_fxt { private Xoi_wiki_props_api api = new Xoi_wiki_props_api(); private Bry_bfr bfr = Bry_bfr.new_(); public Xoi_wiki_props_wiki wiki_() {return wiki_("domain_doesnt_matter");} - public Xoi_wiki_props_wiki wiki_(String wiki_domain) {return new Xoi_wiki_props_wiki().Wiki_domain_(Bry_.new_ascii_(wiki_domain));} + public Xoi_wiki_props_wiki wiki_(String wiki_domain) {return new Xoi_wiki_props_wiki().Wiki_domain_(Bry_.new_a7(wiki_domain));} public Xoi_wiki_props_alias alias_(int id, String alias) {return new Xoi_wiki_props_alias().Init_by_ctor(id, alias);} public Xoi_wiki_props_ns ns_(int id, boolean subpages_enabled) {return new Xoi_wiki_props_ns().Init_by_ctor(id, subpages_enabled);} public void Test_parse(String xml, Xoi_wiki_props_wiki expd) { @@ -79,12 +79,12 @@ class Xoi_wiki_props_fxt { } private String Xto_str(Xoi_wiki_props_wiki v) { int len = v.Alias_ary().length; - bfr.Add_str("aliases").Add_byte_nl(); + bfr.Add_str_a7("aliases").Add_byte_nl(); for (int i = 0; i < len; i++) { Xoi_wiki_props_alias alias = v.Alias_ary()[i]; bfr.Add_int_variable(alias.Id()).Add_byte_pipe().Add_str(alias.Alias()).Add_byte_nl(); } - bfr.Add_str("ns").Add_byte_nl(); + bfr.Add_str_a7("ns").Add_byte_nl(); len = v.Ns_ary().length; for (int i = 0; i < len; i++) { Xoi_wiki_props_ns ns = v.Ns_ary()[i]; @@ -103,7 +103,7 @@ class Xob_subpage_tst_fxt { mgr.Clear(); hash.Clear(); return this; - } private Xoae_app app; Xob_wiki_cfg_bldr mgr; OrderedHash hash = OrderedHash_.new_(); + } private Xoae_app app; Xob_wiki_cfg_bldr mgr; Ordered_hash hash = Ordered_hash_.new_(); private Xob_subpage_parser parser = new Xob_subpage_parser(); public Xob_subpage_tst_fxt Init_cmd(String wiki, String key, String text) { // mgr.Itms_get_or_new(wiki).Itms_add(key, text); @@ -115,7 +115,7 @@ class Xob_subpage_tst_fxt { } private String_bldr sb = String_bldr_.new_(); public void Test_parse(String s) { - Xob_subpage_wiki[] actl = parser.Parse(Bry_.new_utf8_(s)); + Xob_subpage_wiki[] actl = parser.Parse(Bry_.new_u8(s)); Tfds.Eq_str_lines("", X_str_wikis(actl)); } public String X_str_wikis(Xob_subpage_wiki[] ary) { @@ -134,7 +134,7 @@ class Xob_subpage_tst_fxt { sb.Add(wiki.Name()).Add_char_nl(); int ns_len = wiki.Ns_list().Count(); for (int i = 0; i < ns_len; i++) { - Xob_subpage_ns ns = (Xob_subpage_ns)wiki.Ns_list().FetchAt(i); + Xob_subpage_ns ns = (Xob_subpage_ns)wiki.Ns_list().Get_at(i); sb.Add(ns.Id()).Add("=").Add(Bool_.Xto_str_lower(ns.Enabled())).Add_char_nl(); } sb.Add_char_nl(); diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_export_wkr.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_export_wkr.java deleted file mode 100644 index 768608ef5..000000000 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_export_wkr.java +++ /dev/null @@ -1,150 +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.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import gplx.core.xmls.*; import gplx.xowa.wikis.data.tbls.*; -class Xob_export_wtr { - public void Write(Xowd_page_itm page) { - - } - public void Write_search() { - // Xoh_html_bldr bldr = new Xoh_html_bldr(); - // bldr.Write_lnki(null, null, 0, - } -} -class Xoh_html_bldr { - private final Gfo_xml_wtr html_wtr = new Gfo_xml_wtr(); - public void Write_lnki(Xow_ns_mgr ns_mgr, byte[] wiki, int id, byte[] page, int ns_id, byte[] text) { // EX: Page - Xow_ns ns = ns_mgr.Ids_get_or_null(ns_id); - if (ns == null) {/*use main_ns; log*/} - byte[] page_ttl_db = null; // TODO: url_encode - byte[] title = null; - html_wtr.Nde_lhs_bgn("a"); - html_wtr.Atr_bgn("href" ).Atr_val_str_a7("/site/").Atr_val_bry(wiki).Atr_val_bry(page_ttl_db).Atr_end(); - html_wtr.Atr_bgn("id" ).Atr_val_str_a7("xowa_lnki_").Atr_val_int(id).Atr_end(); - html_wtr.Atr_kv_bry("title", title); - html_wtr.Nde_lhs_end(); - html_wtr.Txt_bry(text); - html_wtr.Nde_rhs(); - } -// private void Write_plain(Bry_bfr bfr, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xoa_ttl lnki_ttl, Xop_lnki_caption_wtr caption_wkr) { -// byte[] ttl_bry = lnki.Ttl_ary(); -// if (Bry_.Len_eq_0(ttl_bry)) ttl_bry = lnki_ttl.Full_txt_raw(); // NOTE: handles ttls like [[fr:]] and [[:fr;]] which have an empty Page_txt, but a valued Full_txt_raw -// if (Bry_.Eq(lnki_ttl.Full_txt(), page.Ttl().Full_txt())) { // lnki is same as pagename; bold; SEE: Month widget on day pages will bold current day; PAGE:en.w:January 1 -// if (lnki_ttl.Anch_bgn() == -1 && Bry_.Eq(lnki_ttl.Wik_txt(), page.Ttl().Wik_txt())) { // only bold if lnki is not pointing to anchor on same page; PAGE:en.w:Comet; [[Comet#Physical characteristics|ion tail]] -// bfr.Add(Html_tag_.B_lhs); -// Write_caption(bfr, ctx, hctx, src, lnki, ttl_bry, true, caption_wkr); -// bfr.Add(Html_tag_.B_rhs); -// return; -// } -// } -// if (lnki.Xtn_sites_link()) return; // lnki marked for relatedSites; don't write to page -// if (hctx.Mode_is_alt()) -// Write_caption(bfr, ctx, hctx, src, lnki, ttl_bry, true, caption_wkr); -// else { -// if (hctx.Mode_is_hdump()) -// wiki.Html_mgr().Hzip_mgr().Itm__anchor().Html_plain(bfr, lnki); -// else -// bfr.Add(Xoh_consts.A_bgn); // ' Roman empire -// Html_utl.Escape_html_to_bfr(bfr, lnki_title_bry, 0, lnki_title_bry.length, Bool_.N, Bool_.N, Bool_.N, Bool_.Y, Bool_.N); // escape title; DATE:2014-10-27 -// } -// if (hctx.Mode_is_hdump()) { -// bfr.Add(gplx.xowa.html.hdumps.abrvs.Xohd_abrv_.Html_redlink_bgn); -// bfr.Add_int_variable(lnki.Html_id()); -// bfr.Add(gplx.xowa.html.hdumps.abrvs.Xohd_abrv_.Html_redlink_end); -// } -// else { -// if (cfg.Lnki_visited() -// && history_mgr.Has(wiki.Domain_bry(), ttl_bry)) -// bfr.Add(Bry_xowa_visited); // '" class="xowa-visited' -// bfr.Add(Xoh_consts.__end_quote); // '">' -// } -// if (lnki_ttl.Anch_bgn() != -1 && !lnki_ttl.Ns().Id_main()) { // anchor exists and not main_ns; anchor must be manually added b/c Xoa_ttl does not handle # for non main-ns -// byte[] anch_txt = lnki_ttl.Anch_txt(); -// byte anch_spr -// = (anch_txt.length > 0 && anch_txt[0] == Byte_ascii.Hash) // 1st char is #; occurs when page_txt has trailing space; causes 1st letter of anch_txt to start at # instead of 1st letter -// ? Byte_ascii.Space // ASSUME: 1 space ("Help:A #b"); does not handle multiple spaces like ("Help:A #b"); needs change to Xoa_ttl -// : Byte_ascii.Hash; // Anch_txt bgns at 1st letter, so add # for caption; -// ttl_bry = Bry_.Add_w_dlm(anch_spr, ttl_bry, anch_txt); // manually add anchor; else "Help:A#b" becomes "Help:A". note that lnki.Ttl_ary() uses .Full_txt (wiki + page but no anchor) to captialize 1st letter of page otherwise "Help:A#b" shows as "Help:A" (so Help:a -> Help:A); DATE:2013-06-21 -// } -// Write_caption(bfr, ctx, hctx, src, lnki, ttl_bry, true, caption_wkr); -// bfr.Add(Xoh_consts.A_end); // -// } -// } -} -/* - - - Wikipedia - simplewiki - http://simple.wikipedia.org/wiki/Main_Page - MediaWiki 1.25wmf20 - first-letter - - Media - Special - - Talk - User - User talk - Wikipedia - Wikipedia talk - File - File talk - MediaWiki - MediaWiki talk - Template - Template talk - Help - Help talk - Category - Category talk - Module - Module talk - - - - April - 0 - 1 - - 4926273 - 4784983 - 2014-10-30T22:07:53Z - - AJona1992 - 104337 - - Events in April +Selena Day in Texas - wikitext - text/x-wiki - {{monththisyear|4}} -{{Months}} - 5dbo5ljegrwg7jdt0z5myizoeryhwft - - -*/ diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java index 4e77196a4..8d5abe79f 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_cfg.java @@ -40,7 +40,7 @@ public class Xob_import_cfg { } if (src_fil_is_bz2) { Chk_file_ext(wiki.Appe(), src_fil_bz2, ".bz2", "xml"); - src_fil = src_fil_bz2; src_rdr_len = Io_mgr._.QueryFil(src_fil_bz2).Size(); + src_fil = src_fil_bz2; src_rdr_len = Io_mgr.I.QueryFil(src_fil_bz2).Size(); Xoae_app app = wiki.Appe(); if (app.Setup_mgr().Dump_mgr().Import_bz2_by_stdout()) { ProcessAdp process = app.Prog_mgr().App_decompress_bz2_by_stdout(); @@ -51,7 +51,7 @@ public class Xob_import_cfg { } else { Chk_file_ext(wiki.Appe(), src_fil_xml, ".xml", "bz2"); - src_fil = src_fil_xml; src_rdr_len = Io_mgr._.QueryFil(src_fil_xml).Size(); + src_fil = src_fil_xml; src_rdr_len = Io_mgr.I.QueryFil(src_fil_xml).Size(); return Io_stream_rdr_.file_(src_fil_xml); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_marker.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_marker.java index 2889144d9..40d6269be 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_marker.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_import_marker.java @@ -20,22 +20,22 @@ import gplx.gfui.*; import gplx.xowa.bldrs.cmds.utils.*; public class Xob_import_marker { private final Hash_adp_bry in_progress_hash = Hash_adp_bry.cs_(); public void Bgn(Xowe_wiki wiki) { - in_progress_hash.AddKeyVal(wiki.Domain_bry()); - Io_mgr._.SaveFilStr(url_(wiki), "XOWA has created this file to indicate that an import is in progress. This file will be deleted once the import is completed."); + in_progress_hash.Add_as_key_and_val(wiki.Domain_bry()); + Io_mgr.I.SaveFilStr(url_(wiki), "XOWA has created this file to indicate that an import is in progress. This file will be deleted once the import is completed."); } public void End(Xowe_wiki wiki) { in_progress_hash.Del(wiki.Domain_bry()); - Io_mgr._.DeleteFil_args(url_(wiki)).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(url_(wiki)).MissingFails_off().Exec(); } public boolean Chk(Xowe_wiki wiki) { if (!wiki.App().App_type().Uid_is_gui()) return true; // NOTE: ignore during Server / Console modes; DATE:2015-04-01 if (in_progress_hash.Has(wiki.Domain_bry())) return true; // NOTE: ignore if currently building; different bldr commands call wiki.Init_assert() which may lead to fals checks; Io_url url = url_(wiki); - if (!Io_mgr._.ExistsFil(url)) return true; + if (!Io_mgr.I.ExistsFil(url)) return true; Xoae_app app = wiki.Appe(); app.Usr_dlg().Log_many("", "", "import.marker: marker found: url=~{0}", url.Raw()); - byte[] incompete_msg_bry = app.User().Msg_mgr().Val_by_key_args(Bry_.new_ascii_("api-xowa.import.core.incomplete"), wiki.Domain_str()); - int rslt = app.Gui_mgr().Kit().Ask_yes_no_cancel("", "", String_.new_utf8_(incompete_msg_bry)); + byte[] incompete_msg_bry = app.Usere().Msg_mgr().Val_by_key_args(Bry_.new_a7("api-xowa.import.core.incomplete"), wiki.Domain_str()); + int rslt = app.Gui_mgr().Kit().Ask_yes_no_cancel("", "", String_.new_u8(incompete_msg_bry)); switch (rslt) { case Gfui_dlg_msg_.Btn_yes: Xob_cleanup_cmd.Delete_wiki_sql(wiki); End(wiki); return false; // delete wiki case Gfui_dlg_msg_.Btn_no: End(wiki); return true; // delete marker 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 56638b347..e36b50fb1 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 @@ -36,13 +36,13 @@ public class Xob_siteinfo_parser { int root_subs_len = root.SubNdes().Count(); Bry_bfr siteinfo_misc_bfr = Bry_bfr.reset_(512); for (int i = 0; i < root_subs_len; i++) { - XmlNde sub_nde = root.SubNdes().FetchAt(i); + XmlNde sub_nde = root.SubNdes().Get_at(i); if ( String_.Eq(sub_nde.Name(), "sitename") || String_.Eq(sub_nde.Name(), "generator") || String_.Eq(sub_nde.Name(), "case")) siteinfo_misc_bfr.Add_str(sub_nde.Text_inner()).Add_byte_pipe(); else if ( String_.Eq(sub_nde.Name(), "base")) { String mainpage_url = sub_nde.Text_inner(); - byte[] mainpage_name = Siteinfo_parse_mainpage(Bry_.new_utf8_(mainpage_url)); if (mainpage_name == null) throw Err_mgr._.fmt_(GRP_KEY, "siteinfo.mainpage", "could not extract mainpage: ~{0}", mainpage_url); + byte[] mainpage_name = Siteinfo_parse_mainpage(Bry_.new_u8(mainpage_url)); if (mainpage_name == null) throw Err_mgr._.fmt_(GRP_KEY, "siteinfo.mainpage", "could not extract mainpage: ~{0}", mainpage_url); wiki.Props().Main_page_(mainpage_name); } else if ( String_.Eq(sub_nde.Name(), "namespaces")) { @@ -52,14 +52,14 @@ public class Xob_siteinfo_parser { // 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.Xto_bry_and_clear()); - wiki.Props().Bldr_version_(Bry_.new_ascii_(Xoa_app_.Version)); + wiki.Props().Bldr_version_(Bry_.new_a7(Xoa_app_.Version)); } private static byte[] Siteinfo_parse_mainpage(byte[] url) { byte[] wiki_bry = Xoa_consts.Url_wiki_intermediary; int bgn_pos = Bry_finder.Find_fwd(url, wiki_bry, 0); if (bgn_pos == Bry_.NotFound) { // "/wiki/" not found; EX: http://mywiki/My_main_page bgn_pos = Bry_finder.Find_bwd(url, Byte_ascii.Slash); // ASSUME last segment is page - if (bgn_pos == Bry_.NotFound) throw Err_.new_fmt_("could not parse main page url: {0}", String_.new_utf8_(url)); + if (bgn_pos == Bry_.NotFound) throw Err_.new_fmt_("could not parse main page url: {0}", String_.new_u8(url)); ++bgn_pos; // add 1 to position after slash } else // "/wiki/" found @@ -71,18 +71,18 @@ public class Xob_siteinfo_parser { Xow_ns_mgr ns_mgr = wiki.Ns_mgr(); ns_mgr.Clear(); // NOTE: wipe out any preexisting ns; use siteinfo.xml as definitive list for (int i = 0; i < subs_len; i++) { - XmlNde sub_nde = ns_nde.SubNdes().FetchAt(i); + XmlNde sub_nde = ns_nde.SubNdes().Get_at(i); if (sub_nde.Atrs().Count() == 0) continue; // NOTE: JAVA again has unexpected nodes try { int ns_id = Int_.parse_(sub_nde.Atrs().FetchValOr("key", "")); byte case_match = Xow_ns_case_.parse_(sub_nde.Atrs().FetchValOr("case", "")); String name = sub_nde.Text_inner(); - ns_mgr.Add_new(ns_id, Bry_.new_utf8_(name), case_match, false); + ns_mgr.Add_new(ns_id, Bry_.new_u8(name), case_match, false); } catch (Exception e) {throw Err_mgr._.fmt_(GRP_KEY, "siteinfo.ns", "parse failed: ~{0} ~{1}", sub_nde.Text_inner(), Err_.Message_gplx_brief(e));} } ns_mgr.Init_w_defaults(); } - private static final byte[] Bry_siteinfo_bgn = Bry_.new_ascii_(""), Bry_siteinfo_end = Bry_.new_ascii_(""); + private static final byte[] Bry_siteinfo_bgn = Bry_.new_a7(""), Bry_siteinfo_end = Bry_.new_a7(""); static final String GRP_KEY = "xowa.bldr.core.init"; } diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper.java new file mode 100644 index 000000000..60a7fbe64 --- /dev/null +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper.java @@ -0,0 +1,97 @@ +/* +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.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; +import gplx.core.xmls.*; +import gplx.xowa.wikis.*; import gplx.xowa.wikis.data.tbls.*; +public class Xob_xml_dumper { + private final Gfo_xml_wtr wtr = new Gfo_xml_wtr(); + public String Bld_str() {return wtr.Bld_str();} + public void Write_root_bgn(Xow_ns_mgr ns_mgr, Xow_domain domain, String wiki_abrv, String main_page, String ns_case, String app_version) { + wtr.Nde_lhs_bgn_grp("mediawiki"); + wtr.Atr_kv_str_a7("xmlns" , "http://www.mediawiki.org/xml/export-0.10/"); + wtr.Atr_kv_str_a7("xmlns:xsi" , "http://www.w3.org/2001/XMLSchema-instance"); + wtr.Atr_kv_str_a7("xsi:schemaLocation" , "http://www.mediawiki.org/xml/export-0.10/ http://www.mediawiki.org/xml/export-0.10.xsd"); + wtr.Atr_kv_str_a7("version" , "0.10"); + wtr.Atr_kv_str_a7("xml:lang" , "en"); + wtr.Nde_lhs_end(); + Write_siteinfo(domain, wiki_abrv, main_page, ns_case, app_version); + Write_ns_mgr(ns_mgr); + } + public void Write_root_end() { + wtr.Nde_rhs(); + } + private void Write_siteinfo(Xow_domain domain, String wiki_abrv, String main_page, String ns_case, String app_version) { + wtr.Nde_lhs("siteinfo"); + wtr.Nde_txt_bry("sitename" , Xow_domain_type_.Get_type_as_bry(domain.Domain_tid())); + wtr.Nde_txt_str("dbname" , wiki_abrv); + wtr.Nde_txt_str("base" , main_page); + wtr.Nde_txt_str("generator" , app_version); + wtr.Nde_txt_str("case" , ns_case); + wtr.Nde_rhs(); + } + private void Write_ns_mgr(Xow_ns_mgr ns_mgr) { + wtr.Nde_lhs("namespaces"); + int len = ns_mgr.Ords_len(); + for (int i = 0; i < len; ++i) { + Xow_ns ns = ns_mgr.Ords_get_at(i); + Write_ns(ns); + } + wtr.Nde_rhs(); + } + private void Write_ns(Xow_ns ns) { + wtr.Nde_lhs_bgn_itm("namespace"); + wtr.Atr_kv_int("key" , ns.Id()); + wtr.Atr_kv_str_a7("case" , Xow_ns_case_.To_str(ns.Case_match())); + wtr.Nde_lhs_end(); + wtr.Txt_bry(ns.Name_bry()); + wtr.Nde_rhs(); + } + public void Write_page(Xowd_page_itm page) { + wtr.Nde_lhs("page"); + wtr.Nde_txt_bry("title" , page.Ttl_full_db()); + wtr.Nde_txt_int("id" , page.Id()); + Write_revision(page); + wtr.Nde_rhs(); + } + private void Write_revision(Xowd_page_itm page) { + wtr.Nde_lhs("revision"); + wtr.Nde_txt_int("id" , -1); + wtr.Nde_txt_int("parent" , -1); + wtr.Nde_txt_str("timestamp" , page.Modified_on().XtoStr_fmt_iso_8561()); + Write_revision_contributor(page); + wtr.Nde_txt_str("comment" , ""); + wtr.Nde_txt_str("model" , "wikitext"); + wtr.Nde_txt_str("format" , "text/x-wiki"); + Write_revision_text(page); + wtr.Nde_txt_str("sha1" , ""); + wtr.Nde_rhs(); + } + private void Write_revision_contributor(Xowd_page_itm page) { + wtr.Nde_lhs("contributor"); + wtr.Nde_txt_str("username" , ""); + wtr.Nde_txt_int("id" , -1); + wtr.Nde_rhs(); + } + private void Write_revision_text(Xowd_page_itm page) { + wtr.Nde_lhs_bgn_itm("text"); + wtr.Atr_kv_str_a7("xml:space", "preserve"); + wtr.Nde_lhs_end(); + wtr.Txt_bry(page.Text()); + wtr.Nde_rhs(); + } +} diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper_tst.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper_tst.java new file mode 100644 index 000000000..aa0968605 --- /dev/null +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_dumper_tst.java @@ -0,0 +1,102 @@ +/* +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.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; +import org.junit.*; import gplx.xowa.wikis.data.tbls.*; +public class Xob_xml_dumper_tst { + private final Xob_xml_dumper_fxt fxt = new Xob_xml_dumper_fxt(); + @Before public void init() {fxt.Clear();} + @Test public void Basic() { + fxt.Test_page(fxt.Make_ary(fxt.Make_page(1, Xow_ns_.Id_main, "A", "A_text")), String_.Concat_lines_nl_skip_last + ( "" + , " " + , " other" + , " " + , " Main_Page" + , " XOWA 2.5.2.2" + , " first-letter" + , " " + , " " + , " Media" + , " Special" + , " " + , " Talk" + , " User" + , " User_talk" + , " Wikipedia" + , " Wikipedia_talk" + , " File" + , " File_talk" + , " MediaWiki" + , " MediaWiki_talk" + , " Template" + , " Template_talk" + , " Help" + , " Help_talk" + , " Category" + , " Category_talk" + , " Portal" + , " Portal_talk" + , " Book" + , " Book_talk" + , " Module" + , " Module_talk" + , " " + , " " + , " A" + , " 1" + , " " + , " -1" + , " -1" + , " 0001-01-01 00:00:00" + , " " + , " " + , " -1" + , " " + , " " + , " wikitext" + , " text/x-wiki" + , " A_text" + , " " + , " " + , " " + , "" + )); + } +} +class Xob_xml_dumper_fxt { + private Xowe_wiki wiki; + private final Xob_xml_dumper export_wtr = new Xob_xml_dumper(); + public void Clear() { + Xoae_app app = Xoa_app_fxt.app_(); + this.wiki = Xoa_app_fxt.wiki_(app, "enwiki"); + } + public Xowd_page_itm[] Make_ary(Xowd_page_itm... ary) {return ary;} + public Xowd_page_itm Make_page(int id, int ns_id, String ttl_str, String text) { + Xoa_ttl ttl = wiki.Ttl_parse(ns_id, Bry_.new_u8(ttl_str)); + return new Xowd_page_itm().Id_(id).Ns_id_(ns_id).Ttl_(ttl).Text_(Bry_.new_u8(text)); + } + public void Test_page(Xowd_page_itm[] ary, String expd) { + export_wtr.Write_root_bgn(wiki.Ns_mgr(), wiki.Domain_itm(), "", String_.new_u8(wiki.Props().Main_page()), "first-letter", "XOWA 2.5.2.2"); + int len = ary.length; + for (int i = 0; i < len; ++i) + export_wtr.Write_page(ary[i]); + export_wtr.Write_root_end(); + String actl = export_wtr.Bld_str(); + Tfds.Eq_str_lines(expd, actl); + } +} 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 dd2e529d0..4aeb44a79 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 @@ -22,7 +22,7 @@ public class Xob_xml_page_bldr { 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.Xto_bry_and_clear()); + Io_mgr.I.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_(); @@ -56,9 +56,9 @@ public class Xob_xml_page_bldr { bfr.Add(Indent_2).Add(Xob_xml_parser_.Bry_page_end).Add_byte_nl(); return this; } - private static final byte[] Nde_inline = Bry_.new_ascii_(" />"), Indent_2 = Bry_.Repeat_space(2), Indent_4 = Bry_.Repeat_space(4), Indent_6 = Bry_.Repeat_space(6), Indent_8 = Bry_.Repeat_space(8); + private static final byte[] Nde_inline = Bry_.new_a7(" />"), Indent_2 = Bry_.Repeat_space(2), Indent_4 = Bry_.Repeat_space(4), Indent_6 = Bry_.Repeat_space(6), Indent_8 = Bry_.Repeat_space(8); private static final int Revision_id = 1234, Contributor_id = 9876; - private static final byte[] Contributor_username = Bry_.new_ascii_("contributor_username"), Revision_comment = Bry_.new_ascii_("revision_comment"); + private static final byte[] Contributor_username = Bry_.new_a7("contributor_username"), Revision_comment = Bry_.new_a7("revision_comment"); } /* 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 f1d45eee6..72e365c8d 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 @@ -59,7 +59,7 @@ public class Xob_xml_parser { case Xob_xml_parser_.Id_id_bgn: if (page_id_needed) data_bgn = pos; break; // only flag if first ; note that 1st always belongs to ; case Xob_xml_parser_.Id_id_end: if (page_id_needed) { - int page_id = Bry_.Xto_int_or(src, data_bgn, hook_bgn, -1); if (page_id == -1) usr_dlg.Warn_many(GRP_KEY, "page_id_invalid", "page_id_is_invalid: ~{0}", String_.new_utf8_(src, data_bgn, hook_bgn)); + int page_id = Bry_.Xto_int_or(src, data_bgn, hook_bgn, -1); if (page_id == -1) usr_dlg.Warn_many(GRP_KEY, "page_id_invalid", "page_id_is_invalid: ~{0}", String_.new_u8(src, data_bgn, hook_bgn)); rv.Id_(page_id); page_id_needed = false; // turn off for other tags (; ) } 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 903b0f3da..89550d495 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 @@ -30,19 +30,19 @@ public class Xob_xml_parser_ { return rv; } public static final byte[] - Bry_page_bgn = Bry_.new_ascii_(""), Bry_page_bgn_frag = Bry_.new_ascii_("") - , Bry_title_bgn = Bry_.new_ascii_(""), Bry_title_bgn_frag = Bry_.new_ascii_("<title"), Bry_title_end = Bry_.new_ascii_("") - , Bry_id_bgn = Bry_.new_ascii_(""), Bry_id_bgn_frag = Bry_.new_ascii_("") - , Bry_redirect_bgn = Bry_.new_ascii_(""), Bry_redirect_bgn_frag = Bry_.new_ascii_("") - , Bry_revision_bgn = Bry_.new_ascii_(""), Bry_revision_bgn_frag = Bry_.new_ascii_("") - , Bry_timestamp_bgn = Bry_.new_ascii_(""), Bry_timestamp_bgn_frag = Bry_.new_ascii_("") - , Bry_contributor_bgn = Bry_.new_ascii_(""), Bry_contributor_bgn_frag = Bry_.new_ascii_("") - , Bry_username_bgn = Bry_.new_ascii_(""), Bry_username_bgn_frag = Bry_.new_ascii_("") - , Bry_minor_bgn = Bry_.new_ascii_(""), Bry_minor_bgn_frag = Bry_.new_ascii_("") - , Bry_comment_bgn = Bry_.new_ascii_(""), Bry_comment_bgn_frag = Bry_.new_ascii_("") - , Bry_text_bgn = Bry_.new_ascii_(""), Bry_text_bgn_frag = Bry_.new_ascii_("") - , Bry_amp = Bry_.new_ascii_("&"), Bry_quot = Bry_.new_ascii_("""), Bry_gt = Bry_.new_ascii_(">"), Bry_lt = Bry_.new_ascii_("<") - , Bry_tab_ent = Bry_.new_ascii_(" "), Bry_tab = Bry_.new_ascii_("\t"), Bry_cr_nl = Bry_.new_ascii_("\r\n"), Bry_cr = Bry_.new_ascii_("\r") + Bry_page_bgn = Bry_.new_a7(""), Bry_page_bgn_frag = Bry_.new_a7("") + , Bry_title_bgn = Bry_.new_a7(""), Bry_title_bgn_frag = Bry_.new_a7("<title"), Bry_title_end = Bry_.new_a7("") + , Bry_id_bgn = Bry_.new_a7(""), Bry_id_bgn_frag = Bry_.new_a7("") + , Bry_redirect_bgn = Bry_.new_a7(""), Bry_redirect_bgn_frag = Bry_.new_a7("") + , Bry_revision_bgn = Bry_.new_a7(""), Bry_revision_bgn_frag = Bry_.new_a7("") + , Bry_timestamp_bgn = Bry_.new_a7(""), Bry_timestamp_bgn_frag = Bry_.new_a7("") + , Bry_contributor_bgn = Bry_.new_a7(""), Bry_contributor_bgn_frag = Bry_.new_a7("") + , Bry_username_bgn = Bry_.new_a7(""), Bry_username_bgn_frag = Bry_.new_a7("") + , Bry_minor_bgn = Bry_.new_a7(""), Bry_minor_bgn_frag = Bry_.new_a7("") + , Bry_comment_bgn = Bry_.new_a7(""), Bry_comment_bgn_frag = Bry_.new_a7("") + , Bry_text_bgn = Bry_.new_a7(""), Bry_text_bgn_frag = Bry_.new_a7("") + , Bry_amp = Bry_.new_a7("&"), Bry_quot = Bry_.new_a7("""), Bry_gt = Bry_.new_a7(">"), Bry_lt = Bry_.new_a7("<") + , Bry_tab_ent = Bry_.new_a7(" "), Bry_tab = Bry_.new_a7("\t"), Bry_cr_nl = Bry_.new_a7("\r\n"), Bry_cr = Bry_.new_a7("\r") ; public static final byte Id_page_bgn = 0, Id_page_bgn_frag = 1, Id_page_end = 2 diff --git a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser_tst.java b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser_tst.java index 2708d323d..f4d451482 100644 --- a/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/xmls/Xob_xml_parser_tst.java @@ -19,7 +19,7 @@ package gplx.xowa.bldrs.xmls; import gplx.*; import gplx.xowa.*; import gplx.xow import org.junit.*; import gplx.ios.*; import gplx.xowa.wikis.data.tbls.*; public class Xob_xml_parser_tst { @Before public void init() { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); Xoae_app app = Xoa_app_fxt.app_(); bldr = new Xob_bldr(app); } private Xow_ns_mgr ns_mgr = Xow_ns_mgr_.default_(gplx.xowa.langs.cases.Xol_case_mgr_.Ascii()); @@ -43,28 +43,28 @@ public class Xob_xml_parser_tst { @Test public void Xml() { Xowd_page_itm doc = doc_(1, "a", ""a & b <> a | b"", Date_1); fil = page_bldr.Add(doc).XtoByteStreamRdr(); - tst_parse(fil, doc.Text_(Bry_.new_utf8_("\"a & b <> a | b\"")), 0); + tst_parse(fil, doc.Text_(Bry_.new_u8("\"a & b <> a | b\"")), 0); } @Test public void Tab() { Xowd_page_itm doc = doc_(1, "a", "a \t b", Date_1); fil = page_bldr.Add(doc).XtoByteStreamRdr(); - tst_parse(fil, doc.Text_(Bry_.new_utf8_("a b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_u8("a b")), 0); } @Test public void Tab_disable() { Xowd_page_itm doc = doc_(1, "a", "a \t b", Date_1); page_parser.Trie_tab_del_(); fil = page_bldr.Add(doc).XtoByteStreamRdr(); - tst_parse(fil, doc.Text_(Bry_.new_utf8_("a \t b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_u8("a \t b")), 0); } @Test public void Cr_nl() { Xowd_page_itm doc = doc_(1, "a", "a \r\n b", Date_1); fil = page_bldr.Add(doc).XtoByteStreamRdr(); - tst_parse(fil, doc.Text_(Bry_.new_utf8_("a \n b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_u8("a \n b")), 0); } @Test public void Cr() { Xowd_page_itm doc = doc_(1, "a", "a \r b", Date_1); fil = page_bldr.Add(doc).XtoByteStreamRdr(); - tst_parse(fil, doc.Text_(Bry_.new_utf8_("a \n b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_u8("a \n b")), 0); } @Test public void Text_long() { String s = String_.Repeat("a", 1024); @@ -86,24 +86,24 @@ public class Xob_xml_parser_tst { @Test public void Ns_file() { Xowd_page_itm doc = doc_(1, "File:a", "a", Date_1); Tfds.Eq(Xow_ns_.Id_file, doc.Ns_id()); - Tfds.Eq("a", String_.new_utf8_(doc.Ttl_page_db())); + Tfds.Eq("a", String_.new_u8(doc.Ttl_page_db())); } @Test public void Ns_main() { Xowd_page_itm doc = doc_(1, "a", "a", Date_1); Tfds.Eq(Xow_ns_.Id_main, doc.Ns_id()); - Tfds.Eq("a", String_.new_utf8_(doc.Ttl_page_db())); + Tfds.Eq("a", String_.new_u8(doc.Ttl_page_db())); } @Test public void Ns_main_book() { Xowd_page_itm doc = doc_(1, "Book", "a", Date_1); Tfds.Eq(Xow_ns_.Id_main, doc.Ns_id()); - Tfds.Eq("Book", String_.new_utf8_(doc.Ttl_page_db())); + Tfds.Eq("Book", String_.new_u8(doc.Ttl_page_db())); } @Test public void XmlEntities() { Xowd_page_itm orig = doc_(1, "A&b", "a", Date_1); Xowd_page_itm actl = new Xowd_page_itm(); fil = page_bldr.Add(orig).XtoByteStreamRdr(); page_parser.Parse_page(actl, usr_dlg, fil, fil.Bfr(), 0, ns_mgr); - Tfds.Eq("A&b", String_.new_utf8_(actl.Ttl_full_db())); + Tfds.Eq("A&b", String_.new_u8(actl.Ttl_full_db())); } @Test public void Root() { Xowd_page_itm doc = doc_(1, "a", "a", Date_1); @@ -121,13 +121,13 @@ public class Xob_xml_parser_tst { Xowd_page_itm actl = new Xowd_page_itm(); int rv = page_parser.Parse_page(actl, usr_dlg, fil, fil.Bfr(), cur_pos, ns_mgr); Tfds.Eq(expd.Id(), actl.Id(), "id"); - Tfds.Eq(String_.new_utf8_(expd.Ttl_full_db()), String_.new_utf8_(actl.Ttl_full_db()), "title"); - Tfds.Eq(String_.new_utf8_(expd.Text()), String_.new_utf8_(actl.Text()), "text"); + Tfds.Eq(String_.new_u8(expd.Ttl_full_db()), String_.new_u8(actl.Ttl_full_db()), "title"); + Tfds.Eq(String_.new_u8(expd.Text()), String_.new_u8(actl.Text()), "text"); Tfds.Eq_date(expd.Modified_on(), actl.Modified_on(), "timestamp"); return rv; } Xowd_page_itm doc_(int id, String title, String text, String date) { - Xowd_page_itm rv = new Xowd_page_itm().Id_(id).Ttl_(Bry_.new_ascii_(title), ns_mgr).Text_(Bry_.new_ascii_(text)); + Xowd_page_itm rv = new Xowd_page_itm().Id_(id).Ttl_(Bry_.new_a7(title), ns_mgr).Text_(Bry_.new_a7(text)); int[] modified_on = new int[7]; dateParser.Parse_iso8651_like(modified_on, date); rv.Modified_on_(DateAdp_.seg_(modified_on)); diff --git a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_db_txt.java b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_db_txt.java index b0d736b9d..85c9cd7d7 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_db_txt.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_db_txt.java @@ -22,11 +22,11 @@ public class Xoa_cfg_db_txt implements Xoa_cfg_db { public void Cfg_reset_all(Xoa_cfg_mgr cfg_mgr) { Io_url src_url = this.Cfg_url(cfg_mgr); Io_url trg_url = src_url.GenNewNameAndExt("xowa_user_cfg." + DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss() + ".gfs"); - Io_mgr._.MoveFil_args(src_url, trg_url, true).Exec(); + Io_mgr.I.MoveFil_args(src_url, trg_url, true).Exec(); cfg_mgr.App().Gui_mgr().Kit().Ask_ok("", "", "Options cleared. Please restart XOWA."); } public void Cfg_load_run(Xoa_cfg_mgr cfg_mgr) { - String load = Io_mgr._.LoadFilStr(Cfg_url(cfg_mgr)); + String load = Io_mgr.I.LoadFilStr(Cfg_url(cfg_mgr)); cfg_mgr.App().Gfs_mgr().Run_str(load); } public void Cfg_save_bgn(Xoa_cfg_mgr cfg_mgr) { @@ -34,11 +34,11 @@ public class Xoa_cfg_db_txt implements Xoa_cfg_db { } private Bry_bfr bfr = Bry_bfr.new_(); public void Cfg_save_end(Xoa_cfg_mgr cfg_mgr) { cfg_mgr.App().Usr_dlg().Log_many("", "", "shutting down app; saving cfg: len=~{0}", bfr.Len()); - Io_mgr._.SaveFilBfr(Cfg_url(cfg_mgr), bfr); + Io_mgr.I.SaveFilBfr(Cfg_url(cfg_mgr), bfr); } public void Cfg_save_run(Xoa_cfg_mgr cfg_mgr, Xoa_cfg_grp cfg_grp, Xoa_cfg_itm cfg_itm) { fmtr.Bld_bfr_many(bfr, Xoa_gfs_mgr.Cfg_save_escape(cfg_grp.Key_bry()), Xoa_gfs_mgr.Cfg_save_escape(cfg_itm.Key()), Xoa_gfs_mgr.Cfg_save_escape(cfg_itm.Val())); } - public Io_url Cfg_url(Xoa_cfg_mgr cfg_mgr) {return cfg_mgr.App().User().Fsys_mgr().App_data_cfg_dir().GenSubFil(File_name);} + public Io_url Cfg_url(Xoa_cfg_mgr cfg_mgr) {return cfg_mgr.App().Usere().Fsys_mgr().App_data_cfg_dir().GenSubFil(File_name);} public static final String File_name = "xowa_user_cfg.gfs"; } diff --git a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp.java b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp.java index 2d2becb36..0a1d858d5 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp.java @@ -19,16 +19,16 @@ package gplx.xowa.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*; public class Xoa_cfg_grp { public Xoa_cfg_grp(Xoa_cfg_mgr mgr, Xoa_cfg_grp_tid tid, byte[] key_bry) { - this.mgr = mgr; this.tid = tid; this.key_bry = key_bry; this.key_str = String_.new_utf8_(key_bry); - } Xoa_cfg_mgr mgr; OrderedHash hash = OrderedHash_.new_bry_(); + this.mgr = mgr; this.tid = tid; this.key_bry = key_bry; this.key_str = String_.new_u8(key_bry); + } Xoa_cfg_mgr mgr; Ordered_hash hash = Ordered_hash_.new_bry_(); public Xoa_cfg_grp_tid Tid() {return tid;} private Xoa_cfg_grp_tid tid; public byte[] Key_bry() {return key_bry;} private byte[] key_bry; public String Key_str() {return key_str;} private String key_str; public Xoa_cfg_itm Get_itm_or_null(byte[] itm_key) { - return (Xoa_cfg_itm)hash.Fetch(itm_key); + return (Xoa_cfg_itm)hash.Get_by(itm_key); } public Xoa_cfg_itm Get_itm_or_make(byte[] itm_key) { - Xoa_cfg_itm rv = (Xoa_cfg_itm)hash.Fetch(itm_key); + Xoa_cfg_itm rv = (Xoa_cfg_itm)hash.Get_by(itm_key); if (rv == null) { rv = new Xoa_cfg_itm(this, itm_key); hash.Add(itm_key, rv); @@ -36,34 +36,34 @@ public class Xoa_cfg_grp { return rv; } public Xoa_cfg_itm Get_itm_by_wiki(byte[] domain, int wiki_tid) { - Xoa_cfg_itm rv = (Xoa_cfg_itm)hash.Fetch(domain); + Xoa_cfg_itm rv = (Xoa_cfg_itm)hash.Get_by(domain); if (rv == null) { // match by domain failed; try type - rv = (Xoa_cfg_itm)hash.Fetch(Xow_domain_.Tid__get_bry(wiki_tid)); + rv = (Xoa_cfg_itm)hash.Get_by(Xow_domain_type_.Get_type_as_bry(wiki_tid)); if (rv == null) // match by type failed; try all - rv = (Xoa_cfg_itm)hash.Fetch(Xoa_cfg_grp_tid.Key_all_bry); + rv = (Xoa_cfg_itm)hash.Get_by(Xoa_cfg_grp_tid.Key_all_bry); if (rv == null) // match by type failed; try app - rv = (Xoa_cfg_itm)hash.Fetch(Xoa_cfg_grp_tid.Key_app_bry); + rv = (Xoa_cfg_itm)hash.Get_by(Xoa_cfg_grp_tid.Key_app_bry); } return rv; } public void Db_customized_n_() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.FetchAt(i); + Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.Get_at(i); itm.Db_customized_(false).Db_dirty_(false); } } public void Db_loaded_y_() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.FetchAt(i); + Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.Get_at(i); itm.Db_customized_(true).Db_dirty_(false); } } public void Db_save(Xoa_cfg_db db) { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.FetchAt(i); + Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.Get_at(i); if (!itm.Db_customized() && !itm.Db_dirty()) continue; // system default and unchanged; no need to save db.Cfg_save_run(mgr, this, itm); } @@ -71,7 +71,7 @@ public class Xoa_cfg_grp { public void Clear() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.FetchAt(i); + Xoa_cfg_itm itm = (Xoa_cfg_itm)hash.Get_at(i); itm.Clear(); } hash.Clear(); diff --git a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp_tid.java b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp_tid.java index ea8c18b49..0e41253da 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp_tid.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_grp_tid.java @@ -23,7 +23,7 @@ public class Xoa_cfg_grp_tid { public int Wiki_tid() {return wiki_tid;} private int wiki_tid; public static final byte Tid_null = 0, Tid_all = 1, Tid_type = 2, Tid_wiki = 3, Tid_app = 4; public static final String Key_app_str = "app"; - public static final byte[] Key_all_bry = Bry_.new_ascii_("*"), Key_app_bry = Bry_.new_ascii_(Key_app_str); + public static final byte[] Key_all_bry = Bry_.new_a7("*"), Key_app_bry = Bry_.new_a7(Key_app_str); public static Xoa_cfg_grp_tid parse_(byte[] key) { Xoa_cfg_grp_tid rv = (Xoa_cfg_grp_tid)factory.Get_by_bry(key); if (rv == null) { @@ -32,7 +32,7 @@ public class Xoa_cfg_grp_tid { else if (Bry_.Eq(key, Key_app_bry)) rv.tid = Tid_app; else { Xow_domain wiki_type = Xow_domain_.parse(key); - if (wiki_type.Domain_tid() == Xow_domain_.Tid_int_other) + if (wiki_type.Domain_tid() == Xow_domain_type_.Tid_other) rv.tid = Tid_wiki; else { rv.tid = Tid_type; diff --git a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java index 09e3be4de..af9b6ad5b 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java @@ -18,15 +18,15 @@ along with this program. If not, see . package gplx.xowa.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*; public class Xoa_cfg_mgr implements GfoInvkAble { - public Xoa_cfg_mgr(Xoae_app app) {this.app = app;} private OrderedHash hash = OrderedHash_.new_bry_(); + public Xoa_cfg_mgr(Xoae_app app) {this.app = app;} private Ordered_hash hash = Ordered_hash_.new_bry_(); public Xoae_app App() {return app;} private Xoae_app app; public Xoa_cfg_itm Get_itm_or_null(byte[] grp_key, byte[] itm_key) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Fetch(grp_key); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_by(grp_key); return grp == null ? null : grp.Get_itm_or_null(itm_key); } public Xoa_cfg_itm Get_itm_or_make(byte[] grp_key, byte[] itm_key) { Xoa_cfg_grp grp = null; - Object grp_obj = hash.Fetch(grp_key); + Object grp_obj = hash.Get_by(grp_key); if (grp_obj == null) { Xoa_cfg_grp_tid tid = Xoa_cfg_grp_tid.parse_(itm_key); grp = new Xoa_cfg_grp(this, tid, grp_key); @@ -36,9 +36,9 @@ public class Xoa_cfg_mgr implements GfoInvkAble { grp = (Xoa_cfg_grp)grp_obj; return grp.Get_itm_or_make(itm_key); } - public void Set_by_app(String grp_key, String val) {Set(Bry_.new_utf8_(grp_key), Xoa_cfg_grp_tid.Key_app_bry, val);} - public void Set_by_all(String grp_key, String val) {Set(Bry_.new_utf8_(grp_key), Xoa_cfg_grp_tid.Key_all_bry, val);} - public void Set_by_type(String grp_key, byte tid, String val) {Set(Bry_.new_utf8_(grp_key), Xow_domain_.Tid__get_bry(tid), val);} + public void Set_by_app(String grp_key, String val) {Set(Bry_.new_u8(grp_key), Xoa_cfg_grp_tid.Key_app_bry, val);} + public void Set_by_all(String grp_key, String val) {Set(Bry_.new_u8(grp_key), Xoa_cfg_grp_tid.Key_all_bry, val);} + public void Set_by_type(String grp_key, byte tid, String val) {Set(Bry_.new_u8(grp_key), Xow_domain_type_.Get_type_as_bry(tid), val);} private void Set(byte[] grp_key, byte[] tid_key, String val) { Xoa_cfg_itm itm = Get_itm_or_make(grp_key, tid_key); itm.Val_(val); @@ -46,7 +46,7 @@ public class Xoa_cfg_mgr implements GfoInvkAble { public void Init(Xowe_wiki wiki) { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.FetchAt(i); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_at(i); Xoa_cfg_itm itm = grp.Get_itm_by_wiki(wiki.Domain_bry(), wiki.Domain_tid()); if (itm == null) continue; // grp exists, but not for wiki; EX: rule exists for download.enabled and enwiki, but frwiki loaded if (itm.Grp().Tid().Tid() == Xoa_cfg_grp_tid.Tid_app) continue; // rule is for app; don't run for wiki init @@ -88,14 +88,14 @@ public class Xoa_cfg_mgr implements GfoInvkAble { public void Db_customized_n_() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.FetchAt(i); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_at(i); grp.Db_customized_n_(); } } public void Db_loaded_y_() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.FetchAt(i); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_at(i); grp.Db_loaded_y_(); } } @@ -109,7 +109,7 @@ public class Xoa_cfg_mgr implements GfoInvkAble { int len = hash.Count(); db.Cfg_save_bgn(this); for (int i = 0; i < len; i++) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.FetchAt(i); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_at(i); grp.Db_save(db); } db.Cfg_save_end(this); @@ -117,7 +117,7 @@ public class Xoa_cfg_mgr implements GfoInvkAble { public void Clear() { int len = hash.Count(); for (int i = 0; i < len; i++) { - Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.FetchAt(i); + Xoa_cfg_grp grp = (Xoa_cfg_grp)hash.Get_at(i); grp.Clear(); } hash.Clear(); diff --git a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr_tst.java b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr_tst.java index 2838ec5fc..bb36481e0 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr_tst.java @@ -50,20 +50,20 @@ class Xoa_cfg_mgr_fxt { public void Init_cfg_all(String key, String val) {Init_cfg(key, val, Xoa_cfg_grp_tid.Key_all_bry);} public void Init_cfg_app(String key, String val) {Init_cfg(key, val, Xoa_cfg_grp_tid.Key_app_bry);} private void Init_cfg(String key, String val, byte[] tid) { - Xoa_cfg_itm itm = app.Cfg_mgr().Get_itm_or_make(Bry_.new_ascii_(key), tid); + Xoa_cfg_itm itm = app.Cfg_mgr().Get_itm_or_make(Bry_.new_a7(key), tid); itm.Val_(val); itm.Db_customized_(false); } - public Xowe_wiki Exec_make_wiki(String wiki_key_str) {return Exec_make_wiki(Bry_.new_ascii_(wiki_key_str));} + public Xowe_wiki Exec_make_wiki(String wiki_key_str) {return Exec_make_wiki(Bry_.new_a7(wiki_key_str));} public Xowe_wiki Exec_make_wiki(byte[] wiki_key_bry) {return app.Wiki_mgr().Get_by_key_or_make(wiki_key_bry);} public void Test_init_wiki(String wiki_key_str, String itm_key_str, String expd_val) { - byte[] wiki_key_bry = Bry_.new_ascii_(wiki_key_str); + byte[] wiki_key_bry = Bry_.new_a7(wiki_key_str); Xowe_wiki wiki = Exec_make_wiki(wiki_key_bry); wiki.Init_assert(); Test_cfg_get(wiki, itm_key_str, expd_val); } public void Test_cfg_set(String cfg_msg, String wiki_key_str, String prop_key, String expd_val) { - byte[] wiki_key_bry = Bry_.new_ascii_(wiki_key_str); + byte[] wiki_key_bry = Bry_.new_a7(wiki_key_str); app.Gfs_mgr().Run_str_for(app, cfg_msg); Xowe_wiki wiki = Exec_make_wiki(wiki_key_bry); Test_cfg_get(wiki, prop_key, expd_val); @@ -72,7 +72,7 @@ class Xoa_cfg_mgr_fxt { Tfds.Eq(expd, Object_.Xto_str_strict_or_null_mark(app.Cfg_mgr().Eval_get(invk, prop))); } public void Test_cfg_itm(String wiki, String prop, boolean expd_customized, boolean expd_dirty) { - Test_cfg_itm(Bry_.new_ascii_(wiki), Bry_.new_ascii_(prop), expd_customized, expd_dirty); + Test_cfg_itm(Bry_.new_a7(wiki), Bry_.new_a7(prop), expd_customized, expd_dirty); } public void Test_cfg_itm(byte[] wiki, byte[] prop, boolean expd_customized, boolean expd_dirty) { Xoa_cfg_itm itm = cfg_mgr.Get_itm_or_make(prop, wiki); @@ -82,6 +82,6 @@ class Xoa_cfg_mgr_fxt { public void Test_save(String expd) { Xoa_cfg_db_txt db = new Xoa_cfg_db_txt(); cfg_mgr.Db_save(db); - Tfds.Eq(expd, Io_mgr._.LoadFilStr(db.Cfg_url(cfg_mgr))); + Tfds.Eq(expd, Io_mgr.I.LoadFilStr(db.Cfg_url(cfg_mgr))); } } diff --git a/400_xowa/src/gplx/xowa/cfgs/gui/Xocfg_pref_mgr.java b/400_xowa/src/gplx/xowa/cfgs/gui/Xocfg_pref_mgr.java index 90186f21a..1c8e4dccc 100644 --- a/400_xowa/src/gplx/xowa/cfgs/gui/Xocfg_pref_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs/gui/Xocfg_pref_mgr.java @@ -26,7 +26,7 @@ class Test_api implements GfoInvkAble { private static final boolean Dflt_prop_1 = false; private static final int Dflt_prop_2 = 2; private static final String Dflt_prop_3 = "3"; - private static final byte[] Dflt_prop_bry = Bry_.new_ascii_("bry"); + private static final byte[] Dflt_prop_bry = Bry_.new_a7("bry"); private static final int Dflt_prop_enm = 5; private static final Xocfg_meta_mgr meta_mgr = new Xocfg_meta_mgr().Add ( Xocfg_meta_itm_.bool_ (Invk_prop_1, Dflt_prop_1) @@ -52,7 +52,7 @@ class Xocfg_gui_itm_memo implements Xocfg_gui_itm { public int Box_h() {return box_h;} private int box_h; } class Xocfg_meta_mgr { - private HashAdp hash = HashAdp_.new_(); + private Hash_adp hash = Hash_adp_.new_(); public Xocfg_meta_mgr Add(Xocfg_meta_itm_base... ary) { int len = ary.length; for (int i = 0; i < len; i++) { @@ -61,7 +61,7 @@ class Xocfg_meta_mgr { } return this; } - public Xocfg_meta_itm_base Get_or_null(String key) {return (Xocfg_meta_itm_base)hash.Fetch(key);} + public Xocfg_meta_itm_base Get_or_null(String key) {return (Xocfg_meta_itm_base)hash.Get_by(key);} } abstract class Xocfg_meta_itm_base { public void Set(int prop_type, String prop_key, Object prop_dflt) { 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 416e2f467..7cc891675 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 @@ -37,10 +37,10 @@ public class Xocfg_bnd_itm_srl implements GfoInvkAble { private static final String Invk_src_ = "src_", Invk_box_ = "box_", Invk_ipt_ = "ipt_"; public static String Src(Xoae_app app, int box, IptArg ipt) { // box_('browser').ipt_('mod.c+key.q'); 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())); + wtr.Add_set_eq(Key_box, Bry_.new_a7(Xog_bnd_box_.Xto_sys_str(box))); + wtr.Add_set_eq(Key_ipt, Bry_.new_a7(ipt.Key())); return wtr.Bfr().Xto_str_and_clear(); - } private static final byte[] Key_box = Bry_.new_ascii_("box"), Key_ipt = Bry_.new_ascii_("ipt"); + } private static final byte[] Key_box = Bry_.new_a7("box"), Key_ipt = Bry_.new_a7("ipt"); public static void Src_(Xoae_app app, Xocfg_bnd_itm_srl itm, String v) { Xoa_gfs_mgr gfs_mgr = app.Gfs_mgr(); gfs_mgr.Run_str_for(itm, v); diff --git a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java index cf12a7e48..bac2292a8 100644 --- a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java @@ -28,9 +28,9 @@ public class Xocfg_bnd_mgr implements GfoInvkAble, Gfo_sort_able { } public Xoae_app App() {return app;} private Xoae_app app; public Xog_bnd_mgr Bnd_mgr() {return bnd_mgr;} private Xog_bnd_mgr bnd_mgr; - private OrderedHash regy; + private Ordered_hash regy; public void Init() { - regy = OrderedHash_.new_(); + regy = Ordered_hash_.new_(); int len = bnd_mgr.Len(); for (int i = 0; i < len; i++) { Xog_bnd_itm bnd = bnd_mgr.Get_at(i); @@ -40,15 +40,15 @@ public class Xocfg_bnd_mgr implements GfoInvkAble, Gfo_sort_able { } } private Xocfg_bnd_itm_srl Init(String key) {return new Xocfg_bnd_itm_srl(app, key);} - public Xocfg_bnd_itm Get_at(int i) {return (Xocfg_bnd_itm)regy.FetchAt(i);} + public Xocfg_bnd_itm Get_at(int i) {return (Xocfg_bnd_itm)regy.Get_at(i);} public int Len() {return regy.Count();} - public void Sort(gplx.lists.ComparerAble comparer) {regy.SortBy(comparer);} + public void Sort(gplx.lists.ComparerAble comparer) {regy.Sort_by(comparer);} private void Set_bulk(byte[] src) { try { bnd_mgr_srl.Load_by_bry(src); } catch (Exception e) { // catch errors, so that next cmd (which is page.reload) can still execute - app.Usr_dlg().Warn_many("", "", "failed to set bnds; src=~{0} err=~{1}", String_.new_utf8_(src), Err_.Message_gplx_brief(e)); + app.Usr_dlg().Warn_many("", "", "failed to set bnds; src=~{0} err=~{1}", String_.new_u8(src), Err_.Message_gplx_brief(e)); } } private void Show_shortcut_win(String uid, String name, String binding) { diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java b/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java index bfd7e0871..16ffd02b6 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java @@ -43,7 +43,7 @@ public class Xoa_ctg_mgr implements GfoInvkAble { private static final String Invk_missing_ctg_cls = "missing_ctg_cls", Invk_missing_ctg_cls_ = "missing_ctg_cls_", Invk_missing_ctg_cls_list = "missing_ctg_cls_list", Invk_pagecats_grouping_enabled = "pagecats_grouping_enabled", Invk_pagecats_grouping_enabled_ = "pagecats_grouping_enabled_"; private static final byte Missing_ctg_cls_normal_tid = 0, Missing_ctg_cls_hide_tid = 1, Missing_ctg_cls_red_tid = 2; private static final String Missing_ctg_cls_normal_str = "normal", Missing_ctg_cls_hide_str = "hide", Missing_ctg_cls_red_str = "red_link"; - private static final byte[] Missing_ctg_cls_normal_css = Bry_.new_ascii_(".xowa-missing-category-entry {}"), Missing_ctg_cls_hide_css = Bry_.new_ascii_(".xowa-missing-category-entry {display: none;}"), Missing_ctg_cls_red_css = Bry_.new_ascii_(".xowa-missing-category-entry {color: red;}"); + private static final byte[] Missing_ctg_cls_normal_css = Bry_.new_a7(".xowa-missing-category-entry {}"), Missing_ctg_cls_hide_css = Bry_.new_a7(".xowa-missing-category-entry {display: none;}"), Missing_ctg_cls_red_css = Bry_.new_a7(".xowa-missing-category-entry {color: red;}"); private static KeyVal[] Options_missing_ctg_cls_list = KeyVal_.Ary(KeyVal_.new_(Missing_ctg_cls_normal_str), KeyVal_.new_(Missing_ctg_cls_hide_str), KeyVal_.new_(Missing_ctg_cls_red_str)); private static byte Missing_ctg_cls_tid_parse(String v) { if (String_.Eq(v, Missing_ctg_cls_normal_str)) return Missing_ctg_cls_normal_tid; diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_data_cache.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_data_cache.java index a12d5a4aa..05a18acb6 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_data_cache.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_data_cache.java @@ -21,7 +21,7 @@ public class Xoctg_data_cache { public Xoctg_data_ctg Get_or_null(byte[] ctg_name) {return (Xoctg_data_ctg)regy.Get_by_bry(ctg_name);} public Xoctg_data_ctg Load_or_null(Xowe_wiki wiki, byte[] ctg_name) { Gfo_usr_dlg usr_dlg = wiki.Appe().Usr_dlg(); - usr_dlg.Prog_many("", "", "loading file for category: ~{0}", String_.new_utf8_(ctg_name)); + usr_dlg.Prog_many("", "", "loading file for category: ~{0}", String_.new_u8(ctg_name)); Xoctg_data_ctg rv = new Xoctg_data_ctg(ctg_name); boolean found = wiki.Db_mgr().Load_mgr().Load_ctg_v2(rv, ctg_name); if (!found) return null; regy.Add(ctg_name, rv); 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 8538d8085..513f0bb81 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java @@ -138,17 +138,17 @@ class Xoctg_fmtr_all { html_nav.Bld_bfr(bfr, nav_href, nav_ttl, nav_text); } public static final byte[] - Url_arg_from = Bry_.new_ascii_("from") - , Url_arg_until = Bry_.new_ascii_("until") - , Url_arg_subc_bgn = Bry_.new_ascii_("subcatfrom") - , Url_arg_subc_end = Bry_.new_ascii_("subcatuntil") - , Url_arg_page_bgn = Bry_.new_ascii_("pagefrom") - , Url_arg_page_end = Bry_.new_ascii_("pageuntil") - , Url_arg_file_bgn = Bry_.new_ascii_("filefrom") - , Url_arg_file_end = Bry_.new_ascii_("fileuntil") - , Div_id_subc = Bry_.new_ascii_("mw-subcategories") - , Div_id_page = Bry_.new_ascii_("mw-pages") - , Div_id_file = Bry_.new_ascii_("mw-category-media") + Url_arg_from = Bry_.new_a7("from") + , Url_arg_until = Bry_.new_a7("until") + , Url_arg_subc_bgn = Bry_.new_a7("subcatfrom") + , Url_arg_subc_end = Bry_.new_a7("subcatuntil") + , Url_arg_page_bgn = Bry_.new_a7("pagefrom") + , Url_arg_page_end = Bry_.new_a7("pageuntil") + , Url_arg_file_bgn = Bry_.new_a7("filefrom") + , Url_arg_file_end = Bry_.new_a7("fileuntil") + , Div_id_subc = Bry_.new_a7("mw-subcategories") + , Div_id_page = Bry_.new_a7("mw-pages") + , Div_id_file = Bry_.new_a7("mw-category-media") ; } interface Xoctg_fmtr_itm extends Bry_fmtr_arg { 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 342953537..64b531284 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_itm.java @@ -24,7 +24,7 @@ abstract class Xoctg_fmtr_itm_base implements Xoctg_fmtr_itm { href_parser = wiki.Appe().Href_parser(); html_itm = mgr.Html_itm(); html_itm_missing = mgr.Html_itm_missing(); - history_mgr = wiki.Appe().User().History_mgr(); + history_mgr = wiki.Appe().Usere().History_mgr(); } protected Xowe_wiki wiki; Xol_lang lang; Xoctg_view_ctg ctg; protected int len; protected Xoh_href_parser href_parser; protected Bry_fmtr html_itm, html_itm_missing; protected Xoctg_view_grp list; protected Xow_msg_mgr msg_mgr; Xou_history_mgr history_mgr; public void Init_from_grp(byte[] ttl_char_0, int col_bgn) {this.ttl_char_0 = ttl_char_0; this.col_bgn = col_bgn;} private byte[] ttl_char_0; int col_bgn; int col_end; @@ -116,6 +116,6 @@ class Xoctg_fmtr_itm_subc extends Xoctg_fmtr_itm_base { if (val == 0) return; if (bfr.Len() > 1) bfr.Add(Bld_contains_text_itm_dlm); // NOTE: 1 b/c Paren_bgn is always added bfr.Add(msg_mgr.Val_by_id_args(msg_id, val)); - } static final byte[] Bld_contains_text_itm_dlm = Bry_.new_ascii_(", "); + } static final byte[] Bld_contains_text_itm_dlm = Bry_.new_a7(", "); public static final Xoctg_fmtr_itm_subc _ = new Xoctg_fmtr_itm_subc(); Xoctg_fmtr_itm_subc() {} } diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr.java index 3505793a8..decf13a30 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_html_mgr.java @@ -34,7 +34,7 @@ public class Xoctg_html_mgr implements GfoInvkAble { } catch (Exception e) { // ctg error should never cause page to fail tmp_bfr.Mkr_rls(); - Xoa_app_.Usr_dlg().Warn_many("", "", "failed to generate category: title=~{0} err=~{1}", String_.new_utf8_(page.Ttl().Full_txt()), Err_.Message_gplx_brief(e)); + Xoa_app_.Usr_dlg().Warn_many("", "", "failed to generate category: title=~{0} err=~{1}", String_.new_u8(page.Ttl().Full_txt()), Err_.Message_gplx_brief(e)); } } private Xoctg_url url_ctg = new Xoctg_url(); private void Bld_html_v2(Xowe_wiki wiki, Xoae_page page, Bry_bfr bfr) { @@ -51,13 +51,13 @@ public class Xoctg_html_mgr implements GfoInvkAble { Add_titles(title_list, ctg.Subcs()); Add_titles(title_list, ctg.Files()); Add_titles(title_list, ctg.Pages()); - title_list.SortBy(Xoctg_view_itm_sorter_id._); + title_list.Sort_by(Xoctg_view_itm_sorter_id._); int len = title_list.Count(); int pct = len / 16; Xowd_page_itm dbo_page = new Xowd_page_itm(); for (int i = 0; i < len; i++) { - Xoctg_view_itm itm = (Xoctg_view_itm)title_list.FetchAt(i); - if (pct != 0 && i % pct == 0) usr_dlg.Prog_many("", "", "loading title data: ~{0} / ~{1} -- ~{2}", i, len, String_.new_utf8_(itm.Sortkey())); + Xoctg_view_itm itm = (Xoctg_view_itm)title_list.Get_at(i); + if (pct != 0 && i % pct == 0) usr_dlg.Prog_many("", "", "loading title data: ~{0} / ~{1} -- ~{2}", i, len, String_.new_u8(itm.Sortkey())); boolean id_exists = wiki.Db_mgr().Load_mgr().Load_by_id(dbo_page, itm.Id()); Xoa_ttl itm_ttl = null; if (id_exists) @@ -70,8 +70,8 @@ public class Xoctg_html_mgr implements GfoInvkAble { } itm.Ttl_(itm_ttl); } - } ListAdp title_list = ListAdp_.new_(); static final byte[] Bry_missing = Bry_.new_ascii_("missing"); - private void Add_titles(ListAdp title_list, Xoctg_view_grp grp) { + } List_adp title_list = List_adp_.new_(); static final byte[] Bry_missing = Bry_.new_a7("missing"); + private void Add_titles(List_adp title_list, Xoctg_view_grp grp) { int len = grp.Itms().length; for (int i = 0; i < len; i++) { Xoctg_view_itm itm = grp.Itms()[i]; 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 085e47a71..c94a38d5b 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 @@ -30,10 +30,10 @@ public class Xoctg_html_mgr_tst { fxt .Test_html_page(Xoa_ctg_mgr.Tid_page, Byte_ascii.Ltr_A, "\n
  • A1 (missing)
  • "); } @Test public void Visited_doesnt_work_for_space() {// PURPOSE: xowa-visited not inserted for pages with space - byte[] page_bry = Bry_.new_ascii_("A 1"); - Xoa_url url = Xoa_url.new_(Bry_.new_ascii_("en.wikipedia.org"), page_bry); + byte[] page_bry = Bry_.new_a7("A 1"); + Xoa_url url = Xoa_url.new_(Bry_.new_a7("en.wikipedia.org"), page_bry); Xoa_ttl ttl = Xoa_ttl.parse_(fxt.Wiki(), page_bry); - fxt.Wiki().Appe().User().History_mgr().Add(url, ttl, page_bry); + fxt.Wiki().Appe().Usere().History_mgr().Add(url, ttl, page_bry); fxt .Init_itm_page("A_1").Init_ctg_name_("Ctg_1").Init_ctg_pages_(0, 1) .Test_html_all(Xoa_ctg_mgr.Tid_page, String_.Concat_lines_nl_skip_last ( "" @@ -223,10 +223,10 @@ class Xoh_ctg_page_fxt { public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki; public Xoctg_view_ctg Ctg() {return ctg;} private Xoctg_view_ctg ctg; public void Test_bld_rslts_lnk(boolean next, String ctg_str, String expd) { - byte[] actl = ctg_html.Fmtr(Xoa_ctg_mgr.Tid_page).Grp_max_(0).Bld_bwd_fwd(wiki, Xoa_ttl.parse_(wiki, Bry_.new_ascii_(ctg_str)), ctg.Grp_by_tid(Xoa_ctg_mgr.Tid_page)); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + byte[] actl = ctg_html.Fmtr(Xoa_ctg_mgr.Tid_page).Grp_max_(0).Bld_bwd_fwd(wiki, Xoa_ttl.parse_(wiki, Bry_.new_a7(ctg_str)), ctg.Grp_by_tid(Xoa_ctg_mgr.Tid_page)); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); } - public Xoh_ctg_page_fxt Init_ctg_name_(String v) {ctg.Name_(Bry_.new_utf8_(v)); return this;} + public Xoh_ctg_page_fxt Init_ctg_name_(String v) {ctg.Name_(Bry_.new_u8(v)); return this;} public Xoh_ctg_page_fxt Init_ctg_pages_(int bgn, int count) {ctg.Pages().Bgn_(bgn).All_(count).End_(count); return this;} public Xoh_ctg_page_fxt Init_ctg_files_(int bgn, int count) {ctg.Files().Bgn_(bgn).All_(count).End_(count); return this;} public Xoh_ctg_page_fxt Init_itm_page(String... titles) {ctg.Pages().Itms_(itms_(titles)).End_(titles.length); return this;} @@ -237,7 +237,7 @@ class Xoh_ctg_page_fxt { Xoctg_view_itm[] rv = new Xoctg_view_itm[len]; for (int i = 0; i < len; i++) { String title = titles[i]; - byte[] title_bry = Bry_.new_utf8_(title); + byte[] title_bry = Bry_.new_u8(title); Xoa_ttl ttl = Xoa_ttl.parse_(wiki, title_bry); rv[i] = new Xoctg_view_itm().Ttl_(ttl).Sortkey_(ttl.Page_txt()); } diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java index 5a3b74f4f..68b80e572 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx.xowa.ctgs; import gplx.*; import gplx.xowa.*; import gplx.core.primitives.*; import gplx.core.flds.*; public class Xoctg_idx_mgr implements GfoInvkAble { - ListAdp itms = ListAdp_.new_(); + List_adp itms = List_adp_.new_(); public int Block_len() {return block_len;} public Xoctg_idx_mgr Block_len_(int v) {this.block_len = v; return this;} private int block_len = Io_mgr.Len_mb; public int Itms_len() {return itms.Count();} - public Xoctg_idx_itm Itms_get_at(int i) {return (Xoctg_idx_itm)itms.FetchAt(i);} + public Xoctg_idx_itm Itms_get_at(int i) {return (Xoctg_idx_itm)itms.Get_at(i);} public void Itms_add(Xoctg_idx_itm itm) {itms.Add(itm);} public byte[] Src() {return src;} public Xoctg_idx_mgr Src_(byte[] v) {src = v; return this;} private byte[] src; public int Total() {return total;} public Xoctg_idx_mgr Total_(int v) {total = v; return this;} private int total; @@ -33,7 +33,7 @@ public class Xoctg_idx_mgr implements GfoInvkAble { int pipe_pos_cur = -1, pipe_pos_prv = -1; for (int i = block_len; i < len; i += block_len) { usr_dlg.Prog_many("", "", "indexing ~{0} ~{1}", i, len); - pipe_pos_cur = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, i, len); if (pipe_pos_cur == Bry_.NotFound) throw Err_.new_fmt_("ctg_idx_mgr could not find pipe.next; ctg={0} pos={1}", String_.new_ascii_(ctg), i); + pipe_pos_cur = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, i, len); if (pipe_pos_cur == Bry_.NotFound) throw Err_.new_fmt_("ctg_idx_mgr could not find pipe.next; ctg={0} pos={1}", String_.new_a7(ctg), i); if (pipe_pos_cur == len - 1) break; Index_itm(ctg, src, pipe_pos_cur + 1, len); // +1 to skip pipe pipe_pos_prv = pipe_pos_cur; @@ -43,7 +43,7 @@ public class Xoctg_idx_mgr implements GfoInvkAble { Index_itm(ctg, src, pipe_pos_cur + 1, len); } private void Index_itm(byte[] ctg, byte[] src, int bgn, int len) { - int end = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, bgn, len); if (end == Bry_.NotFound) throw Err_.new_fmt_("Ctg_idx_mgr could not find pipe.end; ctg={0} pos={1}", String_.new_ascii_(ctg), bgn); + int end = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, bgn, len); if (end == Bry_.NotFound) throw Err_.new_fmt_("Ctg_idx_mgr could not find pipe.end; ctg={0} pos={1}", String_.new_a7(ctg), bgn); fld_rdr.Pos_(bgn); Xoctg_idx_itm itm = new Xoctg_idx_itm().Parse(fld_rdr, bgn); itms.Add(itm); @@ -55,9 +55,9 @@ public class Xoctg_idx_mgr implements GfoInvkAble { Xoctg_idx_itm rv = null; int comp_prv = Int_.MinValue, comp_cur = 0; while (true) { - rv = (Xoctg_idx_itm)itms.FetchAt(pos); + rv = (Xoctg_idx_itm)itms.Get_at(pos); comp_cur = Bry_.Compare(find, rv.Sortkey()); - // Tfds.Write(dif, pos, comp_cur, comp_prv, String_.new_ascii_(find), String_.new_ascii_(rv.Sortkey())); + // Tfds.Write(dif, pos, comp_cur, comp_prv, String_.new_a7(find), String_.new_a7(rv.Sortkey())); if (comp_cur == CompareAble_.Same) break; // exact match; stop dif /= 2; if (dif == 0) dif = 1; // make sure dif is at least 1 @@ -99,11 +99,11 @@ public class Xoctg_idx_mgr implements GfoInvkAble { pos_cur = dir_fwd ? itm_bgn : itm_bgn - 1; // -1 to position at pipe (note that -1 in FindBwd will position before) tmp_prv_itm.Copy(tmp_cur_itm); } - // Tfds.Write(arg_is_from, dir_fwd, String_.new_utf8_(find), String_.new_utf8_(tmp_cur_itm.Sortkey()), String_.new_utf8_(tmp_prv_itm.Sortkey())); + // Tfds.Write(arg_is_from, dir_fwd, String_.new_u8(find), String_.new_u8(tmp_cur_itm.Sortkey()), String_.new_u8(tmp_prv_itm.Sortkey())); if (comp_cur == CompareAble_.Same) return tmp_cur_itm; return (arg_is_from && dir_fwd) || (!arg_is_from && !dir_fwd) ? tmp_cur_itm : tmp_prv_itm; // see note above } private Xoctg_idx_itm tmp_cur_itm = new Xoctg_idx_itm(), tmp_prv_itm = new Xoctg_idx_itm(); Gfo_fld_rdr fld_rdr = Gfo_fld_rdr.xowa_(); - public void Find(ListAdp rv, byte[] src, boolean arg_is_from, byte[] find, int find_count, Xoctg_view_itm last_plus_one) { + public void Find(List_adp rv, byte[] src, boolean arg_is_from, byte[] find, int find_count, Xoctg_view_itm last_plus_one) { int tmp_pos = 0; int src_len = src.length; last_plus_one.Clear(); if (find != null) { // find == null when no args passed; EX: "en.wikipedia.org/wiki/Category:A" (vs "en.wikipedia.org/wiki/Category:A?from=B") @@ -136,10 +136,10 @@ public class Xoctg_idx_mgr implements GfoInvkAble { if (tmp_pos == src_len) break; // last pipe; stop } if (!arg_is_from) - rv.SortBy(Xoctg_view_itm_sorter_sortkey._); + rv.Sort_by(Xoctg_view_itm_sorter_sortkey._); int rv_count = rv.Count(); if (rv_count > 0) { - Xoctg_view_itm last_itm = (Xoctg_view_itm)rv.FetchAt(rv_count - 1); + Xoctg_view_itm last_itm = (Xoctg_view_itm)rv.Get_at(rv_count - 1); int last_itm_pos = last_itm.Pos(); tmp_pos = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, last_itm_pos); if (tmp_pos != Bry_.NotFound && tmp_pos < src_len - 1) { 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 d34c2abee..dec2e4795 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 @@ -74,7 +74,7 @@ class Xoctg_idx_mgr_fxt { idx_mgr = new Xoctg_idx_mgr(); } return this; - } private Xoae_app app; Xowe_wiki wiki; Xoctg_idx_mgr idx_mgr; static final byte[] Ctg_name = Bry_.new_ascii_("Ctg_test"); + } private Xoae_app app; Xowe_wiki wiki; Xoctg_idx_mgr idx_mgr; static final byte[] Ctg_name = Bry_.new_a7("Ctg_test"); public byte[] Make_src(int len) { Bry_bfr bfr = wiki.Utl__bfr_mkr().Get_k004().Mkr_rls(); bfr.Add_byte_pipe(); // always have leading pipe @@ -99,37 +99,37 @@ class Xoctg_idx_mgr_fxt { int len = idx_mgr.Itms_len(); String[] rv = new String[len]; for (int i = 0; i < len; i++) - rv[i] = String_.new_ascii_(idx_mgr.Itms_get_at(i).Sortkey()); + rv[i] = String_.new_a7(idx_mgr.Itms_get_at(i).Sortkey()); return rv; } public Xoctg_idx_mgr_fxt Test_itms_binary_search(String find, String expd, int expd_comp) { comp_rslt.Val_zero_(); - Xoctg_idx_itm rslt = idx_mgr.Itms_binary_search(Bry_.new_ascii_(find), comp_rslt); - Tfds.Eq(expd, String_.new_ascii_(rslt.Sortkey())); + Xoctg_idx_itm rslt = idx_mgr.Itms_binary_search(Bry_.new_a7(find), comp_rslt); + Tfds.Eq(expd, String_.new_a7(rslt.Sortkey())); Tfds.Eq(expd_comp, comp_rslt.Val()); return this; } Int_obj_ref comp_rslt = Int_obj_ref.zero_(); public Xoctg_idx_mgr_fxt Test_find_itm_near_bmk(int idx_bgn, String find, int bmk_comp, boolean find_dir, String expd) { int idx_pos = (idx_bgn * Xoctg_idx_mgr_tst.Itm_len) + (bmk_comp == CompareAble_.Less ? 1 : 0); - Xoctg_idx_itm rslt = idx_mgr.Find_itm_near_bmk(src, src_len, Bry_.new_ascii_(find), find_dir, bmk_comp, idx_pos); - String actl = rslt == null ? null : String_.new_ascii_(rslt.Sortkey()); + Xoctg_idx_itm rslt = idx_mgr.Find_itm_near_bmk(src, src_len, Bry_.new_a7(find), find_dir, bmk_comp, idx_pos); + String actl = rslt == null ? null : String_.new_a7(rslt.Sortkey()); Tfds.Eq(expd, actl); return this; } public Xoctg_idx_mgr_fxt Test_find(String find, boolean fill_at_bgn, String[] expd_ary, String last_plus_one) { - if (tmp_list == null) tmp_list = ListAdp_.new_(); + if (tmp_list == null) tmp_list = List_adp_.new_(); idx_mgr.Index(Gfo_usr_dlg_.Test(), Bry_.Empty, src); tmp_list.Clear(); - idx_mgr.Find(tmp_list, src, fill_at_bgn, Bry_.new_ascii_(find), 3, tmp_last_plus_one); + idx_mgr.Find(tmp_list, src, fill_at_bgn, Bry_.new_a7(find), 3, tmp_last_plus_one); Tfds.Eq_ary(expd_ary, To_str_ary(tmp_list)); - Tfds.Eq(last_plus_one, String_.new_ascii_(tmp_last_plus_one.Sortkey())); + Tfds.Eq(last_plus_one, String_.new_a7(tmp_last_plus_one.Sortkey())); return this; - } ListAdp tmp_list; Xoctg_view_itm tmp_last_plus_one = new Xoctg_view_itm(); - String[] To_str_ary(ListAdp list) { + } List_adp tmp_list; Xoctg_view_itm tmp_last_plus_one = new Xoctg_view_itm(); + String[] To_str_ary(List_adp list) { int len = list.Count(); String[] rv = new String[len]; for (int i = 0; i < len; i++) { - rv[i] = String_.new_ascii_(((Xoctg_view_itm)list.FetchAt(i)).Sortkey()); + rv[i] = String_.new_a7(((Xoctg_view_itm)list.Get_at(i)).Sortkey()); } return rv; } diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_grp.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_grp.java index a038723c8..d37e9f624 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_grp.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_grp.java @@ -28,7 +28,7 @@ public class Xoctg_pagelist_grp implements Bry_fmtr_arg { lbl_ctg_help = Xol_msg_mgr_.Get_msg_val(wiki, wiki.Lang(), Key_pagecategorieslink, Bry_.Ary_empty); lbl_hidden = wiki.Msg_mgr().Val_by_id(Xol_msg_itm_.Id_ctg_tbl_hidden); itms.Init_wiki(wiki); - } private byte[] lbl_ctg_help, lbl_ctg_text, lbl_hidden; private static final byte[] Key_pagecategorieslink = Bry_.new_ascii_("pagecategorieslink"); + } private byte[] lbl_ctg_help, lbl_ctg_text, lbl_hidden; private static final byte[] Key_pagecategorieslink = Bry_.new_a7("pagecategorieslink"); public boolean Type_is_normal() {return type_is_normal;} private boolean type_is_normal; public Xoctg_pagelist_itms Itms() {return itms;} private Xoctg_pagelist_itms itms = new Xoctg_pagelist_itms(); public void XferAry(Bry_bfr bfr, int idx) { diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_itms.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_itms.java index 719161092..2fe1930bc 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_itms.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_pagelist_itms.java @@ -21,16 +21,16 @@ import gplx.xowa.users.history.*; public class Xoctg_pagelist_itms implements Bry_fmtr_arg { public void Init_app(Xoae_app app, Bry_fmtr fmtr_itm) { this.href_parser = app.Href_parser(); - this.history_mgr = app.User().History_mgr(); + this.history_mgr = app.Usere().History_mgr(); this.fmtr_itm = fmtr_itm; } private Xoh_href_parser href_parser; private Xou_history_mgr history_mgr; private Bry_fmtr fmtr_itm; public void Init_wiki(Xowe_wiki wiki) {this.wiki = wiki;} private Xowe_wiki wiki; - public void Itms_clear() {itms.Clear();} private ListAdp itms = ListAdp_.new_(); + public void Itms_clear() {itms.Clear();} private List_adp itms = List_adp_.new_(); public void Itms_add(Xowd_page_itm page) {itms.Add(page);} public void XferAry(Bry_bfr bfr, int idx) { int len = itms.Count(); for (int i = 0; i < len; i++) { - Xowd_page_itm page = (Xowd_page_itm)itms.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)itms.Get_at(i); Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Xow_ns_.Id_category, page.Ttl_page_db()); byte[] lnki_cls = Xoh_lnki_wtr.Lnki_cls_visited(history_mgr, wiki.Domain_bry(), ttl.Page_txt()); // NOTE: must be ttl.Page_txt() in order to match Xou_history_mgr.Add byte[] lnki_href = href_parser.Build_to_bry(wiki, ttl); 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 eafa4f966..7c6794c0b 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 @@ -73,13 +73,13 @@ class Xoctg_pagelist_mgr_fxt { Xowd_page_itm page = new Xowd_page_itm(); Xowd_category_itm ctg_xtn = Xowd_category_itm.load_(0, 0, hidden, 0, 0, 0); page.Xtn_(ctg_xtn); - page.Ttl_page_db_(Bry_.new_ascii_(ttl)); - init_ctgs.AddMany(page); + page.Ttl_page_db_(Bry_.new_a7(ttl)); + init_ctgs.Add_many(page); } - } private ListAdp init_ctgs = ListAdp_.new_(); + } private List_adp init_ctgs = List_adp_.new_(); public void Test_print_hidden(String expd) { Bry_bfr bfr = Bry_bfr.new_(); - Xowd_page_itm[] page_ary = (Xowd_page_itm[])init_ctgs.Xto_ary_and_clear(Xowd_page_itm.class); + Xowd_page_itm[] page_ary = (Xowd_page_itm[])init_ctgs.To_ary_and_clear(Xowd_page_itm.class); hidden_wtr.Print_hidden(bfr, fxt.Wiki(), page_ary); 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_url.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java index dd170cfe8..93f1997aa 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java @@ -34,7 +34,7 @@ public class Xoctg_url { Gfo_url_arg arg = args[i]; byte[] arg_key = arg.Key_bry(); Object tid_obj = Arg_keys.Get_by_bry(arg_key); - if (tid_obj == null) {usr_dlg.Warn_many("", "", "unknown arg_key: ~{0}", String_.new_utf8_(arg_key)); continue;} // ignore invalid args + if (tid_obj == null) {usr_dlg.Warn_many("", "", "unknown arg_key: ~{0}", String_.new_u8(arg_key)); continue;} // ignore invalid args byte[] arg_val = arg.Val_bry(); byte tid = ((Byte_obj_val)tid_obj).Val(); switch (tid) { diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_url_tst.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url_tst.java index 3998f76f8..f37fa0536 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_url_tst.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url_tst.java @@ -37,7 +37,7 @@ class Xoctg_url_fxt { } } private Xoa_url_parser parser; Xoa_url page_url; Xoctg_url ctg_url; public void Test_parse(String url_str, Xoctg_url_chkr expd) { - parser.Parse(page_url, Bry_.new_utf8_(url_str)); + parser.Parse(page_url, Bry_.new_u8(url_str)); ctg_url.Parse(Gfo_usr_dlg_.Test(), page_url); expd.Chk(ctg_url); expd.Clear(); @@ -45,9 +45,9 @@ class Xoctg_url_fxt { } class Xoctg_url_chkr { public Xoctg_url_chkr Grp_idxs_(String subc, String file, String page) { - grp_idxs[Xoa_ctg_mgr.Tid_subc] = Bry_.new_ascii_(subc); - grp_idxs[Xoa_ctg_mgr.Tid_file] = Bry_.new_ascii_(file); - grp_idxs[Xoa_ctg_mgr.Tid_page] = Bry_.new_ascii_(page); + grp_idxs[Xoa_ctg_mgr.Tid_subc] = Bry_.new_a7(subc); + grp_idxs[Xoa_ctg_mgr.Tid_file] = Bry_.new_a7(file); + grp_idxs[Xoa_ctg_mgr.Tid_page] = Bry_.new_a7(page); return this; } byte[][] grp_idxs = new byte[Xoa_ctg_mgr.Tid__max][]; public Xoctg_url_chkr Grp_fwds_(byte subc, byte file, byte page) { 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 793a4b043..bbdb21248 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java @@ -35,7 +35,7 @@ public class Xoctg_view_grp { return rv; } 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.Xto_ary(Xoctg_view_itm.class);} + public List_adp Itms_list() {return tmp_list;} List_adp tmp_list = List_adp_.new_(); + public void Itms_make() {itms = (Xoctg_view_itm[])tmp_list.To_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_load_mgr.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java index 229702830..4f7344317 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java @@ -21,19 +21,20 @@ public interface Xodb_load_mgr { void Load_init (Xowe_wiki wiki); void Load_page (Xowd_page_itm rv, Xow_ns ns, boolean timestamp_enabled); boolean Load_by_id (Xowd_page_itm rv, int id); - void Load_by_ids (Cancelable cancelable, ListAdp rv, int bgn, int end); + void Load_by_ids (Cancelable cancelable, List_adp rv, int bgn, int end); boolean Load_by_ttl (Xowd_page_itm rv, Xow_ns ns, byte[] ttl); - void Load_by_ttls (Cancelable cancelable, OrderedHash rv, boolean fill_idx_fields_only, int bgn, int end); + void Load_by_ttls (Cancelable cancelable, Ordered_hash rv, boolean fill_idx_fields_only, int bgn, int end); int Load_ctg_count (byte[] ttl); boolean Load_ctg_v1 (Xoctg_view_ctg rv, byte[] ttl); boolean Load_ctg_v2 (Xoctg_data_ctg rv, byte[] ttl); void Load_ctg_v2a (Xoctg_view_ctg rv, Xoctg_url url_ctg, byte[] ttl_bry, int limit); Xowd_page_itm[] Load_ctg_list (byte[][] ctg_ttls); - void Load_search (Cancelable cancelable, ListAdp rv, byte[] search, int results_max); - void Load_ttls_for_all_pages (Cancelable cancelable, ListAdp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item); - void Load_ttls_for_search_suggest(Cancelable cancelable, ListAdp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item); + void Load_search (Cancelable cancelable, List_adp rv, byte[] search, int results_max); + void Load_ttls_for_all_pages (Cancelable cancelable, List_adp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item); + void Load_ttls_for_search_suggest(Cancelable cancelable, List_adp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item); byte[] Find_random_ttl (Xow_ns ns); void Clear(); // TEST:helper function byte[] Load_qid (byte[] wiki_alias, byte[] ns_num, byte[] ttl); int Load_pid (byte[] lang_key, byte[] pid_name); + Xodb_page_rdr Get_page_rdr(Xowe_wiki wiki); } 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 5a34c1cc1..f3be38184 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,13 +46,13 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { int len = cfg_hash.Len(); for (int i = 0; i < len; ++i) { Db_cfg_itm cfg_itm = cfg_hash.Get_at(i); - gfs_mgr.Build_prop_set(bfr, Bry_.new_utf8_(cfg_itm.Key()), Bry_.new_utf8_(cfg_itm.To_str_or(""))); + gfs_mgr.Build_prop_set(bfr, Bry_.new_u8(cfg_itm.Key()), Bry_.new_u8(cfg_itm.To_str_or(""))); } gfs_mgr.Run_str_for(wiki, bfr.Xto_str_and_clear()); } finally {bfr.Mkr_rls();} } public boolean Load_by_ttl(Xowd_page_itm rv, Xow_ns ns, byte[] ttl) {return db_mgr.Core_data_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) { + public void Load_by_ttls(Cancelable cancelable, Ordered_hash rv, boolean fill_idx_fields_only, int bgn, int end) { db_mgr.Core_data_mgr().Tbl__page().Select_in__ns_ttl(cancelable, rv, db_mgr.Wiki().Ns_mgr(), fill_idx_fields_only, bgn, end); } public void Load_page(Xowd_page_itm rv, Xow_ns ns, boolean timestamp_enabled) { @@ -61,7 +61,7 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { rv.Text_(text_bry); } public boolean Load_by_id (Xowd_page_itm rv, int id) {return db_mgr.Core_data_mgr().Tbl__page().Select_by_id(rv, id);} - public void Load_by_ids(Cancelable cancelable, ListAdp rv, int bgn, int end) {db_mgr.Core_data_mgr().Tbl__page().Select_in__id(cancelable, false, rv, bgn, end);} + public void Load_by_ids(Cancelable cancelable, List_adp rv, int bgn, int end) {db_mgr.Core_data_mgr().Tbl__page().Select_in__id(cancelable, false, rv, bgn, end);} public boolean Load_ctg_v1(Xoctg_view_ctg rv, byte[] ctg_bry) { int cat_page_id = db_mgr.Core_data_mgr().Tbl__page().Select_id(Xow_ns_.Id_category, ctg_bry); if (cat_page_id == Xowd_page_itm.Id_null) return false; Xowd_category_itm ctg = fsys_mgr.Db__cat_core().Tbl__cat_core().Select(cat_page_id); if (ctg == Xowd_category_itm.Null) return false; @@ -71,11 +71,11 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { public void Load_ctg_v2a(Xoctg_view_ctg rv, Xoctg_url ctg_url, byte[] ctg_ttl, int load_max) { int cat_page_id = db_mgr.Core_data_mgr().Tbl__page().Select_id(Xow_ns_.Id_category, ctg_ttl); if (cat_page_id == Xowd_page_itm.Id_null) return; Xowd_category_itm ctg = fsys_mgr.Db__cat_core().Tbl__cat_core().Select(cat_page_id); if (ctg == Xowd_category_itm.Null) return; - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); Load_ctg_v2a_db_retrieve(rv, ctg_url, cat_page_id, load_max, ctg.File_idx(), list); Load_ctg_v2a_ui_sift(rv, ctg, list); } - private void Load_ctg_v2a_db_retrieve(Xoctg_view_ctg rv, Xoctg_url ctg_url, int cat_page_id, int load_max, int cat_link_db_idx, ListAdp list) { + private void Load_ctg_v2a_db_retrieve(Xoctg_view_ctg rv, Xoctg_url ctg_url, int cat_page_id, int load_max, int cat_link_db_idx, List_adp list) { int len = Xoa_ctg_mgr.Tid__max; for (byte i = Xoa_ctg_mgr.Tid_subc; i < len; i++) { boolean arg_is_from = ctg_url.Grp_fwds()[i] == Bool_.N_byte; @@ -83,20 +83,20 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { Xowd_cat_link_tbl cat_link_tbl = db_mgr.Core_data_mgr().Dbs__get_at(cat_link_db_idx).Tbl__cat_link(); int found = cat_link_tbl.Select_by_type(list, cat_page_id, i, arg_sortkey, arg_is_from, load_max); if (found > 0 && found == load_max + 1) { - Xowd_page_itm last_page = (Xowd_page_itm)ListAdp_.Pop(list); + Xowd_page_itm last_page = (Xowd_page_itm)List_adp_.Pop(list); Xoctg_page_xtn last_ctg = (Xoctg_page_xtn)last_page.Xtn(); rv.Grp_by_tid(i).Itms_last_sortkey_(last_ctg.Sortkey()); } } db_mgr.Core_data_mgr().Tbl__page().Select_in__id(Cancelable_.Never, list); } - private void Load_ctg_v2a_ui_sift(Xoctg_view_ctg rv, Xowd_category_itm ctg, ListAdp list) { + private void Load_ctg_v2a_ui_sift(Xoctg_view_ctg rv, Xowd_category_itm ctg, List_adp list) { int len = list.Count(); Xowe_wiki wiki = this.db_mgr.Wiki(); byte prv_tid = Byte_.Max_value_127; Xoctg_view_grp view_grp = null; for (int i = 0; i < len; i++) { - Xowd_page_itm db_page = (Xowd_page_itm)list.FetchAt(i); + Xowd_page_itm db_page = (Xowd_page_itm)list.Get_at(i); if (db_page.Ns_id() == Int_.MinValue) continue; // HACK: page not found; ignore Xoctg_page_xtn db_ctg = (Xoctg_page_xtn)db_page.Xtn(); byte cur_tid = db_ctg.Tid(); @@ -124,7 +124,7 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { search_version = search_db == Xowd_db_file.Null ? Xows_page__search.Version_1 : Xows_page__search.Version_2; } } - public void Load_search(Cancelable cancelable, ListAdp rv, byte[] search, int results_max) { + public void Load_search(Cancelable cancelable, List_adp rv, byte[] search, int results_max) { if (search_version_init_needed) Search_version_init(); if (search_version == gplx.xowa.specials.search.Xows_page__search.Version_1) db_mgr.Core_data_mgr().Tbl__page().Select_by_search(cancelable, rv, search, results_max); @@ -134,10 +134,10 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { core_data_mgr.Tbl__page().Select_in__id(cancelable, true, rv); } } - public void Load_ttls_for_all_pages(Cancelable cancelable, ListAdp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { + public void Load_ttls_for_all_pages(Cancelable cancelable, List_adp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { db_mgr.Core_data_mgr().Tbl__page().Select_for_special_all_pages(cancelable, rslt_list, rslt_nxt, rslt_prv, rslt_count, ns, key, max_results, min_page_len, browse_len, include_redirects, fetch_prv_item); } - public void Load_ttls_for_search_suggest(Cancelable cancelable, ListAdp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { + public void Load_ttls_for_search_suggest(Cancelable cancelable, List_adp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { db_mgr.Core_data_mgr().Tbl__page().Select_for_search_suggest(cancelable, rslt_list, ns, key, max_results, min_page_len, browse_len, include_redirects, fetch_prv_item); } public int Load_ctg_count(byte[] ttl) { @@ -149,11 +149,12 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { public byte[] Load_qid(byte[] wiki_alias, byte[] ns_num, byte[] ttl) {return db_mgr.Core_data_mgr().Db__wbase().Tbl__wbase_qid().Select_qid(wiki_alias, ns_num, ttl);} public int Load_pid(byte[] lang_key, byte[] pid_name) {return db_mgr.Core_data_mgr().Db__wbase().Tbl__wbase_pid().Select_pid(lang_key, pid_name);} public byte[] Find_random_ttl(Xow_ns ns) {return db_mgr.Core_data_mgr().Tbl__page().Select_random(ns);} + public Xodb_page_rdr Get_page_rdr(Xowe_wiki wiki) {return new Xodb_page_rdr__sql(wiki);} public void Clear() {} public Xowd_page_itm[] Load_ctg_list(byte[][] ctg_ttls) { if (db_mgr.Core_data_mgr().Db__cat_core() == null) return Xowd_page_itm.Ary_empty; int len = ctg_ttls.length; - OrderedHash hash = OrderedHash_.new_bry_(); + Ordered_hash hash = Ordered_hash_.new_bry_(); for (int i = 0; i < len; i++) { Xowd_page_itm page = new Xowd_page_itm(); byte[] ttl = Xoa_ttl.Replace_spaces(ctg_ttls[i]); // NOTE: ctg_ttls has spaces since v1 rendered it literally; @@ -163,26 +164,26 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { } len = hash.Count(); // must update len (!hash.Has() may have skipped titles) db_mgr.Core_data_mgr().Tbl__page().Select_in__ttl(Cancelable_.Never, hash, Xow_ns_.Id_category, 0, len); - OrderedHash hash2 = OrderedHash_.new_(); + Ordered_hash hash2 = Ordered_hash_.new_(); for (int i = 0; i < len; i++) { - Xowd_page_itm page = (Xowd_page_itm)hash.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)hash.Get_at(i); if (!hash2.Has(page.Id_val())) hash2.Add(page.Id_val(), page); } len = hash2.Count(); // must update len (!hash2.Has() may have skipped titles) db_mgr.Core_data_mgr().Db__cat_core().Tbl__cat_core().Select_by_cat_id_in(Cancelable_.Never, hash2, 0, len); - return (Xowd_page_itm[])hash.Xto_ary(Xowd_page_itm.class); + return (Xowd_page_itm[])hash.To_ary(Xowd_page_itm.class); } private static boolean Ctg_select_v1(Xowe_wiki wiki, Xowd_db_mgr core_data_mgr, Xoctg_view_ctg view_ctg, int link_db_id, Xowd_category_itm ctg) { - ListAdp link_list = ListAdp_.new_(); + List_adp link_list = List_adp_.new_(); core_data_mgr.Dbs__get_at(link_db_id).Tbl__cat_link().Select_in(link_list, ctg.Id()); int link_list_len = link_list.Count(); - link_list.SortBy(Xowd_page_itm_sorter.IdAsc); + link_list.Sort_by(Xowd_page_itm_sorter.IdAsc); core_data_mgr.Tbl__page().Select_in__id(Cancelable_.Never, false, link_list, 0, link_list_len); - link_list.SortBy(Xowd_page_itm_sorter.Ns_id_TtlAsc); + link_list.Sort_by(Xowd_page_itm_sorter.Ns_id_TtlAsc); boolean rv = false; for (int i = 0; i < link_list.Count(); i++) { - Xowd_page_itm page = (Xowd_page_itm)link_list.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)link_list.Get_at(i); if (page.Ns_id() == Int_.MinValue) continue; // HACK: page not found; ignore byte ctg_tid = Xodb_load_mgr_txt.Load_ctg_v1_tid(page.Ns_id()); Xoctg_view_grp ctg_grp = view_ctg.Grp_by_tid(ctg_tid); 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 699381e33..344817ea6 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 @@ -35,7 +35,7 @@ class Xoctg_url_mok extends Xoctg_url { public Xoctg_url_mok Page_bgn_(String v) public Xoctg_url_mok Page_end_(String v) {return Grp(Xoa_ctg_mgr.Tid_page, Bool_.N, v);} Xoctg_url_mok Grp(byte tid, boolean v, String bmk) { this.Grp_fwds()[tid] = v ? Bool_.Y_byte : Bool_.N_byte; - this.Grp_idxs()[tid] = Bry_.new_ascii_(bmk); + this.Grp_idxs()[tid] = Bry_.new_a7(bmk); return this; } } @@ -53,7 +53,7 @@ class Xodb_load_mgr_sql_fxt { public void Rls() {fxt.Rls();} public Xowd_page_itm[] pages_(Xowd_page_itm... ary) {return ary;} public Xowd_page_itm ctg_(int id, String ttl, boolean hidden, int count_subcs, int count_files, int count_pages) { - Xowd_page_itm rv = new Xowd_page_itm().Ns_id_(Xow_ns_.Id_category).Id_(id).Ttl_page_db_(Bry_.new_ascii_(ttl)); + Xowd_page_itm rv = new Xowd_page_itm().Ns_id_(Xow_ns_.Id_category).Id_(id).Ttl_page_db_(Bry_.new_a7(ttl)); Xowd_category_itm ctg = Xowd_category_itm.load_(id, 0, hidden, count_subcs, count_files, count_pages); rv.Xtn_(ctg); return rv; @@ -106,7 +106,7 @@ class Xodb_load_mgr_sql_fxt { Xoctg_view_grp view_grp = view_ctg.Grp_by_tid(i); Xoctg_mok_grp mok_grp = expd.Grps_get_or_new(i); Tfds.Eq_ary_str(Xto_str(mok_grp), Xto_str(view_grp)); - Tfds.Eq(String_.new_ascii_(mok_grp.Last_plus_one_sortkey()), String_.new_ascii_(view_grp.Itms_last_sortkey())); + Tfds.Eq(String_.new_a7(mok_grp.Last_plus_one_sortkey()), String_.new_a7(view_grp.Itms_last_sortkey())); } } String[] Xto_str(Xoctg_view_grp grp) { @@ -120,12 +120,12 @@ class Xodb_load_mgr_sql_fxt { return rv; } String[] Xto_str(Xoctg_mok_grp grp) { - ListAdp list = grp.Itms(); + List_adp list = grp.Itms(); int len = list.Count(); String[] rv = new String[len]; for (int i = 0; i< len; i++) { - Xowd_page_itm itm = (Xowd_page_itm)list.FetchAt(i); - rv[i] = String_.new_ascii_(itm.Ttl_page_db()); + Xowd_page_itm itm = (Xowd_page_itm)list.Get_at(i); + rv[i] = String_.new_a7(itm.Ttl_page_db()); } return rv; } @@ -137,12 +137,12 @@ class Xodb_load_mgr_sql_fxt { class Xoctg_mok_grp { public byte Tid() {return tid;} public Xoctg_mok_grp Tid_(byte v) {this.tid = v; return this;} private byte tid; public byte[] Last_plus_one_sortkey() {return last_plus_one_sortkey;} public Xoctg_mok_grp Last_plus_one_sortkey_(byte[] v) {this.last_plus_one_sortkey = v; return this;} private byte[] last_plus_one_sortkey; - public ListAdp Itms() {return itms;} ListAdp itms = ListAdp_.new_(); + public List_adp Itms() {return itms;} List_adp itms = List_adp_.new_(); } class Xoctg_mok_ctg { public Xoctg_mok_ctg(Int_obj_ref next_id) {this.next_id = next_id;} Int_obj_ref next_id; public byte[] Ttl() {return ttl;} - public Xoctg_mok_ctg Ttl_(String v) {return Ttl_(Bry_.new_ascii_(v));} + public Xoctg_mok_ctg Ttl_(String v) {return Ttl_(Bry_.new_a7(v));} public Xoctg_mok_ctg Ttl_(byte[] v) {this.ttl = v; return this;} private byte[] ttl; public Xoctg_mok_grp[] Grps() {return grps;} private Xoctg_mok_grp[] grps = new Xoctg_mok_grp[3]; public Xoctg_mok_grp Grps_get_or_new(byte tid) { @@ -156,18 +156,18 @@ class Xoctg_mok_ctg { public Xoctg_mok_ctg Grp_pages_(int count) {return Grp_pages_(0, count, null);} public Xoctg_mok_ctg Grp_pages_(int bgn, int end, String last_itm_plus_one_sortkey) { Xoctg_mok_grp grp = Grps_get_or_new(Xoa_ctg_mgr.Tid_page); - byte[] ttl_prefix = Bry_.new_ascii_("Page_"); + byte[] ttl_prefix = Bry_.new_a7("Page_"); int ns_id = Xow_ns_.Id_main; byte ctg_tid = Xoa_ctg_mgr.Tid_page; for (int i = bgn; i < end; i++) { - byte[] ttl = Bry_.Add(ttl_prefix, Bry_.new_ascii_(Int_.Xto_str_pad_bgn_zero(i, 3))); + byte[] ttl = Bry_.Add(ttl_prefix, Bry_.new_a7(Int_.Xto_str_pad_bgn_zero(i, 3))); Xoctg_page_xtn db_ctg = new Xoctg_page_xtn(ctg_tid, ttl); Xowd_page_itm page = new Xowd_page_itm(); int page_id = next_id.Val_add_post(); page.Id_(page_id).Ns_id_(ns_id).Ttl_page_db_(ttl).Xtn_(db_ctg); grp.Itms().Add(page); } - grp.Last_plus_one_sortkey_(Bry_.new_ascii_(last_itm_plus_one_sortkey)); + grp.Last_plus_one_sortkey_(Bry_.new_a7(last_itm_plus_one_sortkey)); return this; } } 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 c6b342788..50c747656 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 @@ -18,11 +18,14 @@ along with this program. If not, see . package gplx.xowa.dbs; import gplx.*; import gplx.xowa.*; import gplx.core.primitives.*; import gplx.core.brys.*; import gplx.core.flds.*; import gplx.xowa.bldrs.cmds.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.specials.search.*; import gplx.xowa.tdbs.*; public class Xodb_load_mgr_txt implements Xodb_load_mgr { + private final Xob_xdat_file tmp_xdat_file = new Xob_xdat_file(); private final Xob_xdat_itm tmp_xdat_itm = new Xob_xdat_itm(); + private final Xowd_page_itm tmp_page = new Xowd_page_itm(); + private final Object thread_lock = new Object(); + private Xowe_wiki wiki; private Xotdb_fsys_mgr fsys_mgr; public Xodb_load_mgr_txt(Xowe_wiki wiki) { this.wiki = wiki; this.fsys_mgr = wiki.Tdb_fsys_mgr(); - } private Xowe_wiki wiki; Xotdb_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 (Xowe_wiki wiki) {} public void Load_page(Xowd_page_itm rv, Xow_ns ns, boolean timestamp_enabled) {Load_page(rv, rv.Text_db_id(), rv.Tdb_row_idx(), ns, timestamp_enabled, tmp_xdat_file, tmp_xdat_itm);} public void Load_page(Xowd_page_itm rv, int txt_fil_idx, int txt_row_idx, Xow_ns ns, boolean timestamp_enabled, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm) { @@ -38,21 +41,21 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { rv.Exists_(true); return Bry_.Eq(rv.Ttl_page_db(), ttl); } - public void Load_by_ttls(Cancelable cancelable, OrderedHash rv, boolean fill_idx_fields_only, int bgn, int end) {// NOTE: Load_by_ttls just a wrapper around Load_by_ttl; for xdat, Load_by_ttl is fast enough + public void Load_by_ttls(Cancelable cancelable, Ordered_hash rv, boolean fill_idx_fields_only, int bgn, int end) {// NOTE: Load_by_ttls just a wrapper around Load_by_ttl; for xdat, Load_by_ttl is fast enough for (int i = bgn; i < end; i++) { if (cancelable.Canceled()) return; - Xowd_page_itm page = (Xowd_page_itm)rv.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)rv.Get_at(i); Load_by_ttl(page, page.Ns(), page.Ttl_page_db()); } } - public void Load_by_ids(Cancelable cancelable, ListAdp list, int bgn, int end) { + public void Load_by_ids(Cancelable cancelable, List_adp list, int bgn, int end) { int prv_fil_idx = -1; byte[] id_bry = new byte[5]; int len = end - bgn; Gfo_usr_dlg_fmt msg_wtr = Gfo_usr_dlg_fmt.fmt_(GRP_KEY, "search2_ids", "resolving ids: ~{0} of ~{1} (~{2})", len, 10f); for (int i = 0; i < len; i++) { if (cancelable.Canceled()) return; - Xowd_page_itm itm = (Xowd_page_itm)list.FetchAt(i + bgn); + Xowd_page_itm itm = (Xowd_page_itm)list.Get_at(i + bgn); Base85_utl.XtoStrByAry(itm.Id(), id_bry, 0, 5); int cur_fil_idx = this.Find_file_idx_by_site(Xotdb_dir_info_.Tid_id, id_bry); if (cur_fil_idx != prv_fil_idx) { @@ -63,8 +66,8 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { itm.Ns_id_(tmp_page.Ns_id()).Ttl_page_db_(tmp_page.Ttl_page_db()); msg_wtr.Write_prog_cur(i, wiki.Appe().Usr_dlg()); } - } Xowd_page_itm tmp_page = new Xowd_page_itm(); - public void Load_search(Cancelable cancelable, ListAdp rv, byte[] search, int results_max) { + } + public void Load_search(Cancelable cancelable, List_adp rv, byte[] search, int results_max) { Xow_ns ns = wiki.Ns_mgr().Ns_main(); int search_len = search.length; byte match_tid = Xows_page__search.Match_tid_all; @@ -104,7 +107,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } } } - private void Find_ttls__add_itms(ListAdp rv, Xob_xdat_file rdr, Xob_xdat_itm xdat_itm) { + private void Find_ttls__add_itms(List_adp rv, Xob_xdat_file rdr, Xob_xdat_itm xdat_itm) { byte[] raw = rdr.Src(); int itm_bgn = xdat_itm.Itm_bgn(), itm_end = xdat_itm.Itm_end(); int pos = Bry_finder.Find_fwd(raw, Byte_ascii.Pipe, itm_bgn, raw.length); @@ -183,8 +186,8 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { Xotdb_page_itm_.Txt_id_load(page, tmp_xdat_itm.Itm_bry()); return true; } - boolean Load_xdat_itm(Xob_xdat_itm xdat_itm, byte regy_tid, byte[] key, boolean exact) {return Load_xdat_itm(xdat_itm, null, regy_tid, key, 0, Byte_ascii.Pipe, exact);} - boolean Load_xdat_itm(Xob_xdat_itm xdat_itm, Xow_ns ns, byte regy_tid, byte[] key, int parse_bgn, byte parse_dlm, boolean exact) { + private boolean Load_xdat_itm(Xob_xdat_itm xdat_itm, byte regy_tid, byte[] key, boolean exact) {return Load_xdat_itm(xdat_itm, null, regy_tid, key, 0, Byte_ascii.Pipe, exact);} + private boolean Load_xdat_itm(Xob_xdat_itm xdat_itm, Xow_ns ns, byte regy_tid, byte[] key, int parse_bgn, byte parse_dlm, boolean exact) { // get regy Xowd_regy_mgr regy = null; if (ns == null) @@ -202,7 +205,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { // find itm by key tmp_xdat_file.Find(xdat_itm, key, parse_bgn, parse_dlm, exact); return !xdat_itm.Missing(); - } Int_obj_ref tmp_len = Int_obj_ref.zero_(); + } private final Int_obj_ref tmp_len = Int_obj_ref.zero_(); public boolean Load_xdat_file(Cancelable cancelable, Xob_xdat_file xdat_file, byte regy_tid, int fil_idx) {return Load_xdat_file(cancelable, xdat_file, regy_tid, null, fil_idx);} boolean Load_xdat_file(Cancelable cancelable, Xob_xdat_file xdat_file, byte regy_tid, Xow_ns ns, int fil_idx) { Io_url fil = ns == null ? fsys_mgr.Url_site_fil(regy_tid, fil_idx) : fsys_mgr.Url_ns_fil(regy_tid, ns.Id(), fil_idx); @@ -210,22 +213,24 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } public boolean Load_xdat_file(Cancelable cancelable, Xob_xdat_file xdat_file, Io_url url) { boolean rv = false; - if (cancelable.Canceled()) return false; - Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001(); - byte[] tmp_bry = tmp_bfr.Bfr(); - if (cancelable.Canceled()) return false; - tmp_bry = Io_mgr._.LoadFilBry_reuse(url, tmp_bry, tmp_len); - if (cancelable.Canceled()) return false; - if (tmp_bry.length == 0) - wiki.Appe().Usr_dlg().Warn_many("", "file.empty", "hive file is empty: ~{0}", url.Raw()); - else { - int src_len = tmp_len.Val(); - xdat_file.Clear().Parse(tmp_bry, src_len, url); - xdat_file.Src_len_(src_len); - rv = true; + synchronized (thread_lock) { + if (cancelable.Canceled()) return false; + Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001(); + byte[] tmp_bry = tmp_bfr.Bfr(); + if (cancelable.Canceled()) return false; + tmp_bry = Io_mgr.I.LoadFilBry_reuse(url, tmp_bry, tmp_len); + if (cancelable.Canceled()) return false; + if (tmp_bry.length == 0) + wiki.Appe().Usr_dlg().Warn_many("", "file.empty", "hive file is empty: ~{0}", url.Raw()); + else { + int src_len = tmp_len.Val(); + xdat_file.Clear().Parse(tmp_bry, src_len, url); + xdat_file.Src_len_(src_len); + rv = true; + } + if (cancelable.Canceled()) return false; + tmp_bfr.Clear_and_rls(); } - if (cancelable.Canceled()) return false; - tmp_bfr.Clear_and_rls(); return rv; } int Find_file_idx_by_ns(byte regy_tid, Xow_ns ns, byte[] key) { @@ -284,11 +289,11 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { Load_xdat_file(Cancelable_.Never, tmp_xdat_file, fil); tmp_xdat_file.Find(tmp_xdat_itm, ctg_ttl, 0, Byte_ascii.Pipe, true); if (tmp_xdat_itm.Missing()) return false; - ListAdp ctgs = ListAdp_.new_(); + List_adp ctgs = List_adp_.new_(); Load_ctg_v1_parse(ctgs, wiki.Appe().Usr_dlg(), tmp_xdat_itm.Itm_bry()); - ctgs.SortBy(Xowd_page_itm_sorter.IdAsc); + ctgs.Sort_by(Xowd_page_itm_sorter.IdAsc); this.Load_by_ids(Cancelable_.Never, ctgs, 0, ctgs.Count()); - ctgs.SortBy(Xowd_page_itm_sorter.Ns_id_TtlAsc); + ctgs.Sort_by(Xowd_page_itm_sorter.Ns_id_TtlAsc); int ctgs_len = ctgs.Count(); if (ctgs_len == 0) return false; if (count_only != null) { // Ctg_count specificed @@ -296,7 +301,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { return true; } for (int i = 0; i < ctgs_len; i++) { - Xowd_page_itm itm = (Xowd_page_itm)ctgs.FetchAt(i); + Xowd_page_itm itm = (Xowd_page_itm)ctgs.Get_at(i); byte itm_tid = Load_ctg_v1_tid(itm.Ns_id()); Xoctg_view_itm sub = Load_ctg_v1_sub(itm_tid, itm); sub.Ttl_(Xoa_ttl.parse_(wiki, itm.Ns_id(), itm.Ttl_page_db())).Sortkey_(itm.Ttl_page_db()); @@ -309,7 +314,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } return true; } - private static void Load_ctg_v1_parse(ListAdp rv, Gfo_usr_dlg usr_dlg, byte[] ary) { + private static void Load_ctg_v1_parse(List_adp rv, Gfo_usr_dlg usr_dlg, byte[] ary) { int aryLen = ary.length; int pos = Bry_finder.Find_fwd(ary, Byte_ascii.Pipe, 0, aryLen); int rowCount = (aryLen - pos + 1) / (Base85_utl.Len_int + gplx.xowa.apps.progs.Xoa_prog_mgr.Len_dlm_fld); @@ -327,7 +332,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } catch (Exception e) { row.Id_(0); - usr_dlg.Warn_many("xowa.ttl_request", "parse", "failed to parse row: row=~{0} err=~{1}", String_.new_utf8_(ary), Err_.Message_lang(e)); + usr_dlg.Warn_many("xowa.ttl_request", "parse", "failed to parse row: row=~{0} err=~{1}", String_.new_u8(ary), Err_.Message_lang(e)); garbage = true; continue; // NOTE: must break b/c rest of ids are garbage } @@ -345,7 +350,19 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { rv.Load_by_ttl_data(tid, data.Id(), 0, data.Text_len()); return rv; } - + public static boolean Load_page_or_false(Xowd_page_itm page, Xob_xdat_itm xdat, int ns_id) { + byte[] src = xdat.Src(); int itm_end = xdat.Itm_end(); + int bgn = xdat.Itm_bgn(); + int timestamp = Base85_utl.XtoIntByAry(src, bgn + 6 , bgn + 10); + int ttl_end = Bry_finder.Find_fwd(src, Xotdb_page_itm_.Txt_page_dlm, bgn + 12, itm_end); + if (ttl_end == -1) return false; + byte[] ttl = Bry_.Mid (src, bgn + 12 , ttl_end); + byte[] text = Bry_.Mid (src, ttl_end + 1 , itm_end - 1); + page.Init_by_tdb(-1, -1, xdat.Itm_idx(), Bool_.N, text.length, ns_id, ttl); + page.Modified_on_(Bit_.Xto_date_short(timestamp)); + page.Text_(text); + return true; + } private void Load_page_parse(Xowd_page_itm page, byte[] src, int src_len, int row_bgn, int row_end, boolean timestamp_enabled) { // \n\tdate5\tpage_title\tpage_text int timestamp_bgn = row_bgn + 5 + 1; int timestamp_end = timestamp_bgn + 5; @@ -370,17 +387,17 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { Xowd_regy_mgr rv = ns_regys[ns_ord]; if (rv == null) { Io_url file = fsys_mgr.Url_ns_reg(ns.Num_str(), Xotdb_dir_info_.Tid_ttl); - if (!Io_mgr._.ExistsFil(file)) return null; + if (!Io_mgr.I.ExistsFil(file)) return null; rv = new Xowd_regy_mgr(file); ns_regys[ns_ord] = rv; } return rv; } private Xowd_regy_mgr[] ns_regys = new Xowd_regy_mgr[Xow_ns_mgr_.Ordinal_max]; private Xowd_page_itm tmp_rslt_nxt = new Xowd_page_itm(), tmp_rslt_prv = new Xowd_page_itm(); private Int_obj_ref tmp_rslt_count = Int_obj_ref.zero_(); - public void Load_ttls_for_search_suggest(Cancelable cancelable, ListAdp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { + public void Load_ttls_for_search_suggest(Cancelable cancelable, List_adp rslt_list, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { this.Load_ttls_for_all_pages(cancelable, rslt_list, tmp_rslt_nxt, tmp_rslt_prv, tmp_rslt_count, ns, key, max_results, min_page_len, browse_len, include_redirects, fetch_prv_item); } - public void Load_ttls_for_all_pages(Cancelable cancelable, ListAdp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { + public void Load_ttls_for_all_pages(Cancelable cancelable, List_adp rslt_list, Xowd_page_itm rslt_nxt, Xowd_page_itm rslt_prv, Int_obj_ref rslt_count, Xow_ns ns, byte[] key, int max_results, int min_page_len, int browse_len, boolean include_redirects, boolean fetch_prv_item) { byte dir_tid = Xotdb_dir_info_.Tid_ttl; Xob_xdat_file cur_xdat_file = new Xob_xdat_file(); Xob_xdat_itm cur_xdat_itm = new Xob_xdat_itm(); @@ -393,7 +410,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { Special_allpages_query_fwd(rslt_list, rslt_nxt, rslt_count , dir_tid, ns, include_redirects, browse_len, fil_idx, itm_idx , cur_xdat_file, cur_xdat_itm, regy); Special_allpages_query_bwd(rslt_list, rslt_prv , dir_tid, ns, include_redirects, browse_len, fil_idx, itm_idx - 1, cur_xdat_file, cur_xdat_itm); } - private void Special_allpages_query_fwd(ListAdp rslt_list, Xowd_page_itm rslt_nxt, Int_obj_ref rslt_count, byte dir_tid, Xow_ns ns, boolean include_redirects, int total, int fil_idx, int row_idx, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm, Xowd_regy_mgr regy) { + private void Special_allpages_query_fwd(List_adp rslt_list, Xowd_page_itm rslt_nxt, Int_obj_ref rslt_count, byte dir_tid, Xow_ns ns, boolean include_redirects, int total, int fil_idx, int row_idx, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm, Xowd_regy_mgr regy) { int count = 0; ++total; boolean loop = true; int regy_len = regy.Files_ary().length; @@ -429,7 +446,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { if (rslt_nxt != null) rslt_nxt.Copy(nxt_itm); } - private void Special_allpages_query_bwd(ListAdp rslt_list, Xowd_page_itm rslt_prv, byte dir_tid, Xow_ns ns, boolean include_redirects, int total, int fil_idx, int row_idx, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm) { + private void Special_allpages_query_bwd(List_adp rslt_list, Xowd_page_itm rslt_prv, byte dir_tid, Xow_ns ns, boolean include_redirects, int total, int fil_idx, int row_idx, Xob_xdat_file xdat_file, Xob_xdat_itm xdat_itm) { if (row_idx < 0) { --fil_idx; row_idx = -1; @@ -465,22 +482,22 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { --fil_idx; } if (prv_itm == null && rslt_list.Count() > 0) { - prv_itm = (Xowd_page_itm)rslt_list.FetchAt(0); + prv_itm = (Xowd_page_itm)rslt_list.Get_at(0); } if (rslt_prv != null) rslt_prv.Copy(prv_itm); } public byte[] Load_qid(byte[] wiki_alias, byte[] ns_num, byte[] ttl) { - String xwiki_key = String_.new_ascii_(wiki_alias); + String xwiki_key = String_.new_a7(wiki_alias); if (qids_root == null) qids_root = wiki.Appe().Wiki_mgr().Wdata_mgr().Wdata_wiki().Tdb_fsys_mgr().Site_dir().GenSubDir_nest("data", "qid"); - Xob_xdat_itm qid_itm = Load_xdat_itm_by_dir(qids_root.GenSubDir_nest(xwiki_key, String_.new_ascii_(ns_num)), ttl); if (qid_itm == null) return null; + Xob_xdat_itm qid_itm = Load_xdat_itm_by_dir(qids_root.GenSubDir_nest(xwiki_key, String_.new_a7(ns_num)), ttl); if (qid_itm == null) return null; return Bry_.Mid(qid_itm.Src(), qid_itm.Itm_bgn() + ttl.length + 1, qid_itm.Itm_end()); // extract qid; note that all itms have format of "ttl|qid" } Io_url qids_root; public int Load_pid(byte[] lang_key, byte[] pid_name) { if (pids_root == null) pids_root = wiki.Appe().Wiki_mgr().Wdata_mgr().Wdata_wiki().Tdb_fsys_mgr().Site_dir().GenSubDir_nest("data", "pid"); - Xob_xdat_itm pid_itm = Load_xdat_itm_by_dir(pids_root.GenSubDir(String_.new_utf8_(lang_key)), pid_name); if (pid_itm == null) return gplx.xowa.xtns.wdatas.Wdata_wiki_mgr.Pid_null; + Xob_xdat_itm pid_itm = Load_xdat_itm_by_dir(pids_root.GenSubDir(String_.new_u8(lang_key)), pid_name); if (pid_itm == null) return gplx.xowa.xtns.wdatas.Wdata_wiki_mgr.Pid_null; return Bry_.Xto_int_or(pid_itm.Src(), pid_itm.Itm_bgn() + pid_name.length + 1 + 1, pid_itm.Itm_end(), gplx.xowa.xtns.wdatas.Wdata_wiki_mgr.Pid_null); // extract pid; note that all itms have format of "ttl|pid"; +1=skip pipe; +1 skip p } Io_url pids_root; public int Load_ctg_count(byte[] ttl) {return wiki.Db_mgr().Category_version() == Xoa_ctg_mgr.Version_1 ? Load_ctg_count_v1(ttl) : Load_ctg_count_v2(ttl);} @@ -532,6 +549,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { } return rv; } + public Xodb_page_rdr Get_page_rdr(Xowe_wiki wiki) {return new Xodb_page_rdr__tdb(wiki);} static final String GRP_KEY = "xowa.wiki.db.load"; } class Xob_random_itm { diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java index 9ca0864eb..83b528f56 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java @@ -36,7 +36,7 @@ public class Xodb_mgr_sql implements Xodb_mgr, GfoInvkAble { public DateAdp Dump_date_query() { DateAdp rv = wiki.Props().Modified_latest(); if (rv != null) return rv; Io_url url = core_data_mgr.Db__core().Url(); - return Io_mgr._.QueryFil(url).ModifiedTime(); + return Io_mgr.I.QueryFil(url).ModifiedTime(); } public void Category_version_update(boolean version_is_1) { String grp = Xow_cfg_consts.Grp_wiki_init; diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java index 634972566..43310c4d4 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java @@ -30,11 +30,11 @@ public class Xodb_mgr_txt implements Xodb_mgr { public Xodb_save_mgr Save_mgr() {return save_mgr;} private Xodb_save_mgr_txt save_mgr; public DateAdp Dump_date_query() { Io_url url = wiki.Tdb_fsys_mgr().Url_ns_fil(Xotdb_dir_info_.Tid_page, Xow_ns_.Id_main, 0); - return Io_mgr._.QueryFil(url).ModifiedTime(); + return Io_mgr.I.QueryFil(url).ModifiedTime(); } public byte Category_version() { if (category_version == Xoa_ctg_mgr.Version_null) { - if (Io_mgr._.ExistsDir(wiki.Tdb_fsys_mgr().Url_site_dir(Xotdb_dir_info_.Tid_category2_link))) + if (Io_mgr.I.ExistsDir(wiki.Tdb_fsys_mgr().Url_site_dir(Xotdb_dir_info_.Tid_category2_link))) category_version = Xoa_ctg_mgr.Version_2; else category_version = Xoa_ctg_mgr.Version_1; diff --git a/400_xowa/src/gplx/xowa2/files/Xof_fsdb_mgr.java b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr.java similarity index 77% rename from 400_xowa/src/gplx/xowa2/files/Xof_fsdb_mgr.java rename to 400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr.java index e5214bed7..3b9a7a86c 100644 --- a/400_xowa/src/gplx/xowa2/files/Xof_fsdb_mgr.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr.java @@ -15,7 +15,10 @@ 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.xowa2.files; import gplx.*; import gplx.xowa2.*; -public interface Xof_fsdb_mgr { - boolean Download(Xofv_file_itm itm); +package gplx.xowa.dbs; import gplx.*; import gplx.xowa.*; +import gplx.xowa.wikis.data.tbls.*; +public interface Xodb_page_rdr { + boolean Move_next(); + boolean Read(Xowd_page_itm page); + void Rls(); } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__sql.java b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__sql.java new file mode 100644 index 000000000..28d9d53dd --- /dev/null +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__sql.java @@ -0,0 +1,40 @@ +/* +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.dbs; import gplx.*; import gplx.xowa.*; +import gplx.dbs.*; +import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*; +class Xodb_page_rdr__sql implements Xodb_page_rdr { + private final Xowd_db_mgr db_mgr; + private final Xowd_page_tbl page_tbl; private final Db_rdr rdr; + public Xodb_page_rdr__sql(Xowe_wiki wiki) { + this.db_mgr = wiki.Data_mgr__core_mgr(); + this.page_tbl = db_mgr.Tbl__page(); + this.rdr = page_tbl.Select_all(); + } + public boolean Move_next() {return rdr.Move_next();} + public boolean Read(Xowd_page_itm page) { + page_tbl.Read_page__all(page, rdr); + Xowd_text_tbl text_tbl = db_mgr.Dbs__get_at(page.Text_db_id()).Tbl__text(); + page.Text_(text_tbl.Select(page.Id())); + return true; + } + public void Rls() { + rdr.Rls(); + } +} + diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__tdb.java b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__tdb.java new file mode 100644 index 000000000..5bb84eb46 --- /dev/null +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_page_rdr__tdb.java @@ -0,0 +1,86 @@ +/* +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.dbs; import gplx.*; import gplx.xowa.*; +import gplx.ios.*; import gplx.xowa.tdbs.*; +import gplx.xowa.wikis.data.tbls.*; +public class Xodb_page_rdr__tdb implements Xodb_page_rdr { + private final Xow_ns_mgr ns_mgr; private final Xotdb_fsys_mgr fsys_mgr; + private int cur_ns_ord = -1; private Xow_ns cur_ns; private Io_url[] cur_file_ary; private Io_url cur_file; private int cur_file_idx = -1; + private final Xob_xdat_file cur_xdat_file = new Xob_xdat_file(); private int cur_xdat_len, cur_xdat_idx; private final Xob_xdat_itm cur_xdat_itm = new Xob_xdat_itm(); + private int page_id = 0; + public Xodb_page_rdr__tdb(Xowe_wiki wiki) { + this.ns_mgr = wiki.Ns_mgr(); this.fsys_mgr = wiki.Tdb_fsys_mgr(); + } + public boolean Move_next() { + while (true) { + if (cur_ns == null) { + ++this.cur_ns_ord; + if (cur_ns_ord >= ns_mgr.Ords_len()) return false; // no more ns; return false; + this.cur_ns = ns_mgr.Ords_get_at(cur_ns_ord); + this.cur_file_ary = Get_page_url_ary(cur_ns); + if (cur_file_ary == null) { // ns doesn't have files; try next ns; + cur_ns = null; + continue; + } + this.cur_file_idx = -1; + this.cur_file = null; + } + if (cur_file == null) { + ++this.cur_file_idx; + if (cur_file_idx == cur_file_ary.length) { // no more files in ns; try next ns; + cur_ns = null; + continue; + } + this.cur_file = cur_file_ary[cur_file_idx]; + byte[] bry = Io_stream_rdr_.Load_all(cur_file); + cur_xdat_file.Clear().Parse(bry, bry.length, cur_file); + this.cur_xdat_len = cur_xdat_file.Count(); + this.cur_xdat_idx = -1; + } + ++this.cur_xdat_idx; + if (cur_xdat_idx == cur_xdat_len) { // no more rows in file; try next file + cur_file = null; + continue; + } + cur_xdat_file.GetAt(cur_xdat_itm, cur_xdat_idx); + return true; + } + } + public boolean Read(Xowd_page_itm page) { + boolean rv = Xodb_load_mgr_txt.Load_page_or_false(page, cur_xdat_itm, cur_ns.Id()); + if (!rv) + Xoa_app_.Usr_dlg().Warn_many("", "", "page_rdr.tdb; unable to read page; ns=~{0}, file=~{1} itm_idx=~{2}", cur_ns.Id(), cur_file.Raw(), cur_xdat_idx); + // wiki.Db_mgr().Load_mgr().Load_by_ttl(page, cur_ns, page.Ttl_page_db()); + page.Id_(++page_id); + return rv; + } + public void Rls() {} + private Io_url[] Get_page_url_ary(Xow_ns ns) { + Io_url reg_url = fsys_mgr.Url_ns_reg(ns.Num_str(), Xotdb_dir_info_.Tid_ttl); + if (!Io_mgr.I.ExistsFil(reg_url)) return null; + Xowd_regy_mgr reg_mgr = new Xowd_regy_mgr(reg_url); + Xowd_hive_regy_itm[] file_ary = reg_mgr.Files_ary(); + int len = file_ary.length; + Io_url[] rv = new Io_url[len]; + for (int i = 0; i < len; ++i) { + int fil_idx = file_ary[i].Idx(); + rv[i] = fsys_mgr.Url_ns_fil(Xotdb_dir_info_.Tid_page, ns.Id(), fil_idx); + } + return rv; + } +} 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 c194437ad..681697a40 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 @@ -32,7 +32,7 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { Xow_ns ns_itm = ttl.Ns(); byte[] ttl_bry = ttl.Page_db(); Xowd_page_itm db_page = Xowd_page_itm.new_tmp(); boolean found = load_mgr.Load_by_ttl(db_page, ns_itm, ttl_bry); - if (found) throw Err_mgr._.fmt_(GRP_KEY, "title_exists", "create requested but title already exists: ~{0}", String_.new_utf8_(ttl_bry)); + if (found) throw Err_mgr._.fmt_(GRP_KEY, "title_exists", "create requested but title already exists: ~{0}", String_.new_u8(ttl_bry)); int text_len = text.length; Bry_bfr tmp = wiki.Utl__bfr_mkr().Get_m001(); int page_id = page_id_next++; @@ -59,7 +59,7 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { } public void Data_update(Xoae_page page, byte[] text) {Data_update_under(page, text, null);} public void Data_rename(Xoae_page page, int trg_ns, byte[] trg_ttl) { - if (wiki.Domain_tid() != Xow_domain_.Tid_int_home) { + if (wiki.Domain_tid() != Xow_domain_type_.Tid_home) { wiki.Appe().Usr_dlg().Warn_many("", "", "Only pages in the home wiki can be renamed"); return; } @@ -69,7 +69,7 @@ public class Xodb_save_mgr_txt implements Xodb_save_mgr { Xoa_ttl ttl = page.Ttl(); Xow_ns ns = ttl.Ns(); byte[] ttl_bry = ttl.Page_db(); Xowd_page_itm db_page = Xowd_page_itm.new_tmp(); - if (!load_mgr.Load_by_ttl(db_page, ns, ttl_bry)) throw Err_mgr._.fmt_(GRP_KEY, "title_missing", "update requested but title does not exist: ~{0}", String_.new_utf8_(ttl_bry)); + if (!load_mgr.Load_by_ttl(db_page, ns, ttl_bry)) throw Err_mgr._.fmt_(GRP_KEY, "title_missing", "update requested but title does not exist: ~{0}", String_.new_u8(ttl_bry)); byte[] old_ttl = ttl_bry; if (new_ttl != null) { ttl_bry = new_ttl; diff --git a/400_xowa/src/gplx/xowa/files/Xof_bin_updater.java b/400_xowa/src/gplx/xowa/files/Xof_bin_updater.java index 70be78069..de2f534c6 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_bin_updater.java +++ b/400_xowa/src/gplx/xowa/files/Xof_bin_updater.java @@ -22,19 +22,19 @@ public class Xof_bin_updater { private final Fsd_img_itm tmp_img_itm = new Fsd_img_itm(); private final Fsd_thm_itm tmp_thm_itm = Fsd_thm_itm.new_(); private final Fsd_fil_itm tmp_fil_itm = new Fsd_fil_itm(); public int Save_bin(Fsm_mnt_itm mnt, Fsm_atr_fil atr_fil, Fsm_bin_fil bin_fil, Xof_fsdb_itm fsdb, Io_stream_rdr rdr, long rdr_len) { int db_uid = -1; - int lnki_ext_id = fsdb.Lnki_ext().Id(); + int orig_ext_id = fsdb.Orig_ext().Id(); if (fsdb.File_is_orig()) { - if (fsdb.Lnki_ext().Id_is_image()) { // does not add .pdf and .djvu b/c latter do not have w,h for fsdb_img - mnt.Insert_img(tmp_img_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Lnki_ttl(), lnki_ext_id, fsdb.Orig_w(), fsdb.Orig_h(), rdr_len, rdr); + if (fsdb.Orig_ext().Id_is_image()) { // does not add .pdf and .djvu b/c latter do not have w,h for fsdb_img + mnt.Insert_img(tmp_img_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Orig_ttl(), orig_ext_id, fsdb.Orig_w(), fsdb.Orig_h(), rdr_len, rdr); db_uid = tmp_img_itm.Fil_id(); } else { - mnt.Insert_fil(tmp_fil_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Lnki_ttl(), lnki_ext_id, rdr_len, rdr); + mnt.Insert_fil(tmp_fil_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Orig_ttl(), orig_ext_id, rdr_len, rdr); db_uid = tmp_fil_itm.Fil_id(); } } else { - mnt.Insert_thm(tmp_thm_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Lnki_ttl(), lnki_ext_id, fsdb.Html_w(), fsdb.Html_h(), fsdb.Lnki_time(), fsdb.Lnki_page(), rdr_len, rdr); + mnt.Insert_thm(tmp_thm_itm, atr_fil, bin_fil, fsdb.Orig_repo_name(), fsdb.Orig_ttl(), orig_ext_id, fsdb.Html_w(), fsdb.Html_h(), fsdb.Lnki_time(), fsdb.Lnki_page(), rdr_len, rdr); db_uid = tmp_thm_itm.Thm_id(); } mnt.Cfg_mgr().Next_id_commit(); diff --git a/400_xowa/src/gplx/xowa/files/Xof_exec_tid.java b/400_xowa/src/gplx/xowa/files/Xof_exec_tid.java index 57ff505eb..37aa1a4ca 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_exec_tid.java +++ b/400_xowa/src/gplx/xowa/files/Xof_exec_tid.java @@ -17,5 +17,5 @@ along with this program. If not, see . */ package gplx.xowa.files; import gplx.*; import gplx.xowa.*; public class Xof_exec_tid { - public static final byte Tid_null = 0, Tid_wiki_page = 1, Tid_wiki_file = 2, Tid_viewer_app = 3; + public static final int Tid_wiki_page = 1, Tid_wiki_file = 2, Tid_viewer_app = 3; } diff --git a/400_xowa/src/gplx/xowa/files/Xof_ext.java b/400_xowa/src/gplx/xowa/files/Xof_ext.java index cb9b99e82..c0c189bc1 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_ext.java +++ b/400_xowa/src/gplx/xowa/files/Xof_ext.java @@ -38,7 +38,7 @@ public class Xof_ext { public boolean Id_supports_page() {return Xof_ext_.Id_supports_page(id);} public boolean Id_needs_convert() {return Xof_ext_.Id_needs_convert(id);} public int Id_view() {return Xof_ext_.Id_view(id);} - public boolean Is_not_viewable(byte exec_tid) { + public boolean Is_not_viewable(int exec_tid) { return exec_tid != Xof_exec_tid.Tid_viewer_app // only apply logic if !Tid_viewer_app; note that if Tid_viewer_app, then user clicked on file, so return true; && ( this.Id_is_audio() // NOTE: was audio_strict, but v2 always redefines .ogg as .ogv; DATE:2014-02-02 || id == Xof_ext_.Id_unknown // ignore unknown exts, else will download needlessly when viewing page; EX: .wav before .wav was registered; PAGE:pl.s:Spiaca_kr�lewna_(Oppman); DATE:2014-08-17 diff --git a/400_xowa/src/gplx/xowa/files/Xof_ext_.java b/400_xowa/src/gplx/xowa/files/Xof_ext_.java index a7715347e..32ef9b0b9 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_ext_.java +++ b/400_xowa/src/gplx/xowa/files/Xof_ext_.java @@ -25,12 +25,12 @@ public class Xof_ext_ { , Id_flac = 15, Id_bmp = 16, Id_xcf = 17, Id_wav = 18; public static final int Id__max = 19; public static final byte[] - Bry_png = Bry_.new_ascii_("png"), Bry_jpg = Bry_.new_ascii_("jpg"), Bry_jpeg = Bry_.new_ascii_("jpeg") - , Bry_gif = Bry_.new_ascii_("gif"), Bry_tif = Bry_.new_ascii_("tif"), Bry_tiff = Bry_.new_ascii_("tiff") - , Bry_svg = Bry_.new_ascii_("svg"), Bry_djvu = Bry_.new_ascii_("djvu"), Bry_pdf = Bry_.new_ascii_("pdf") - , Bry_mid = Bry_.new_ascii_("mid"), Bry_ogg = Bry_.new_ascii_("ogg"), Bry_oga = Bry_.new_ascii_("oga") - , Bry_ogv = Bry_.new_ascii_("ogv"), Bry_webm = Bry_.new_ascii_("webm"), Bry_flac = Bry_.new_ascii_("flac") - , Bry_bmp = Bry_.new_ascii_("bmp"), Bry_xcf = Bry_.new_ascii_("xcf"), Bry_wav = Bry_.new_ascii_("wav") + Bry_png = Bry_.new_a7("png"), Bry_jpg = Bry_.new_a7("jpg"), Bry_jpeg = Bry_.new_a7("jpeg") + , Bry_gif = Bry_.new_a7("gif"), Bry_tif = Bry_.new_a7("tif"), Bry_tiff = Bry_.new_a7("tiff") + , Bry_svg = Bry_.new_a7("svg"), Bry_djvu = Bry_.new_a7("djvu"), Bry_pdf = Bry_.new_a7("pdf") + , Bry_mid = Bry_.new_a7("mid"), Bry_ogg = Bry_.new_a7("ogg"), Bry_oga = Bry_.new_a7("oga") + , Bry_ogv = Bry_.new_a7("ogv"), Bry_webm = Bry_.new_a7("webm"), Bry_flac = Bry_.new_a7("flac") + , Bry_bmp = Bry_.new_a7("bmp"), Bry_xcf = Bry_.new_a7("xcf"), Bry_wav = Bry_.new_a7("wav") ; public static final byte[][] Bry__ary = new byte[][] { Bry_.Empty, Bry_png, Bry_jpg, Bry_jpeg @@ -41,16 +41,16 @@ public class Xof_ext_ { , Bry_bmp, Bry_xcf, Bry_wav }; public static final byte[][] Mime_type__ary = new byte[][] - { Bry_.new_ascii_("application/octet-stream"), Bry_.new_ascii_("image/png"), Bry_.new_ascii_("image/jpg"), Bry_.new_ascii_("image/jpeg") - , Bry_.new_ascii_("image/gif"), Bry_.new_ascii_("image/tiff"), Bry_.new_ascii_("image/tiff") - , Bry_.new_ascii_("image/svg+xml"), Bry_.new_ascii_("image/x.djvu"), Bry_.new_ascii_("application/pdf") - , Bry_.new_ascii_("application/x-midi"), Bry_.new_ascii_("video/ogg"), Bry_.new_ascii_("audio/oga") - , Bry_.new_ascii_("video/ogg"), Bry_.new_ascii_("video/webm"), Bry_.new_ascii_("audio/flac") - , Bry_.new_ascii_("image/bmp"), Bry_.new_ascii_("image/xcf"), Bry_.new_ascii_("audio/x-wav") + { Bry_.new_a7("application/octet-stream"), Bry_.new_a7("image/png"), Bry_.new_a7("image/jpg"), Bry_.new_a7("image/jpeg") + , Bry_.new_a7("image/gif"), Bry_.new_a7("image/tiff"), Bry_.new_a7("image/tiff") + , Bry_.new_a7("image/svg+xml"), Bry_.new_a7("image/x.djvu"), Bry_.new_a7("application/pdf") + , Bry_.new_a7("application/x-midi"), Bry_.new_a7("video/ogg"), Bry_.new_a7("audio/oga") + , Bry_.new_a7("video/ogg"), Bry_.new_a7("video/webm"), Bry_.new_a7("audio/flac") + , Bry_.new_a7("image/bmp"), Bry_.new_a7("image/xcf"), Bry_.new_a7("audio/x-wav") }; - private static final HashAdp id_hash = id_hash_new_(); - private static HashAdp id_hash_new_() { - HashAdp rv = HashAdp_.new_bry_(); + private static final Hash_adp id_hash = id_hash_new_(); + private static Hash_adp id_hash_new_() { + Hash_adp rv = Hash_adp_bry.cs_(); id_hash_new_(rv, Bry_png, Id_png); id_hash_new_(rv, Bry_jpg, Id_jpg); id_hash_new_(rv, Bry_jpeg, Id_jpeg); id_hash_new_(rv, Bry_gif, Id_gif); id_hash_new_(rv, Bry_tif, Id_tif); id_hash_new_(rv, Bry_tiff, Id_tiff); id_hash_new_(rv, Bry_svg, Id_svg); id_hash_new_(rv, Bry_djvu, Id_djvu); id_hash_new_(rv, Bry_pdf, Id_pdf); @@ -59,7 +59,7 @@ public class Xof_ext_ { id_hash_new_(rv, Bry_bmp, Id_bmp); id_hash_new_(rv, Bry_xcf, Id_xcf); id_hash_new_(rv, Bry_wav, Id_wav); return rv; } - private static void id_hash_new_(HashAdp hash, byte[] key, int val) {hash.Add(key, Int_obj_val.new_(val));} + private static void id_hash_new_(Hash_adp hash, byte[] key, int val) {hash.Add(key, Int_obj_val.new_(val));} private static final Hash_adp_bry ext_hash = Hash_adp_bry.ci_ascii_() .Add_bry_bry(Bry_png).Add_bry_bry(Bry_jpg).Add_bry_bry(Bry_jpeg) @@ -76,7 +76,7 @@ public class Xof_ext_ { return Bry__ary[id]; } public static int Get_id_by_ext_(byte[] ext_bry) { - Object o = id_hash.Fetch(ext_bry); + Object o = id_hash.Get_by(ext_bry); return o == null ? Id_unknown : ((Int_obj_val)o).Val(); } public static Xof_ext new_by_ttl_(byte[] ttl) { diff --git a/400_xowa/src/gplx/xowa/files/Xof_file_fxt.java b/400_xowa/src/gplx/xowa/files/Xof_file_fxt.java new file mode 100644 index 000000000..e162f0c36 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/Xof_file_fxt.java @@ -0,0 +1,46 @@ +/* +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.files; import gplx.*; import gplx.xowa.*; +import gplx.dbs.*; +import gplx.xowa.files.origs.*; import gplx.xowa.files.repos.*; +public class Xof_file_fxt { + private final Xowe_wiki wiki; + Xof_file_fxt(Xowe_wiki wiki) { + this.wiki = wiki; + Io_mgr.I.InitEngine_mem(); + Db_conn_bldr.I.Reg_default_mem(); + wiki.File_mgr().Version_2_y_(); + } + public static Xof_file_fxt new_(Xowe_wiki wiki) {return new Xof_file_fxt(wiki);} + public static Xof_file_fxt new_all(Xowe_wiki wiki) {return new Xof_file_fxt(wiki).Init_repos().Init_cache().Init_orig();} + public Xof_file_fxt Init_repos() { + Xow_repo_mgr_.Assert_repos(wiki.Appe(), wiki); + return this; + } + public Xof_file_fxt Init_cache() {wiki.Appe().Usere().Init_db(); return this;} + public Xof_file_fxt Init_orig() { + Db_conn conn = Db_conn_bldr.I.Get_or_new(Io_url_.mem_fil_("mem/xowa/wiki/" + wiki.Domain_str() + "/orig.xowa")).Conn(); + Xof_orig_tbl orig_tbl = new Xof_orig_tbl(conn, Bool_.Y); + orig_tbl.Create_tbl(); + wiki.File_mgr().Orig_mgr().Init_by_wiki(wiki, Xof_fsdb_mode.new_v2_gui(), new Xof_orig_tbl[] {orig_tbl}, Xof_url_bldr.new_v2()); + return this; + } + public void Exec_orig_add(boolean repo_is_commons, String orig_ttl, int orig_ext_id, int orig_w, int orig_h, String orig_redirect) { + wiki.File_mgr().Orig_mgr().Insert(Xof_repo_itm_.Repo_by_bool(repo_is_commons), Bry_.new_u8(orig_ttl), orig_ext_id, orig_w, orig_h, Bry_.new_u8(orig_redirect)); + } +} diff --git a/400_xowa/src/gplx/xowa/files/Xof_file_itm.java b/400_xowa/src/gplx/xowa/files/Xof_file_itm.java index 223253527..3e31f4df1 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_file_itm.java +++ b/400_xowa/src/gplx/xowa/files/Xof_file_itm.java @@ -16,28 +16,49 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files; import gplx.*; import gplx.xowa.*; +import gplx.xowa.files.gui.*; import gplx.xowa.files.repos.*; public interface Xof_file_itm { + int Lnki_exec_tid(); + byte[] Lnki_wiki_abrv(); byte[] Lnki_ttl(); - byte[] Lnki_md5(); - Xof_ext Lnki_ext(); byte Lnki_type(); + double Lnki_upright(); int Lnki_w(); int Lnki_h(); - double Lnki_upright(); double Lnki_time(); int Lnki_page(); byte Orig_repo_id(); byte[] Orig_repo_name(); byte[] Orig_ttl(); + byte[] Orig_ttl_md5(); Xof_ext Orig_ext(); int Orig_w(); int Orig_h(); byte[] Orig_redirect(); - boolean Img_is_thumbable(); + boolean File_is_orig(); int File_w(); + boolean File_exists(); int Html_uid(); byte Html_elem_tid(); int Html_w(); int Html_h(); - int Gallery_mgr_h(); + Io_url Html_view_url(); + Io_url Html_orig_url(); + int Html_gallery_mgr_h(); + Js_img_wkr Html_img_wkr(); + + void File_exists_(boolean v); + void Html_img_wkr_(Js_img_wkr v); + void Html_elem_tid_(byte v); + void Html_size_(int w, int h); + void Html_gallery_mgr_h_(int h); + + void Init_at_lnki(int exec_tid, byte[] wiki_abrv, byte[] ttl, byte lnki_type, double upright, int w, int h, double time, int page, int lnki_upright_patch); + void Init_at_orig(byte orig_repo_id, byte[] orig_repo_name, byte[] orig_ttl, Xof_ext orig_ext, int orig_w, int orig_h, byte[] orig_redirect); + void Init_at_html(int exec_tid, Xof_img_size img_size, Xof_repo_itm repo, Xof_url_bldr url_bldr); + void Init_at_hdoc(int html_uid, byte html_elem_tid); + void Init_at_gallery_bgn(int html_w, int html_h, int file_w); + void Init_at_gallery_end(int html_w, int html_h, Io_url html_view_url, Io_url html_orig_url); + + boolean Meta_is_new(); } diff --git a/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java b/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java index 59b238959..5e7d1a608 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java @@ -20,6 +20,117 @@ import gplx.core.threads.*; import gplx.ios.*; import gplx.fsdb.*; import gplx.fsdb.meta.*; import gplx.fsdb.data.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.origs.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.caches.*; import gplx.xowa.files.gui.*; import gplx.xowa.html.hdumps.core.*; +public class Xof_file_wkr implements Gfo_thread_wkr { + private final Xof_orig_mgr orig_mgr; private final Xof_bin_mgr bin_mgr; private final Fsm_mnt_mgr mnt_mgr; private final Xou_cache_mgr cache_mgr; + private final Gfo_usr_dlg usr_dlg; private final Xow_repo_mgr repo_mgr; private final Xog_js_wkr js_wkr; + private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); private final Xof_img_size img_size = new Xof_img_size(); + private final Xoa_page hpg; private final List_adp imgs; + public Xof_file_wkr(Xof_orig_mgr orig_mgr, Xof_bin_mgr bin_mgr, Fsm_mnt_mgr mnt_mgr, Xou_cache_mgr cache_mgr, Xow_repo_mgr repo_mgr, Xog_js_wkr js_wkr, Xoa_page hpg, List_adp imgs) { + this.orig_mgr = orig_mgr; this.bin_mgr = bin_mgr; this.mnt_mgr = mnt_mgr; this.cache_mgr = cache_mgr; + this.usr_dlg = Gfo_usr_dlg_.I; this.repo_mgr = repo_mgr; this.js_wkr = js_wkr; + this.hpg = hpg; this.imgs = imgs; + } + public String Name() {return "xowa.load_imgs";} + public boolean Resume() {return true;} + public void Exec() { + int len = imgs.Count(); + for (int i = 0; i < len; ++i) + Ctor_by_hdump(hpg, (Xohd_data_itm__base)imgs.Get_at(i)); + } + private void Ctor_by_hdump(Xoa_page hpg, Xohd_data_itm__base hdump) { + Xof_fsdb_itm fsdb = new Xof_fsdb_itm(); + fsdb.Init_at_lnki(Xof_exec_tid.Tid_wiki_page, hpg.Wiki().Domain_itm().Abrv_xo(), hdump.Lnki_ttl(), hdump.Lnki_type(), hdump.Lnki_upright(), hdump.Lnki_w(), hdump.Lnki_h(), hdump.Lnki_time(), hdump.Lnki_page(), Xof_patch_upright_tid_.Tid_all); + fsdb.Init_at_hdoc(hdump.Html_uid(), hdump.Html_elem_tid()); + fsdb.Orig_exists_n_(); + Xof_orig_itm orig = orig_mgr.Find_by_ttl_or_null(fsdb.Lnki_ttl()); if (orig == Xof_orig_itm.Null) return; + Eval_orig(orig, fsdb, url_bldr, repo_mgr, img_size); + Show_img(fsdb, usr_dlg, bin_mgr, mnt_mgr, cache_mgr, repo_mgr, js_wkr, img_size, url_bldr, hpg); + } + public static boolean Show_img(Xof_fsdb_itm fsdb, Gfo_usr_dlg usr_dlg, Xof_bin_mgr bin_mgr, Fsm_mnt_mgr mnt_mgr, Xou_cache_mgr cache_mgr, Xow_repo_mgr repo_mgr, Xog_js_wkr js_wkr, Xof_img_size img_size, Xof_url_bldr url_bldr, Xoa_page page) { + try { + if (fsdb.Orig_ext() == null) { + usr_dlg.Warn_many("", "", "file.missing.ext: file=~{0} width=~{1} page=~{2}", fsdb.Orig_ttl(), fsdb.Lnki_w(), page.Ttl().Full_db()); + return false; + } + Xof_repo_itm repo = repo_mgr.Get_trg_by_id_or_null(fsdb.Orig_repo_id(), fsdb.Orig_ttl(), page.Url_bry_safe()); + if (repo == null) return false; + fsdb.Init_at_html(fsdb.Lnki_exec_tid(), img_size, repo, url_bldr); + if (fsdb.Orig_ext().Is_not_viewable(fsdb.Lnki_exec_tid())) return false; // file not viewable; exit; EX: exec_tid = page and fsdb is audio + IoItmFil file = Io_mgr.I.QueryFil(fsdb.Html_view_url()); + if (!file.Exists()) { + if (bin_mgr.Find_to_url_as_bool(fsdb.Lnki_exec_tid(), fsdb)) { + if (fsdb.Fsdb_insert()) Save_bin(fsdb, mnt_mgr, fsdb.Html_view_url()); + } + else { + boolean pass = false; + if (fsdb.Lnki_exec_tid() == Xof_exec_tid.Tid_wiki_file) { + pass = Show_img_near(fsdb, bin_mgr, repo_mgr, page, img_size, url_bldr, js_wkr); + } + if (!pass) { + usr_dlg.Warn_many("", "", "file.missing.bin: file=~{0} width=~{1} page=~{2}", fsdb.Orig_ttl(), fsdb.Lnki_w(), page.Ttl().Full_db()); + fsdb.File_exists_n_(); + // gplx.xowa.files.gui.Js_img_mgr.Update_img_missing(usr_dlg, fsdb.Html_uid()); // TODO: update caption with "" if image is missing + return false; + } + } + } + else { + fsdb.File_exists_y_(); + fsdb.File_size_(file.Size()); + } + Js_img_mgr.Update_img(page, js_wkr, fsdb); + cache_mgr.Update(fsdb); + return true; + } catch (Exception e) { + usr_dlg.Warn_many("", "", "file.unknown: ~{0}", Err_.Message_gplx_brief(e)); + return false; + } + } + private static boolean Show_img_near(Xof_fsdb_itm fsdb, Xof_bin_mgr bin_mgr, Xow_repo_mgr repo_mgr, Xoa_page page, Xof_img_size img_size, Xof_url_bldr url_bldr, Xog_js_wkr js_wkr) { + Xof_bin_wkr__fsdb_sql fsdb_sql_wkr = (Xof_bin_wkr__fsdb_sql)bin_mgr.Wkrs__get_or_null(Xof_bin_wkr_.Key_fsdb_wiki); + if (fsdb_sql_wkr != null) { + Io_stream_rdr file_rdr = fsdb_sql_wkr.Get_to_fsys_near(fsdb, fsdb.Orig_repo_name(), fsdb.Orig_ttl(), fsdb.Orig_ext(), fsdb.Lnki_time(), fsdb.Lnki_page()); + try { + if (file_rdr != Io_stream_rdr_.Null) { + Xof_repo_itm repo = repo_mgr.Get_trg_by_id_or_null(fsdb.Orig_repo_id(), fsdb.Lnki_ttl(), page.Url_bry_safe()); + Io_url file_url = url_bldr.Init_for_trg_file(Xof_repo_itm_.Mode_by_bool(!fsdb.File_is_orig()), repo, fsdb.Orig_ttl(), fsdb.Orig_ttl_md5(), fsdb.Orig_ext(), fsdb.File_w(), fsdb.Lnki_time(), fsdb.Lnki_page()).Xto_url(); + Io_stream_wtr_.Save_rdr(file_url, file_rdr, Io_download_fmt.Null); + fsdb.File_size_(file_rdr.Len()); // must update file size for cache + fsdb.Init_at_lnki_by_near(fsdb.File_w()); // change lnki to be file_w,-1 + fsdb.Init_at_html(fsdb.Lnki_exec_tid(), img_size, repo, url_bldr); + return true; + } + } finally { + file_rdr.Rls(); + } + } + return false; + } + public static void Eval_orig(Xof_orig_itm orig, Xof_fsdb_itm fsdb, Xof_url_bldr url_bldr, Xow_repo_mgr repo_mgr, Xof_img_size img_size) { + fsdb.Orig_exists_y_(); + byte repo_id = orig.Repo(); + Xof_repo_itm repo_itm = repo_mgr.Get_trg_by_id_or_null(repo_id, fsdb.Lnki_ttl(), Bry_.Empty); + if (repo_itm == null) return; + fsdb.Init_at_orig(repo_id, repo_itm.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); + fsdb.Init_at_html(fsdb.Lnki_exec_tid(), img_size, repo_itm, url_bldr); + } + public static void Save_bin(Xof_fsdb_itm itm, Fsm_mnt_mgr mnt_mgr, Io_url html_url) { + long rdr_len = Io_mgr.I.QueryFil(html_url).Size(); + Io_stream_rdr rdr = gplx.ios.Io_stream_rdr_.file_(html_url); + try { + rdr.Open(); + Fsm_mnt_itm mnt_itm = mnt_mgr.Mnts__get_insert(); + Fsm_atr_fil atr_fil = mnt_itm.Atr_mgr().Db__core(); + Fsm_bin_fil bin_fil = mnt_itm.Bin_mgr().Dbs__get_nth(); + Xof_bin_updater bin_updater = new Xof_bin_updater(); + bin_updater.Save_bin(mnt_itm, atr_fil, bin_fil, itm, rdr, rdr_len); + } + catch (Exception e) { + Xoa_app_.Usr_dlg().Warn_many("", "", "failed to save file: ttl=~{0} url=~{1} err=~{2}", itm.Orig_ttl(), html_url.Raw(), Err_.Message_gplx(e)); + } + finally {rdr.Rls();} + } +} class Xof_redlink_wkr implements Gfo_thread_wkr { private Xog_js_wkr js_wkr; private int[] uids; public Xof_redlink_wkr(Xog_js_wkr js_wkr, int[] uids) { @@ -35,94 +146,3 @@ class Xof_redlink_wkr implements Gfo_thread_wkr { } } } -public class Xof_file_wkr implements Gfo_thread_wkr { - private final Xof_orig_mgr orig_mgr; private final Xof_bin_mgr bin_mgr; private final Fsm_mnt_mgr mnt_mgr; private final Xof_cache_mgr cache_mgr; - private final Gfo_usr_dlg usr_dlg; private final Xow_repo_mgr repo_mgr; private final Xog_js_wkr js_wkr; - private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); private final Xof_img_size img_size = new Xof_img_size(); - private final Xoa_page hpg; private final ListAdp imgs; private final byte exec_tid; - public Xof_file_wkr(Xof_orig_mgr orig_mgr, Xof_bin_mgr bin_mgr, Fsm_mnt_mgr mnt_mgr, Xof_cache_mgr cache_mgr, Xow_repo_mgr repo_mgr, Xog_js_wkr js_wkr, Xoa_page hpg, ListAdp imgs, byte exec_tid) { - this.orig_mgr = orig_mgr; this.bin_mgr = bin_mgr; this.mnt_mgr = mnt_mgr; this.cache_mgr = cache_mgr; - this.usr_dlg = Gfo_usr_dlg_.I; this.repo_mgr = repo_mgr; this.js_wkr = js_wkr; - this.hpg = hpg; this.imgs = imgs; this.exec_tid = exec_tid; - } - public String Name() {return "xowa.load_imgs";} - public boolean Resume() {return true;} - public void Exec() { - int len = imgs.Count(); - for (int i = 0; i < len; ++i) - Ctor_by_hdump(exec_tid, hpg, (Xohd_data_itm__base)imgs.FetchAt(i)); - } - private void Ctor_by_hdump(byte exec_tid, Xoa_page hpg, Xohd_data_itm__base hdump) { - Xof_fsdb_itm fsdb = new Xof_fsdb_itm(); - fsdb.Ctor_by_lnki(hdump.Lnki_ttl(), hdump.Lnki_type(), hdump.Lnki_w(), hdump.Lnki_h(), Xof_patch_upright_tid_.Tid_all, hdump.Lnki_upright(), hdump.Lnki_time(), hdump.Lnki_page()); - fsdb.Lnki_ext_(Xof_ext_.new_by_id_(hdump.Lnki_ext())); - fsdb.Html_uid_(hdump.Html_uid()); - fsdb.Html_elem_tid_(hdump.Html_elem_tid()); - fsdb.Orig_exists_n_(); - Xof_orig_itm orig = orig_mgr.Find_by_ttl_or_null(fsdb.Lnki_ttl()); if (orig == Xof_orig_itm.Null) return; - Eval_orig(exec_tid, orig, fsdb, url_bldr, repo_mgr, img_size); - Show_img(exec_tid, fsdb, usr_dlg, bin_mgr, mnt_mgr, cache_mgr, repo_mgr, js_wkr, img_size, url_bldr, hpg); - } - public static void Show_img(byte exec_tid, Xof_fsdb_itm fsdb, Gfo_usr_dlg usr_dlg, Xof_bin_mgr bin_mgr, Fsm_mnt_mgr mnt_mgr, Xof_cache_mgr cache_mgr, Xow_repo_mgr repo_mgr, Xog_js_wkr js_wkr, Xof_img_size img_size, Xof_url_bldr url_bldr, Xoa_page hpg) { - try { - if (fsdb.Orig_ext() == null) { - usr_dlg.Warn_many("", "", "file.missing.ext: file=~{0} width=~{1} page=~{2}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), hpg.Ttl().Full_db()); - return; - } - Xof_repo_pair repo_pair = null; - switch (fsdb.Orig_repo_id()) { - case Xof_repo_itm.Repo_local: - case Xof_repo_itm.Repo_remote: - repo_pair = repo_mgr.Repos_get_by_id(fsdb.Orig_repo_id()); - break; - } - if (repo_pair == null) { - usr_dlg.Warn_many("", "", "file.missing.repo: file=~{0} width=~{1} page=~{2}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), hpg.Ttl().Full_db()); - return; - } - Xof_repo_itm repo = repo_pair.Trg(); - fsdb.Ctor_for_html(exec_tid, img_size, repo, url_bldr); - if (fsdb.Lnki_ext().Is_not_viewable(exec_tid)) return; // file not viewable; exit; EX: exec_tid = page and fsdb is audio - if (!Io_mgr._.ExistsFil(fsdb.Html_view_url())) { - if (bin_mgr.Find_to_url_as_bool(exec_tid, fsdb)) { - if (fsdb.Fsdb_insert()) Save_bin(fsdb, mnt_mgr); - } - else { - usr_dlg.Warn_many("", "", "file.missing.bin: file=~{0} width=~{1} page=~{2}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), hpg.Ttl().Full_db()); - fsdb.File_exists_n_(); - // gplx.xowa.files.gui.Js_img_mgr.Update_img_missing(usr_dlg, fsdb.Html_uid()); // TODO: update caption with "" if image is missing - return; - } - } - Js_img_mgr.Update_img(hpg, js_wkr, fsdb); - cache_mgr.Reg_and_check_for_size_0(fsdb); - } catch (Exception e) { - usr_dlg.Warn_many("", "", "file.unknown: ~{0}", Err_.Message_gplx_brief(e)); - } - } - public static void Eval_orig(byte exec_tid, Xof_orig_itm orig, Xof_fsdb_itm fsdb, Xof_url_bldr url_bldr, Xow_repo_mgr repo_mgr, Xof_img_size img_size) { - fsdb.Orig_exists_y_(); - byte repo_id = orig.Repo(); - Xof_repo_pair repo_pair = repo_mgr.Repos_get_by_id(repo_id); - Xof_repo_itm repo_itm = repo_pair.Trg(); - fsdb.Ctor_by_orig(repo_id, repo_pair.Wiki_domain(), orig.Page(), Xof_ext_.new_by_id_(orig.Ext()), orig.W(), orig.H(), orig.Redirect()); - fsdb.Ctor_for_html(exec_tid, img_size, repo_itm, url_bldr); - } - private static void Save_bin(Xof_fsdb_itm itm, Fsm_mnt_mgr mnt_mgr) { - Io_url html_url = itm.Html_view_url(); - long rdr_len = Io_mgr._.QueryFil(html_url).Size(); - Io_stream_rdr rdr = gplx.ios.Io_stream_rdr_.file_(html_url); - try { - rdr.Open(); - Fsm_mnt_itm mnt_itm = mnt_mgr.Mnts__get_insert(); - Fsm_atr_fil atr_fil = mnt_itm.Atr_mgr().Db__core(); - Fsm_bin_fil bin_fil = mnt_itm.Bin_mgr().Dbs__get_nth(); - Xof_bin_updater bin_updater = new Xof_bin_updater(); - bin_updater.Save_bin(mnt_itm, atr_fil, bin_fil, itm, rdr, rdr_len); - } - catch (Exception e) { - Xoa_app_.Usr_dlg().Warn_many("", "", "failed to save file: ttl=~{0} url=~{1} err=~{2}", itm.Lnki_ttl(), html_url.Raw(), Err_.Message_gplx(e)); - } - finally {rdr.Rls();} - } -} diff --git a/400_xowa/src/gplx/xowa/files/Xof_file_wkr_.java b/400_xowa/src/gplx/xowa/files/Xof_file_wkr_.java new file mode 100644 index 000000000..5c6d35da7 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/Xof_file_wkr_.java @@ -0,0 +1,37 @@ +/* +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.files; import gplx.*; import gplx.xowa.*; +public class Xof_file_wkr_ { + public static final Url_encoder Md5_decoder = Url_encoder.new_http_url_().Itms_raw_same_many(Byte_ascii.Plus); + public static byte[] Md5_fast(byte[] v) {return Bry_.new_a7(gplx.security.HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} + public static byte[] Md5_(byte[] ttl) { + ttl = Md5_decoder.Decode_lax(Ttl_standardize(ttl)); + return Xof_file_wkr_.Md5_fast(ttl); // NOTE: md5 is calculated off of url_decoded ttl; EX: A%2Cb is converted to A,b and then md5'd. note that A%2Cb still remains the title + } + public static byte[] Ttl_standardize(byte[] ttl) { + int ttl_len = ttl.length; + for (int i = 0; i < ttl_len; i++) { // convert all spaces to _; NOTE: not same as lnki.Ttl().Page_url(), b/c Page_url does incompatible encoding + byte b = ttl[i]; + if (b == Byte_ascii.Space) ttl[i] = Byte_ascii.Underline; + if (i == 0) { + if (b > 96 && b < 123) ttl[i] -= 32; // NOTE: file automatically uppercases 1st letter + } + } + return ttl; + } +} diff --git a/400_xowa/src/gplx/xowa/files/Xof_fsdb_itm.java b/400_xowa/src/gplx/xowa/files/Xof_fsdb_itm.java new file mode 100644 index 000000000..9acb8634f --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/Xof_fsdb_itm.java @@ -0,0 +1,149 @@ +/* +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.files; import gplx.*; import gplx.xowa.*; +import gplx.ios.*; +import gplx.xowa.files.gui.*; import gplx.xowa.files.repos.*; +public class Xof_fsdb_itm implements Xof_file_itm { + private int lnki_upright_patch; + public byte[] Lnki_wiki_abrv() {return lnki_wiki_abrv;} private byte[] lnki_wiki_abrv; + public int Lnki_exec_tid() {return lnki_exec_tid;} private int lnki_exec_tid; + public byte[] Lnki_ttl() {return lnki_ttl;} private byte[] lnki_ttl; + public byte Lnki_type() {return lnki_type;} private byte lnki_type; + public double Lnki_upright() {return lnki_upright;} private double lnki_upright; + public int Lnki_w() {return lnki_w;} private int lnki_w; + public int Lnki_h() {return lnki_h;} private int lnki_h; + public double Lnki_time() {return lnki_time;} private double lnki_time = Xof_lnki_time.Null; + public int Lnki_page() {return lnki_page;} private int lnki_page = Xof_lnki_page.Null; + public int User_thumb_w() {return user_thumb_w;} private int user_thumb_w = Xof_img_size.Thumb_width_img; + public byte Orig_repo_id() {return orig_repo_id;} private byte orig_repo_id = Xof_repo_itm_.Repo_null; + public byte[] Orig_repo_name() {return orig_repo_name;} private byte[] orig_repo_name; + public byte[] Orig_ttl() {return orig_ttl;} private byte[] orig_ttl; + public byte[] Orig_ttl_md5() {return orig_ttl_md5;} private byte[] orig_ttl_md5; + public Xof_ext Orig_ext() {return orig_ext;} private Xof_ext orig_ext; + public byte[] Orig_redirect() {return orig_redirect;} private byte[] orig_redirect; + public int Orig_w() {return orig_w;} private int orig_w = Xop_lnki_tkn.Width_null; + public int Orig_h() {return orig_h;} private int orig_h = Xop_lnki_tkn.Height_null; + public int Html_uid() {return html_uid;} private int html_uid; + public byte Html_elem_tid() {return html_elem_tid;} private byte html_elem_tid; + public int Html_w() {return html_w;} private int html_w; + public int Html_h() {return html_h;} private int html_h; + public Io_url Html_view_url() {return html_view_url;} private Io_url html_view_url; + public Io_url Html_orig_url() {return html_orig_url;} private Io_url html_orig_url = Io_url_.Empty; + public int Html_gallery_mgr_h() {return html_gallery_mgr_h;} private int html_gallery_mgr_h = Int_.Neg1; + public Js_img_wkr Html_img_wkr() {return html_img_wkr;} private Js_img_wkr html_img_wkr; + public boolean File_is_orig() {return file_is_orig;} private boolean file_is_orig; + public int File_w() {return file_w;} private int file_w; + public long File_size() {return file_size;} private long file_size; + public boolean Meta_is_new() {return false;} + public boolean Orig_exists() {return orig_exists;} public void Orig_exists_y_() {orig_exists = Bool_.Y;} public void Orig_exists_n_() {orig_exists = Bool_.N;} private boolean orig_exists; + public boolean File_exists() {return file_exists;} public void File_exists_y_() {file_exists = Bool_.Y;} public void File_exists_n_() {file_exists = Bool_.N;} public void File_exists_(boolean v) {file_exists = v;} private boolean file_exists; + public boolean File_resized() {return file_resized;} public void File_resized_y_() {file_resized = Bool_.Y;} private boolean file_resized; + public boolean Fsdb_insert() {return fsdb_insert;} public void Fsdb_insert_y_() {fsdb_insert = true;} private boolean fsdb_insert; + public int Xfer_idx() {return xfer_idx;} private int xfer_idx; + public int Xfer_len() {return xfer_len;} private int xfer_len; + + public void Init_at_lnki(int exec_tid, byte[] wiki_abrv, byte[] lnki_ttl, byte lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int lnki_upright_patch) { + this.lnki_exec_tid = exec_tid; this.lnki_wiki_abrv = wiki_abrv; + this.lnki_type = lnki_type; this.lnki_upright = lnki_upright; this.lnki_upright_patch = lnki_upright_patch; + this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_time = lnki_time; this.lnki_page = lnki_page; + this.lnki_ttl = lnki_ttl; + this.Orig_ttl_(lnki_ttl); // default orig_ttl to lnki_ttl, since there are some classes that don't call Ctor_by_orig + this.orig_ext = Xof_ext_.new_by_ttl_(lnki_ttl); + } + public void Init_at_orig(byte orig_repo_id, byte[] orig_repo_name, byte[] orig_ttl, Xof_ext orig_ext, int orig_w, int orig_h, byte[] orig_redirect) { + this.orig_repo_id = orig_repo_id; this.orig_repo_name = orig_repo_name; this.orig_redirect = orig_redirect; + this.orig_w = orig_w; this.orig_h = orig_h; + if (Bry_.Len_gt_0(orig_redirect)) // redirect exists; EX: A.png redirected to B.png + this.Orig_ttl_(orig_redirect); // update fsdb with atrs of B.png + else if (!Bry_.Eq(lnki_ttl, orig_ttl)) // ttls differ; EX: "A_.png" vs "A.png" + this.Orig_ttl_(orig_ttl); + else + this.Orig_ttl_(orig_ttl); + this.orig_ext = orig_ext; // NOTE: always use orig_ext since this comes directly from wmf_api; DATE:2015-05-17 + } + public void Init_at_lnki_by_near(int file_w) { + this.lnki_w = file_w; this.lnki_h = Xof_img_size.Size_null_deprecated; + } + public void Init_at_html(int exec_tid, Xof_img_size img_size, Xof_repo_itm repo, Xof_url_bldr url_bldr) { + Calc_html_size(exec_tid, img_size); + this.html_view_url = url_bldr.To_url_trg(repo, this, file_is_orig); + this.html_orig_url = url_bldr.To_url_trg(repo, this, Bool_.Y); + } + public void Init_at_gallery_bgn(int html_w, int html_h, int file_w) { + this.html_w = html_w; this.html_h = html_h; + this.file_w = file_w; + } + public void Init_at_gallery_end(int html_w, int html_h, Io_url html_view_url, Io_url html_orig_url) { + this.html_w = html_w; this.html_h = html_h; + this.html_view_url = html_view_url; + this.html_orig_url = html_orig_url; + this.file_exists = true; + } + public void Init_at_hdoc(int html_uid, byte html_elem_tid) { + this.html_uid = html_uid; this.html_elem_tid = html_elem_tid; + } + public void Init_at_fsdb_make + ( byte[] orig_ttl, int orig_ext_id // NOTE:fsdb_make uses fields named lnki_ttl and lnki_ext_id, but really is orig_ttl and orig_ext_id + , int lnki_w, int lnki_h, double lnki_time, int lnki_page + , byte orig_repo_id, int orig_w, int orig_h, byte[] orig_redirect + , boolean file_is_orig + ) { + this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_time = lnki_time; this.lnki_page = lnki_page; + this.orig_repo_id = orig_repo_id; this.orig_w = orig_w; this.orig_h = orig_h; + this.file_is_orig = file_is_orig; + this.html_w = lnki_w; this.html_h = lnki_h; // set html_size as file_size (may try to optimize later by removing similar thumbs (EX: 220,221 -> 220)) + this.Orig_ttl_(orig_ttl); + this.orig_ext = Xof_ext_.new_by_id_(orig_ext_id); // NOTE: data in fsdb_make may override lnki_ext; EX: ttl=A.png; but ext=".jpg" + } + public void Init_by_fsdb_near(boolean file_is_orig, int file_w) { + this.file_is_orig = file_is_orig; this.file_w = file_w; + } + public void Init_at_xfer(int idx, int len) { + this.xfer_idx = idx; this.xfer_len = len; + } + public void File_is_orig_(boolean v) {this.file_is_orig = v;} + public void Orig_repo_name_(byte[] v) {orig_repo_name = v;} + public void Html_elem_tid_(byte v) {this.html_elem_tid = v;} + public void Html_size_(int w, int h) {html_w = w; html_h = h;} + public void Html_view_url_(Io_url v) {html_view_url = v;} + public void Html_orig_url_(Io_url v) {html_orig_url = v;} + public void Html_img_wkr_(Js_img_wkr v) {html_img_wkr = v;} + public void Html_gallery_mgr_h_(int v) {html_gallery_mgr_h = v;} + public void File_size_(long v) { + this.file_size = v; + } + private void Orig_ttl_(byte[] v) { + this.orig_ttl = v; + this.orig_ttl_md5 = Xof_file_wkr_.Md5_fast(v); + } + private void Lnki_time_validate() { + if (!orig_ext.Id_is_media() && lnki_time != Xof_lnki_time.Null) // file is not media, but has thumbtime; this check can't be moved to Lnki_time_() b/c it needs ext + lnki_time = Xof_lnki_time.Null; // set time to null; needed else url will reference thumbtime; PAGE:en.w:Moon; EX:[[File:Lunar libration with phase Oct 2007 450px.gif|thumbtime=0:02]]; DATE:2014-07-20 + } + private void Calc_html_size(int exec_tid, Xof_img_size img_size) { + this.Lnki_time_validate(); + if (orig_ext.Id_is_audio_strict()) // audio does not have html size calculated; everything else does + file_is_orig = Bool_.Y; + else { + img_size.Html_size_calc(exec_tid, lnki_w, lnki_h, lnki_type, lnki_upright_patch, lnki_upright, orig_ext.Id(), orig_w, orig_h, Xof_img_size.Thumb_width_img); + html_w = img_size.Html_w(); html_h = img_size.Html_h(); + file_w = img_size.File_w(); + file_is_orig = img_size.File_is_orig(); + } + } +} diff --git a/400_xowa/src/gplx/xowa/files/Xof_fsdb_mode.java b/400_xowa/src/gplx/xowa/files/Xof_fsdb_mode.java index 3dbc4f782..0efbfd6f4 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_fsdb_mode.java +++ b/400_xowa/src/gplx/xowa/files/Xof_fsdb_mode.java @@ -19,16 +19,15 @@ package gplx.xowa.files; import gplx.*; import gplx.xowa.*; public class Xof_fsdb_mode { private int tid; Xof_fsdb_mode(int tid) {this.tid = tid;} - public boolean Tid_wmf() {return tid == Tid_int_wmf;} - public boolean Tid_view() {return tid == Tid_int_view;} - public boolean Tid_make() {return tid == Tid_int_make;} - public void Tid_view_y_() {tid = Tid_int_view;} - public void Tid_make_y_() {tid = Tid_int_make;} +// public boolean Tid_v0() {return tid == Tid_int_v0;} + public boolean Tid_v2_gui() {return tid == Tid_int_v2_gui;} + public boolean Tid_v2_bld() {return tid == Tid_int_v2_bld;} + public void Tid_v2_bld_y_() {tid = Tid_int_v2_bld;} private static final int - Tid_int_wmf = 1 - , Tid_int_view = 2 - , Tid_int_make = 3 + Tid_int_v0 = 1 + , Tid_int_v2_gui = 2 + , Tid_int_v2_bld = 3 ; - public static Xof_fsdb_mode new_wmf() {return new Xof_fsdb_mode(Tid_int_wmf);} - public static Xof_fsdb_mode new_view() {return new Xof_fsdb_mode(Tid_int_view);} + public static Xof_fsdb_mode new_v0() {return new Xof_fsdb_mode(Tid_int_v0);} + public static Xof_fsdb_mode new_v2_gui() {return new Xof_fsdb_mode(Tid_int_v2_gui);} } diff --git a/400_xowa/src/gplx/xowa/files/Xof_img_size.java b/400_xowa/src/gplx/xowa/files/Xof_img_size.java index 7791be885..a257abb5f 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_img_size.java +++ b/400_xowa/src/gplx/xowa/files/Xof_img_size.java @@ -26,13 +26,13 @@ public class Xof_img_size { html_w = html_h = file_w = file_h = 0; file_is_orig = false; } - public void Html_size_calc(byte exec_tid, int lnki_w, int lnki_h, byte lnki_type, int upright_patch, double lnki_upright, int lnki_ext, int orig_w, int orig_h, int thm_dflt_w) { + public void Html_size_calc(int exec_tid, int lnki_w, int lnki_h, byte lnki_type, int upright_patch, double lnki_upright, int orig_ext, int orig_w, int orig_h, int thm_dflt_w) { this.Clear(); // always clear before calc; caller should be responsible, but just to be safe. if (Enm_.HasInt(lnki_type, Xop_lnki_type.Id_frame) // frame: always return orig size; Linker.php!makeThumbLink2; // Use image dimensions, don't scale && lnki_h == Null) { // unless lnki_h specified; DATE:2013-12-22 html_w = file_w = orig_w; html_h = file_h = orig_h; - file_is_orig = Xof_ext_.Orig_file_is_img(lnki_ext); // file_is_orig = true, unless svg, ogv, pdf + file_is_orig = Xof_ext_.Orig_file_is_img(orig_ext); // file_is_orig = true, unless svg, ogv, pdf if (file_is_orig) file_w = file_h = Size__same_as_orig; return; @@ -42,7 +42,7 @@ public class Xof_img_size { if (html_w == Null && html_h == Null) { // no size set; NOTE: do not default to thumb if only height is set; EX: x900px should have w=0 h=900 if (Xop_lnki_type.Id_defaults_to_thumb(lnki_type)) html_w = thm_dflt_w; - else if ( lnki_ext == Xof_ext_.Id_pdf // pdf and viewing on page; default to 220 + else if ( orig_ext == Xof_ext_.Id_pdf // pdf and viewing on page; default to 220 && exec_tid == Xof_exec_tid.Tid_wiki_page) html_w = thm_dflt_w; else @@ -51,7 +51,7 @@ public class Xof_img_size { html_w = Upright_calc(upright_patch, lnki_upright, html_w, lnki_w, lnki_h, lnki_type); if (orig_w == Null) return; // no orig_w; just use html_w and html_h (html_h will likely be -1 and wrong) - boolean ext_is_svg = lnki_ext == Xof_ext_.Id_svg; + boolean ext_is_svg = orig_ext == Xof_ext_.Id_svg; if (html_w == Xof_img_size.Null) { if ( ext_is_svg // following strange MW logic; REF.MW:Linker.php|makeImageLink|If its a vector image, and user only specifies height, we don't want it to be limited by its "normal" width; DATE: 2013-11-26 && html_h != Xof_img_size.Null) @@ -66,7 +66,7 @@ public class Xof_img_size { } html_h = Scale_h(orig_w, orig_h, html_w); // calc html_h if ( html_w >= orig_w // html >= orig - && ( Xof_ext_.Orig_file_is_img(lnki_ext) // orig is img (ignore for svg, ogv, pdf, etc) + && ( Xof_ext_.Orig_file_is_img(orig_ext) // orig is img (ignore for svg, ogv, pdf, etc) || ext_is_svg && exec_tid == Xof_exec_tid.Tid_wiki_file // limit to size if svg and [[File]] page ) ) { @@ -82,7 +82,7 @@ public class Xof_img_size { file_h = html_h; } } -// private static boolean Calc_limit_size(byte exec_tid, int lnki_type, int lnki_ext) { +// private static boolean Calc_limit_size(int exec_tid, int lnki_type, int lnki_ext) { // if (lnki_type != Xop_lnki_type.Id_thumb) return false; // only limit to size for thumb; EX:[[File:A.png|thumb|999x999px]] does not get limited but [[File:A.png|999x999px]] does // if (lnki_ext == Xof_ext_.Id_svg) // if svg... // return exec_tid == Xof_exec_tid.Tid_wiki_file; // ... only limit to size if [[File]] page diff --git a/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java b/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java deleted file mode 100644 index a113413d0..000000000 --- a/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java +++ /dev/null @@ -1,89 +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.files; import gplx.*; import gplx.xowa.*; -import gplx.xowa.files.repos.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.bins.*; -import gplx.xowa.parsers.lnkis.*; -public class Xof_lnki_file_mgr { - private boolean page_init_needed = true; - private final ListAdp fsdb_list = ListAdp_.new_(); private final OrderedHash orig_regy = OrderedHash_.new_bry_(), fsdb_hash = OrderedHash_.new_bry_(); - private final Xof_img_size img_size = new Xof_img_size(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); - public void Clear() { - page_init_needed = true; - fsdb_list.Clear(); fsdb_hash.Clear(); orig_regy.Clear(); - } - public boolean Find(Xowe_wiki wiki, Xoae_page page, byte exec_tid, Xof_xfer_itm xfer) { - try { - if (page_init_needed) { - page_init_needed = false; - wiki.File_mgr().Init_file_mgr_by_load(wiki); // NOTE: fsdb_mgr may not be init'd for wiki; assert that that it is - Make_fsdb_list(page.Lnki_list(), wiki.File_mgr().Patch_upright()); // NOTE: Patch_upright check must occur after Init_by_wiki; DATE:2014-05-31 - wiki.File__orig_mgr().Find_by_list(orig_regy, fsdb_list, exec_tid); - Make_fsdb_hash(); - } - Xof_fsdb_itm fsdb = (Xof_fsdb_itm)fsdb_hash.Fetch(xfer.Lnki_ttl()); - xfer.File_exists_n_(); - if (fsdb == null) return false; // no orig_data found for the ttl - Xof_repo_itm repo = wiki.File_mgr().Repo_mgr().Repos_get_by_wiki(fsdb.Orig_repo_name()).Trg(); - fsdb.Lnki_size_(xfer.Lnki_w(), xfer.Lnki_h()); // NOTE: must overwrite fsdb.size with xfer.size when the same image shows up in multiple sizes on a page; (only one item in wiki_orig); EX: w:Portal:Canada; [[File:Flag of Canada.svg|300x150px]]; [[File:Flag of Canada.svg|23px]]; DATE:2014-02-14 - fsdb.Ctor_for_html(exec_tid, img_size, repo, url_bldr); - xfer.Url_bldr_(url_bldr); // default Url_bldr for xfer uses @ for thumbtime; switch to -; DATE:2014-02-02 - xfer.Trg_repo_(repo); - xfer.Lnki_ext_(fsdb.Lnki_ext()); // WORKAROUND: hacky, but fsdb knows when ogg is ogv whereas xfer does not; so, always override xfer.ext with fsdb's; DATE:2014-02-02 - xfer.Init_by_orig(fsdb.Orig_repo_id(), fsdb.Orig_repo_name(), fsdb.Orig_ttl(), fsdb.Orig_ext(), fsdb.Orig_w(), fsdb.Orig_h(), fsdb.Orig_redirect(), xfer.Orig_file_len()); // copy orig props from orig_itm to xfer - xfer.Html_orig_url_(Bry_.new_utf8_(fsdb.Html_orig_url().To_http_file_str())); // always set orig_url; note that w,h are not necessary for orig url; orig url needed for [[Media:]] links; DATE:2014-01-19 - gplx.ios.IoItmFil fil = Io_mgr._.QueryFil(fsdb.Html_view_url()); - if (fil.Exists()) { - if (fil.Size() == 0) // NOTE: fix; XOWA used to write 0 byte files if file was missing, delete them and do not return true; DATE:2014-06-21 - Io_mgr._.DeleteFil(fsdb.Html_view_url()); - else { - xfer.Calc_by_fsdb(fsdb.Html_w(), fsdb.Html_h(), fsdb.Html_view_url(), fsdb.Html_orig_url()); - xfer.File_exists_y_(); - return true; - } - } - return false; - } catch (Exception e) { - Xoa_app_.Usr_dlg().Warn_many("", "", "failed to find img: img=~{0} err=~{1}", String_.new_utf8_(xfer.Lnki_ttl()), Err_.Message_gplx_brief(e)); - return false; - } - } - private void Make_fsdb_list(ListAdp lnki_list, int upright_patch) { - int len = lnki_list.Count(); - for (int i = 0; i < len; i++) { - Xop_lnki_tkn lnki_tkn = (Xop_lnki_tkn)lnki_list.FetchAt(i); - Xof_fsdb_itm fsdb = new Xof_fsdb_itm(); - fsdb.Ctor_by_lnki(lnki_tkn.Ttl().Page_db(), lnki_tkn.Lnki_type(), lnki_tkn.W(), lnki_tkn.H(), upright_patch, lnki_tkn.Upright(), lnki_tkn.Time(), lnki_tkn.Page()); - fsdb_list.Add(fsdb); - } - } - private void Make_fsdb_hash() { - int len = fsdb_list.Count(); - for (int i = 0; i < len; i++) { - Xof_fsdb_itm fsdb = (Xof_fsdb_itm)fsdb_list.FetchAt(i); - Make_fsdb_hash_add(fsdb.Lnki_ttl(), fsdb); - Make_fsdb_hash_add(fsdb.Orig_ttl(), fsdb); // redirect - } - } - private void Make_fsdb_hash_add(byte[] key, Xof_fsdb_itm itm) { - if ( Bry_.Len_gt_0(key) // ignore null / empty itms; needed for redirects - && !fsdb_hash.Has(key) // don't add if already there - && orig_regy.Has(key) // add if found in orig_regy - ) - fsdb_hash.Add(key, itm); - } -} diff --git a/400_xowa/src/gplx/xowa/files/Xof_mime_minor_.java b/400_xowa/src/gplx/xowa/files/Xof_mime_minor_.java index 91721fb8f..75f743156 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_mime_minor_.java +++ b/400_xowa/src/gplx/xowa/files/Xof_mime_minor_.java @@ -19,17 +19,17 @@ package gplx.xowa.files; import gplx.*; import gplx.xowa.*; import gplx.core.primitives.*; public class Xof_mime_minor_ { public static Xof_ext ext_(byte[] minor_mime) { - Int_obj_val id_obj = (Int_obj_val)mime_hash.Fetch(minor_mime); + Int_obj_val id_obj = (Int_obj_val)mime_hash.Get_by(minor_mime); int id = id_obj == null ? Xof_ext_.Id_unknown : id_obj.Val(); return Xof_ext_.new_by_id_(id); } private static final byte[] - Mime_svg = Bry_.new_ascii_("svg+xml"), Mime_djvu = Bry_.new_ascii_("vnd.djvu"), Mime_midi = Bry_.new_ascii_("midi") - , Mime_xcf = Bry_.new_ascii_("x-xcf"), Mime_flac = Bry_.new_ascii_("x-flac") - , Mime_bmp = Bry_.new_ascii_("x-bmp"), Mime_bmp_2 = Bry_.new_ascii_("x-ms-bmp"); - private static final HashAdp mime_hash = mime_hash_(); - private static HashAdp mime_hash_() { - HashAdp rv = HashAdp_.new_bry_(); + Mime_svg = Bry_.new_a7("svg+xml"), Mime_djvu = Bry_.new_a7("vnd.djvu"), Mime_midi = Bry_.new_a7("midi") + , Mime_xcf = Bry_.new_a7("x-xcf"), Mime_flac = Bry_.new_a7("x-flac") + , Mime_bmp = Bry_.new_a7("x-bmp"), Mime_bmp_2 = Bry_.new_a7("x-ms-bmp"); + private static final Hash_adp mime_hash = mime_hash_(); + private static Hash_adp mime_hash_() { + Hash_adp rv = Hash_adp_bry.cs_(); mime_hash_itm_(rv, Xof_ext_.Bry_png , Xof_ext_.Id_png); mime_hash_itm_(rv, Xof_ext_.Bry_jpg , Xof_ext_.Id_jpg); mime_hash_itm_(rv, Xof_ext_.Bry_jpeg , Xof_ext_.Id_jpeg); @@ -51,5 +51,5 @@ public class Xof_mime_minor_ { mime_hash_itm_(rv, Xof_ext_.Bry_wav , Xof_ext_.Id_wav); return rv; } - private static void mime_hash_itm_(HashAdp hash, byte[] key, int val) {hash.Add(key, Int_obj_val.new_(val));} + private static void mime_hash_itm_(Hash_adp hash, byte[] key, int val) {hash.Add(key, Int_obj_val.new_(val));} } 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 6e3a8333d..350c356f8 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_url_bldr.java @@ -30,20 +30,20 @@ public class Xof_url_bldr { } public Xof_url_bldr Init_by_itm(byte mode, byte[] ttl, byte[] md5, Xof_ext ext, int file_w, double time, int page) { this.ttl = ttl; this.md5 = md5; this.ext = ext; this.file_w = file_w; this.time = time; this.page = page; - if (wmf_protocol_is_file && fsys_tid_is_wnt) this.ttl = Xof_repo_itm.Ttl_invalid_fsys_chars(ttl); // NOTE: changed ttl does not change md5 - this.file_is_thumb = mode == Xof_repo_itm.Mode_thumb; - this.area = Xof_repo_itm.Mode_names_key[mode]; + if (wmf_protocol_is_file && fsys_tid_is_wnt) this.ttl = Xof_repo_itm_.Ttl_invalid_fsys_chars(bfr, ttl); // NOTE: changed ttl does not change md5 + this.file_is_thumb = mode == Xof_repo_itm_.Mode_thumb; + this.area = Xof_repo_itm_.Mode_names_key[mode]; return this; } public Xof_url_bldr Init_for_src_file(byte mode, Xof_repo_itm repo, byte[] ttl, byte[] md5, Xof_ext ext, int file_w, double time, int page) { this.wmf_dir_hive = Bool_.Y; this.wmf_protocol_is_file = repo.Tarball(); - this.dir_spr = repo.Dir_spr(); this.root = repo.Root(); this.area = repo.Mode_names()[mode]; + this.dir_spr = repo.Dir_spr(); this.root = repo.Root_bry(); this.area = repo.Mode_names()[mode]; this.ttl = repo.Gen_name_src(ttl); this.md5 = md5; this.ext = ext; - this.file_is_thumb = mode == Xof_repo_itm.Mode_thumb; this.file_w = file_w; this.time = time; this.page = page; + this.file_is_thumb = mode == Xof_repo_itm_.Mode_thumb; this.file_w = file_w; this.time = time; this.page = page; return this; } public Xof_url_bldr Init_for_trg_file(byte mode, Xof_repo_itm repo, byte[] ttl, byte[] md5, Xof_ext ext, int file_w, double time, int page) { - return Init(Bool_.N, Bool_.N, repo.Dir_spr(), repo.Root() + return Init(Bool_.N, Bool_.N, repo.Dir_spr(), repo.Root_bry() , repo.Mode_names()[mode], repo.Dir_depth(), repo.Gen_name_trg(ttl, md5, ext), md5, ext, mode, file_w, time, page); } public Xof_url_bldr Init_for_trg_html(byte mode, Xof_repo_itm repo, byte[] ttl, byte[] md5, Xof_ext ext, int file_w, double time, int page) { @@ -57,16 +57,23 @@ public class Xof_url_bldr { this.wmf_dir_hive = wmf_dir_hive; this.wmf_protocol_is_file = wmf_protocol_is_file; this.dir_spr = dir_spr; this.root = root; this.area = area; this.md5_dir_depth = md5_dir_depth; this.ttl = ttl; this.md5 = md5; this.ext = ext; - this.file_is_thumb = file_mode == Xof_repo_itm.Mode_thumb; this.file_w = file_w; this.time = time; this.page = page; + this.file_is_thumb = file_mode == Xof_repo_itm_.Mode_thumb; this.file_w = file_w; this.time = time; this.page = page; return this; } 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;} public Io_url To_url_trg(Xof_repo_itm repo_itm, Xof_fsdb_itm itm, boolean orig) { - byte mode = orig ? Xof_repo_itm.Mode_orig : Xof_repo_itm.Mode_thumb; -// return this.Init_for_trg_file(mode, repo_itm, itm.Lnki_ttl(), itm.Lnki_md5(), itm.Lnki_ext(), itm.Html_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url(); - return this.Init_for_trg_file(mode, repo_itm, itm.Lnki_ttl(), itm.Lnki_md5(), itm.Lnki_ext(), itm.Html_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url(); + byte mode = orig ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb; + return this.Init_for_trg_file(mode, repo_itm, itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext(), itm.Html_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url(); + } + public Io_url To_url_trg(Xof_repo_itm repo_itm, gplx.xowa.files.caches.Xou_cache_itm itm, boolean orig) { + byte mode = orig ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb; + return this.Init_for_trg_file(mode, repo_itm, itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext_itm(), itm.Html_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url(); + } + public Io_url To_url_trg(Xof_repo_itm repo_itm, Xof_file_itm itm, boolean orig) { + byte mode = orig ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb; + return this.Init_for_trg_file(mode, repo_itm, itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext(), itm.Html_w(), itm.Lnki_time(), itm.Lnki_page()).Xto_url(); } private void Bld() { Add_core(); @@ -177,16 +184,16 @@ public class Xof_url_bldr { return this; } public static final byte[] - Bry_reg = Bry_.new_ascii_("reg.csv") - , Bry_px = Bry_.new_ascii_("px"), Bry_px_dash = Bry_.new_ascii_("px-") - , Bry_thumb = Bry_.new_ascii_("thumb"), Bry_mid = Bry_.new_ascii_("mid-") + Bry_reg = Bry_.new_a7("reg.csv") + , Bry_px = Bry_.new_a7("px"), Bry_px_dash = Bry_.new_a7("px-") + , Bry_thumb = Bry_.new_a7("thumb"), Bry_mid = Bry_.new_a7("mid-") ; private static final byte[] - Bry_lossy_page = Bry_.new_ascii_("lossy-page"), Bry_page = Bry_.new_ascii_("page") - , Bry_lossy_page1 = Bry_.new_ascii_("lossy-page1-"), Bry_page1 = Bry_.new_ascii_("page1-"), Bry_seek = Bry_.new_ascii_("seek%3D"); + Bry_lossy_page = Bry_.new_a7("lossy-page"), Bry_page = Bry_.new_a7("page") + , Bry_lossy_page1 = Bry_.new_a7("lossy-page1-"), Bry_page1 = Bry_.new_a7("page1-"), Bry_seek = Bry_.new_a7("seek%3D"); public static final Xof_url_bldr Temp = new Xof_url_bldr(); private static final Url_encoder encoder_src_http = Url_encoder.new_http_url_(); // NOTE: changed from new_html_href_mw_ to new_url_ on 2012-11-19; issues with A%2Cb becoming A%252Cb - public static Xof_url_bldr new_v2_() { + public static Xof_url_bldr new_v2() { Xof_url_bldr rv = new Xof_url_bldr(); rv.time_dlm = Byte_ascii.Dash; return rv; diff --git a/400_xowa/src/gplx/xowa/files/Xof_url_bldr_tst.java b/400_xowa/src/gplx/xowa/files/Xof_url_bldr_tst.java index f2d271f6a..c9a2785c1 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_url_bldr_tst.java +++ b/400_xowa/src/gplx/xowa/files/Xof_url_bldr_tst.java @@ -35,7 +35,7 @@ class Xof_url_bldr_fxt { public Xof_url_bldr_fxt Dir_spr_(byte v) {dir_spr = v; return this;} private byte dir_spr; public Xof_url_bldr_fxt Root_(String v) {root = v; return this;} private String root; public Xof_url_bldr_fxt Md5_(String v) {md5 = v; return this;} private String md5; - public Xof_url_bldr_fxt Ttl_(String v) {ttl = v; ext = Xof_ext_.new_by_ttl_(Bry_.new_utf8_(v)); return this;} private String ttl; Xof_ext ext; + public Xof_url_bldr_fxt Ttl_(String v) {ttl = v; ext = Xof_ext_.new_by_ttl_(Bry_.new_u8(v)); return this;} private String ttl; Xof_ext ext; public Xof_url_bldr_fxt Page_(int v) {page = v; return this;} private int page = Xof_lnki_page.Null; public Xof_url_bldr_fxt Seek_(int v) {seek = v; return this;} private double seek = Xof_lnki_time.Null; public Xof_url_bldr_fxt Expd_src_(String v) {expd_src = v; return this;} private String expd_src; @@ -45,8 +45,8 @@ class Xof_url_bldr_fxt { page = Xof_lnki_page.Null; } public Xof_url_bldr_fxt tst() { - url_bldr.Init_by_root(Bry_.new_utf8_(root), dir_spr, Bool_.Y, Bool_.N, 2); - url_bldr.Init_by_itm (Xof_repo_itm.Mode_thumb, Bry_.new_utf8_(ttl), Bry_.new_utf8_(md5), ext, 0, seek, page); + url_bldr.Init_by_root(Bry_.new_u8(root), dir_spr, Bool_.Y, Bool_.N, 2); + url_bldr.Init_by_itm (Xof_repo_itm_.Mode_thumb, Bry_.new_u8(ttl), Bry_.new_u8(md5), ext, 0, seek, page); Tfds.Eq(expd_src, url_bldr.Xto_str()); return this; } diff --git a/400_xowa/src/gplx/xowa/files/Xof_xfer_itm.java b/400_xowa/src/gplx/xowa/files/Xof_xfer_itm.java index d47344875..37e56dfff 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_xfer_itm.java +++ b/400_xowa/src/gplx/xowa/files/Xof_xfer_itm.java @@ -18,179 +18,198 @@ along with this program. If not, see . package gplx.xowa.files; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.gui.*; import gplx.xowa.files.repos.*; public class Xof_xfer_itm implements Xof_file_itm { - public byte[] Lnki_ttl() {return lnki_ttl;} private byte[] lnki_ttl; - public byte[] Lnki_md5() {return lnki_md5;} private byte[] lnki_md5; - public Xof_ext Lnki_ext() {return lnki_ext;} private Xof_ext lnki_ext; - public byte Lnki_type() {return lnki_type;} private byte lnki_type; - public int Lnki_w() {return lnki_w;} private int lnki_w; - public int Lnki_h() {return lnki_h;} private int lnki_h; - public double Lnki_upright() {return lnki_upright;} private double lnki_upright; - public double Lnki_time() {return lnki_time;} private double lnki_time = Xof_lnki_time.Null; - public int Lnki_page() {return lnki_page;} private int lnki_page = Xof_lnki_page.Null; - public byte Orig_repo_id() {return orig_repo_id;} private byte orig_repo_id = Xof_repo_itm.Repo_null; - public byte[] Orig_repo_name() {return orig_repo_name;} private byte[] orig_repo_name; - public byte[] Orig_ttl() {return orig_ttl;} private byte[] orig_ttl; - public Xof_ext Orig_ext() {return orig_ext;} private Xof_ext orig_ext; - public int Orig_w() {return orig_w;} private int orig_w; - public int Orig_h() {return orig_h;} private int orig_h; - public byte[] Orig_redirect() {return orig_redirect;} private byte[] orig_redirect; - public int Orig_file_len() {return orig_file_len;} private int orig_file_len; - public int File_w() {return file_w == -1 ? html_w : file_w;} public void File_w_(int v) {file_w = v;} private int file_w = -1; // NOTE: for itm_meta, file_w == html_w - public int Html_uid() {return html_uid;} private int html_uid = -1; - public byte Html_elem_tid() {return html_elem_tid;} private byte html_elem_tid = Xof_html_elem.Tid_none; - public int Html_w() {return html_w;} private int html_w; - public int Html_h() {return html_h;} private int html_h; - public byte[] Html_view_url() {return html_view_url;} private byte[] html_view_url = Bry_.Empty; - public byte[] Html_orig_url() {return html_orig_url;} public void Html_orig_url_(byte[] v) {this.html_orig_url = v;} private byte[] html_orig_url = Bry_.Empty; - public int Gallery_mgr_h() {return gallery_mgr_h;} public Xof_xfer_itm Gallery_mgr_h_(int v) {gallery_mgr_h = v; return this;} private int gallery_mgr_h = Int_.Neg1; - public Js_img_wkr Html_img_wkr() {return html_img_wkr;} public Xof_xfer_itm Html_img_wkr_(Js_img_wkr v) {html_img_wkr = v; return this;} private Js_img_wkr html_img_wkr; - public boolean Html_pass() {return html_pass;} private boolean html_pass; - public boolean Img_is_thumbable() {return img_is_thumbable;} private boolean img_is_thumbable; // SEE:NOTE_1:Lnki_thumbable - public boolean Img_is_orig() {return !img_is_thumbable;} - public boolean File_found() {return file_found;} public Xof_xfer_itm File_found_(boolean v) {file_found = v; return this;} - public boolean File_exists() {return file_exists;} public void File_exists_y_() {file_exists = Bool_.Y;} public void File_exists_n_() {file_exists = Bool_.N;} private boolean file_exists; - private boolean file_found; - public Xof_meta_itm Meta_itm() {return meta_itm;} private Xof_meta_itm meta_itm; - public Xof_repo_itm Trg_repo() {return trg_repo;} - public Xof_xfer_itm Trg_repo_(Xof_repo_itm v) { - trg_repo = v; - trg_repo_root = trg_repo == null ? Bry_.Empty : trg_repo.Root_http(); - return this; - } private Xof_repo_itm trg_repo; - public int Trg_repo_idx() {return trg_repo_idx;} public Xof_xfer_itm Trg_repo_idx_(int trg_repo_idx) {this.trg_repo_idx = trg_repo_idx; return this;} private int trg_repo_idx = Xof_meta_itm.Repo_unknown; - public byte[] Trg_repo_root() {return trg_repo_root;} private byte[] trg_repo_root = Bry_.Empty; // HACK: needed for hdump - private byte[] Trg_html(byte mode_id, int width) {return url_bldr.Init_for_trg_html(mode_id, trg_repo, lnki_ttl, lnki_md5, lnki_ext, width, lnki_time, lnki_page).Xto_bry();} - public Io_url Trg_file(byte mode_id, int width) {return url_bldr.Init_for_trg_file(mode_id, trg_repo, lnki_ttl, lnki_md5, lnki_ext, width, lnki_time, lnki_page).Xto_url();} - public byte Lnki_exec_tid() {return lnki_exec_tid;} public void Lnki_exec_tid_(byte v) {lnki_exec_tid = v;} private byte lnki_exec_tid = Xof_exec_tid.Tid_wiki_page; - public Xof_url_bldr Url_bldr(){ return url_bldr;} - public Xof_xfer_itm Url_bldr_(Xof_url_bldr v) {url_bldr = v; return this;} private Xof_url_bldr url_bldr = Xof_url_bldr.Temp; - public Xof_xfer_itm Clear() { + public Xof_xfer_itm() { lnki_type = orig_repo_id = Byte_.Max_value_127; - lnki_w = lnki_h = file_w = orig_w = orig_h = html_w = html_h = gallery_mgr_h = Int_.Neg1; + lnki_w = lnki_h = file_w = orig_w = orig_h = html_w = html_h = html_gallery_mgr_h = Int_.Neg1; orig_ext = null; lnki_upright = Int_.Neg1; lnki_time = Xof_lnki_time.Null; lnki_page = Xof_lnki_page.Null; - file_found = file_exists = img_is_thumbable = false; + file_exists = false; file_is_orig = true; orig_file_len = 0; // NOTE: cannot be -1, or else will always download orig; see ext rule chk and (orig_file_len < 0) - orig_repo_name = orig_ttl = orig_redirect = null; lnki_ttl = null; lnki_md5 = null; lnki_ext = null; - html_orig_url = html_view_url = Bry_.Empty; - trg_repo_idx = Int_.Neg1; meta_itm = null; + orig_repo_name = orig_ttl = orig_redirect = null; lnki_ttl = null; orig_ttl_md5 = null; + html_orig_url = html_view_url = Io_url_.Empty; + meta_itm = null; html_uid = Int_.Neg1; html_elem_tid = Xof_html_elem.Tid_none; - return this; } - public Xof_xfer_itm Clone() { - Xof_xfer_itm rv = new Xof_xfer_itm(); - rv.lnki_type = lnki_type; rv.lnki_w = lnki_w; rv.lnki_h = lnki_h; rv.lnki_upright = lnki_upright; rv.lnki_time = lnki_time; rv.lnki_page = lnki_page; - rv.img_is_thumbable = img_is_thumbable; - rv.orig_repo_id = orig_repo_id; rv.orig_repo_name = orig_repo_name; rv.orig_ttl = orig_ttl; rv.orig_ext = orig_ext; rv.orig_w = orig_w; rv.orig_h = orig_h; rv.orig_redirect = orig_redirect; - rv.orig_file_len = orig_file_len; - rv.lnki_ttl = lnki_ttl; rv.lnki_md5 = lnki_md5; rv.lnki_ext = lnki_ext; - rv.html_w = html_w; rv.html_h = html_h; rv.html_view_url = html_view_url; rv.html_orig_url = html_orig_url; - rv.file_w = file_w; - rv.trg_repo_idx = trg_repo_idx; - rv.trg_repo_root = trg_repo_root; - rv.meta_itm = meta_itm; // NOTE: shared reference - rv.html_uid = html_uid; rv.html_elem_tid = html_elem_tid; - rv.gallery_mgr_h = gallery_mgr_h; - rv.file_exists = file_exists; - return rv; - } - public Xof_xfer_itm Init_by_lnki(byte[] ttl, byte[] redirect, byte lnki_type, int w, int h, double upright, double time, int page) { - this.Set__ttl(ttl, redirect); - this.lnki_type = lnki_type; this.lnki_w = w; this.lnki_h = h; this.lnki_upright = upright; this.lnki_time = time; this.lnki_page = page; - img_is_thumbable = Xof_xfer_itm_.Lnki_thumbable_calc(lnki_type, lnki_w, lnki_h); - if (lnki_time != Xof_lnki_time.Null && !lnki_ext.Id_is_media()) // thumbtime is set, but ext is not media; PAGE:en.w:Moon; EX:[[File:A.png|thumbtime=0:02]] DATE:2014-07-22 + public int Lnki_exec_tid() {return lnki_exec_tid;} private int lnki_exec_tid; + public byte[] Lnki_wiki_abrv() {return lnki_wiki_abrv;} private byte[] lnki_wiki_abrv; + public byte[] Lnki_ttl() {return lnki_ttl;} private byte[] lnki_ttl; + public byte Lnki_type() {return lnki_type;} private byte lnki_type; + public double Lnki_upright() {return lnki_upright;} private double lnki_upright; + public int Lnki_w() {return lnki_w;} private int lnki_w; + public int Lnki_h() {return lnki_h;} private int lnki_h; + public double Lnki_time() {return lnki_time;} private double lnki_time; + public int Lnki_page() {return lnki_page;} private int lnki_page; + public byte Orig_repo_id() {return orig_repo_id;} private byte orig_repo_id; + public byte[] Orig_repo_name() {return orig_repo_name;} private byte[] orig_repo_name; + public byte[] Orig_ttl() {return orig_ttl;} private byte[] orig_ttl; + public byte[] Orig_ttl_md5() {return orig_ttl_md5;} private byte[] orig_ttl_md5; + public Xof_ext Orig_ext() {return orig_ext;} private Xof_ext orig_ext; + public int Orig_w() {return orig_w;} private int orig_w; + public int Orig_h() {return orig_h;} private int orig_h; + public byte[] Orig_redirect() {return orig_redirect;} private byte[] orig_redirect; + public long Orig_file_len() {return orig_file_len;} private long orig_file_len; // used for filtering downloads by file_max + public boolean File_is_orig() {return file_is_orig;} private boolean file_is_orig; // SEE:NOTE_1:Lnki_thumbable + public int File_w() {return file_w == -1 ? html_w : file_w;} private int file_w = -1; // NOTE: for itm_meta, file_w == html_w + public int Html_uid() {return html_uid;} private int html_uid; + public byte Html_elem_tid() {return html_elem_tid;} private byte html_elem_tid; + public int Html_w() {return html_w;} private int html_w; + public int Html_h() {return html_h;} private int html_h; + public Io_url Html_view_url() {return html_view_url;} private Io_url html_view_url = Io_url_.Empty; // needed else null_err + public Io_url Html_orig_url() {return html_orig_url;} private Io_url html_orig_url = Io_url_.Empty; // needed else null_err + public int Html_gallery_mgr_h() {return html_gallery_mgr_h;} private int html_gallery_mgr_h; + public Js_img_wkr Html_img_wkr() {return html_img_wkr;} private Js_img_wkr html_img_wkr; + public boolean File_exists() {return file_exists;} private boolean file_exists; + public boolean Meta_is_new() {return meta_itm.State_new();} + public void Html_elem_tid_(byte v) {html_elem_tid = v;} + public void Html_size_(int w, int h) {this.html_w = w; this.html_h = h;} + public void Html_gallery_mgr_h_(int v) {html_gallery_mgr_h = v;} + public void Html_img_wkr_(Js_img_wkr v) {html_img_wkr = v;} + + public void File_exists_y_() {file_exists = Bool_.Y;} public void File_exists_n_() {file_exists = Bool_.N;} public void File_exists_(boolean v) {file_exists = v;} + public void Init_at_lnki(int exec_tid, byte[] wiki_abrv, byte[] ttl, byte lnki_type, double upright, int w, int h, double time, int page, int lnki_upright_patch) { + this.lnki_exec_tid = exec_tid; this.lnki_wiki_abrv = wiki_abrv; + this.lnki_type = lnki_type; this.lnki_upright = upright; this.lnki_w = w; this.lnki_h = h; this.lnki_time = time; this.lnki_page = page; + this.file_is_orig = !Xof_xfer_itm_.Lnki_thumbable_calc(lnki_type, lnki_w, lnki_h); + this.lnki_ttl = Xof_file_wkr_.Md5_decoder.Decode_lax(Xof_file_wkr_.Ttl_standardize(ttl)); + this.Orig_ttl_(ttl); + this.orig_ext = Xof_ext_.new_by_ttl_(ttl); + if (lnki_time != Xof_lnki_time.Null && !orig_ext.Id_is_media()) // thumbtime is set, but ext is not media; PAGE:en.w:Moon; EX:[[File:A.png|thumbtime=0:02]] DATE:2014-07-22 lnki_time = Xof_lnki_time.Null; // disable thumbtime - return this; + } + public void Init_at_orig(byte orig_repo_id, byte[] orig_repo_name, byte[] orig_ttl, Xof_ext orig_ext, int orig_w, int orig_h, byte[] orig_redirect) { + this.orig_repo_id = orig_repo_id; this.orig_repo_name = orig_repo_name; + this.orig_ttl = orig_ttl; this.orig_ttl_md5 = Xof_file_wkr_.Md5_(orig_ttl); + this.orig_w = orig_w; this.orig_h = orig_h; this.orig_redirect = orig_redirect; + if (Bry_.Len_gt_0(orig_redirect)) // redirect exists; EX: A.png redirected to B.png + this.Orig_ttl_(orig_redirect); // update fsdb with atrs of B.png + else if (!Bry_.Eq(lnki_ttl, orig_ttl)) // ttls differ; EX: "A_.png" vs "A.png" + this.Orig_ttl_(orig_ttl); + else + this.Orig_ttl_(orig_ttl); + this.orig_ext = orig_ext; // overwrite ext with whatever's in file_orig; needed for ogg -> oga / ogv + } + public void Init_at_gallery_bgn(int html_w, int html_h, int file_w) { + this.html_w = html_w; this.html_h = html_h; + this.file_w = file_w; + } + public void Init_at_gallery_end(int html_w, int html_h, Io_url html_view_url, Io_url html_orig_url) { + this.html_w = html_w; this.html_h = html_h; + this.html_view_url = html_view_url; + this.html_orig_url = html_orig_url; + this.file_exists = true; + } + public void Calc_by_fsdb(int html_w, int html_h, Io_url view_url, Io_url orig_url) { + this.html_w = html_w; + this.html_h = html_h; + this.html_orig_url = orig_url; + this.html_view_url = view_url; + } + public void Orig_ttl_and_redirect_(byte[] ttl, byte[] redirect) { + this.orig_redirect = redirect; + this.lnki_ttl = orig_redirect == Xop_redirect_mgr.Redirect_null_bry ? Bry_.Copy(ttl) : orig_redirect; + this.lnki_ttl = Xof_file_wkr_.Md5_decoder.Decode_lax(Xof_file_wkr_.Ttl_standardize(lnki_ttl)); // NOTE: this line is repeated in static method below + this.orig_ttl = lnki_ttl; + this.orig_ttl_md5 = Xof_file_wkr_.Md5_fast(lnki_ttl); // NOTE: md5 is calculated off of url_decoded ttl; EX: A%2Cb is converted to A,b and then md5'd. note that A%2Cb still remains the title + this.orig_ext = Xof_ext_.new_by_ttl_(lnki_ttl); + } + private void Orig_ttl_(byte[] v) { + this.orig_ttl = Xof_file_wkr_.Ttl_standardize(v); + this.orig_ttl_md5 = Xof_file_wkr_.Md5_fast(v); + } + + public Xof_meta_itm Meta_itm() {return meta_itm;} private Xof_meta_itm meta_itm; + public void Trg_repo_itm_(Xof_repo_itm v) { + trg_repo_itm = v; + trg_repo_root = trg_repo_itm == null ? Bry_.Empty : trg_repo_itm.Root_http(); + } private Xof_repo_itm trg_repo_itm; + public byte[] Trg_repo_root() {return trg_repo_root;} private byte[] trg_repo_root = Bry_.Empty; // HACK: needed for hdump + public Xof_url_bldr Url_bldr(){ return url_bldr;} + public void Url_bldr_(Xof_url_bldr v) {url_bldr = v;} private Xof_url_bldr url_bldr = Xof_url_bldr.Temp; + public void Ctor_for_html(int exec_tid, int lnki_upright_patch, Xof_img_size img_size, Xof_repo_itm repo, Xof_url_bldr url_bldr) { + Calc_html_size(exec_tid, lnki_upright_patch, img_size); + this.html_view_url = url_bldr.To_url_trg(repo, this, file_is_orig); + this.html_orig_url = url_bldr.To_url_trg(repo, this, Bool_.Y); + } + private void Calc_html_size(int exec_tid, int lnki_upright_patch, Xof_img_size img_size) { + if (!orig_ext.Id_is_media() && lnki_time != Xof_lnki_time.Null) // file is not media, but has thumbtime; this check can't be moved to Lnki_time_() b/c it needs ext + lnki_time = Xof_lnki_time.Null; // set time to null; needed else url will reference thumbtime; PAGE:en.w:Moon; EX:[[File:Lunar libration with phase Oct 2007 450px.gif|thumbtime=0:02]]; DATE:2014-07-20 + if (orig_ext.Id_is_audio_strict()) // audio does not have html size calculated; everything else does + this.file_is_orig = Bool_.Y; + else { + img_size.Html_size_calc(exec_tid, lnki_w, lnki_h, lnki_type, lnki_upright_patch, lnki_upright, orig_ext.Id(), orig_w, orig_h, Xof_img_size.Thumb_width_img); + html_w = img_size.Html_w(); html_h = img_size.Html_h(); file_w = img_size.File_w(); + this.file_is_orig = img_size.File_is_orig(); + } } public void Init_by_orig_old(int w, int h, int orig_file_len) { this.orig_w = w; this.orig_h = h; this.orig_file_len = orig_file_len; } - public void Init_by_orig(byte orig_repo_id, byte[] orig_repo_name, byte[] orig_ttl, Xof_ext orig_ext, int orig_w, int orig_h, byte[] orig_redirect, int orig_file_len) { - this.orig_repo_id = orig_repo_id; this.orig_repo_name = orig_repo_name; - this.orig_ttl = orig_ttl; this.orig_ext = orig_ext; - this.orig_w = orig_w; this.orig_h = orig_h; this.orig_redirect = orig_redirect; - if (orig_ext.Id() != lnki_ext.Id()) - this.Lnki_ext_(orig_ext); // overwrite ext with whatever's in file_orig; needed for ogg -> oga / ogv - if (Bry_.Len_gt_0(orig_redirect)) // redirect exists; EX: A.png redirected to B.png - this.Lnki_ttl_(orig_redirect); // update fsdb with atrs of B.png - else if (!Bry_.Eq(lnki_ttl, orig_ttl)) // ttls differ; EX: "A_.png" vs "A.png" - this.Lnki_ttl_(orig_ttl); - this.orig_file_len = orig_file_len; + public void Orig_repo_id_(int v) {this.orig_repo_id = (byte)v;} + public void File_w_(int v) {file_w = v;} + public void Init_for_test__img(int html_w, int html_h, Io_url html_view_url, Io_url html_orig_url) { + this.html_w = html_w; this.html_h = html_h; this.html_view_url = html_view_url; this.html_orig_url = html_orig_url; } - private void Lnki_ttl_(byte[] v) { - lnki_ttl = v; - lnki_ext = Xof_ext_.new_by_ttl_(v); - lnki_md5 = Xof_xfer_itm_.Md5_calc(v); + public void Init_at_hdoc(int html_uid, byte html_elem_tid) { + this.html_uid = html_uid; this.html_elem_tid = html_elem_tid; } - public void Init_for_gallery(int html_w, int html_h, int file_w) { - this.html_w = html_w; this.html_h = html_h; - this.file_w = file_w; - } - public void Init_for_gallery_update(int html_w, int html_h, String view_src, String orig_src) { - this.html_w = html_w; this.html_h = html_h; - this.html_view_url = Bry_.new_utf8_(view_src); - this.html_orig_url = Bry_.new_utf8_(orig_src); - this.html_pass = true; - this.file_found = true; - } - public void Init_for_test__img(int html_w, int html_h, byte[] html_view_url, byte[] html_orig_url) {this.html_w = html_w; this.html_h = html_h; this.html_view_url = html_view_url; this.html_orig_url = html_orig_url;} - public Xof_xfer_itm Set__ttl(byte[] ttl, byte[] redirect) { - this.orig_redirect = redirect; - this.lnki_ttl = orig_redirect == Xop_redirect_mgr.Redirect_null_bry ? Bry_.Copy(ttl) : orig_redirect; - this.lnki_ttl = Xof_xfer_itm_.Md5_decoder.Decode_lax(Xof_xfer_itm_.Ttl_standardize(lnki_ttl)); // NOTE: this line is repeated in static method below - this.lnki_md5 = Xof_xfer_itm_.Md5_calc(lnki_ttl); // NOTE: md5 is calculated off of url_decoded ttl; EX: A%2Cb is converted to A,b and then md5'd. note that A%2Cb still remains the title - this.lnki_ext = Xof_ext_.new_by_ttl_(lnki_ttl); - return this; - } - public void Set__html_size(int html_w, int html_h) {this.html_w = html_w; this.html_h = html_h; } - public Xof_xfer_itm Set__html_uid_tid(int uid, byte tid) {html_uid = uid; html_elem_tid = tid; return this;} - public void Set__meta(Xof_meta_itm meta_itm, Xof_repo_itm trg_repo, int thumb_w_img) { - this.meta_itm = meta_itm; Trg_repo_(trg_repo); this.thumb_w_img = thumb_w_img; + + public void Set__meta(Xof_meta_itm meta_itm, Xof_repo_itm trg_repo_itm, int thumb_w_img) { + this.meta_itm = meta_itm; Trg_repo_itm_(trg_repo_itm); this.thumb_w_img = thumb_w_img; this.orig_w = meta_itm.Orig_w(); this.orig_h = meta_itm.Orig_h(); // orig_w / orig_h needed for imap; DATE:2014-08-08 } private int thumb_w_img; - public void Set__meta_only(Xof_meta_itm meta_itm) {this.meta_itm = meta_itm; Set__ttl(meta_itm.Ttl(), meta_itm.Ptr_ttl());} - public void Calc_by_fsdb(int html_w, int html_h, Io_url view_url, Io_url orig_url) { - html_pass = true; - this.html_w = html_w; - this.html_h = html_h; - this.html_orig_url = Bry_.new_utf8_(orig_url.To_http_file_str()); - this.html_view_url = Bry_.new_utf8_(view_url.To_http_file_str()); + public void Set__meta_only(Xof_meta_itm meta_itm) {this.meta_itm = meta_itm; Orig_ttl_and_redirect_(meta_itm.Ttl(), meta_itm.Ptr_ttl());} + public void Init_at_html(int exec_tid, Xof_img_size img_size, Xof_repo_itm repo, Xof_url_bldr url_bldr) { + Calc_html_size(exec_tid, img_size); + this.html_view_url = url_bldr.To_url_trg(repo, this, file_is_orig); + this.html_orig_url = url_bldr.To_url_trg(repo, this, Bool_.Y); } - public void Lnki_ext_(Xof_ext v) {lnki_ext = v;} - public Xof_xfer_itm Html_elem_tid_(byte v) {html_elem_tid = v; return this;} + private void Calc_html_size(int exec_tid, Xof_img_size img_size) { + if (!orig_ext.Id_is_media() && lnki_time != Xof_lnki_time.Null) // file is not media, but has thumbtime; this check can't be moved to Lnki_time_() b/c it needs ext + lnki_time = Xof_lnki_time.Null; // set time to null; needed else url will reference thumbtime; PAGE:en.w:Moon; EX:[[File:Lunar libration with phase Oct 2007 450px.gif|thumbtime=0:02]]; DATE:2014-07-20 + if (orig_ext.Id_is_audio_strict()) // audio does not have html size calculated; everything else does + file_is_orig = Bool_.Y; + else { + img_size.Html_size_calc(exec_tid, lnki_w, lnki_h, lnki_type, Xof_patch_upright_tid_.Tid_all, lnki_upright, orig_ext.Id(), orig_w, orig_h, Xof_img_size.Thumb_width_img); + html_w = img_size.Html_w(); html_h = img_size.Html_h(); + file_w = img_size.File_w(); + file_is_orig = img_size.File_is_orig(); + } + } + private Io_url Trg_view_url(byte mode_id, int width) {return url_bldr.Init_for_trg_file(mode_id, trg_repo_itm, lnki_ttl, orig_ttl_md5, orig_ext, width, lnki_time, lnki_page).Xto_url();} + public Io_url Trg_orig_url(byte mode_id, int width) {return url_bldr.Init_for_trg_file(mode_id, trg_repo_itm, lnki_ttl, orig_ttl_md5, orig_ext, width, lnki_time, lnki_page).Xto_url();} public boolean Calc_by_meta() {return Calc_by_meta(false);} public boolean Calc_by_meta(boolean caller_is_file_page) { - html_pass = false; - html_orig_url = html_view_url = Bry_.Empty; + file_exists = false; + html_orig_url = html_view_url = Io_url_.Empty; html_w = lnki_w; html_h = lnki_h; - if (meta_itm == null || trg_repo == null) return false; + if (meta_itm == null || trg_repo_itm == null) return false; if (meta_itm.Ptr_ttl_exists()) { lnki_ttl = meta_itm.Ptr_ttl(); - lnki_md5 = Xof_xfer_itm_.Md5_(lnki_ttl); + orig_ttl_md5 = Xof_file_wkr_.Md5_(lnki_ttl); } - boolean limit_size = !lnki_ext.Id_is_svg() || (lnki_ext.Id_is_svg() && caller_is_file_page); - if (lnki_ext.Id_is_media() && html_w < 1) // if media and no width, set to default; NOTE: must be set or else dynamic download will resize play button to small size; DATE:20121227 + boolean limit_size = !orig_ext.Id_is_svg() || (orig_ext.Id_is_svg() && caller_is_file_page); + if (orig_ext.Id_is_media() && html_w < 1) // if media and no width, set to default; NOTE: must be set or else dynamic download will resize play button to small size; DATE:20121227 html_w = Xof_img_size.Thumb_width_ogv; - if (img_is_thumbable) { // file is thumb - if (lnki_ext.Id_is_video()) { // video is a special case; src is thumb_w but html_w / html_h is based on calc - html_orig_url = Trg_html(Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); - if (meta_itm.Thumbs_indicates_oga() && lnki_ext.Id_is_ogv()) {lnki_ext = Xof_ext_.new_by_ext_(Xof_ext_.Bry_oga); return true;} // if audio, do not thumb; NOTE: must happen after html_orig_url, b/c html must still be generated to auto-download files; NOTE: must change ext to oga b/c ogg may trigger video code elsewhere + if (!file_is_orig) { // file is thumb + if (orig_ext.Id_is_video()) { // video is a special case; src is thumb_w but html_w / html_h is based on calc + html_orig_url = Trg_view_url(Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); + if (meta_itm.Thumbs_indicates_oga() && orig_ext.Id_is_ogv()) {orig_ext = Xof_ext_.new_by_ext_(Xof_ext_.Bry_oga); return true;} // if audio, do not thumb; NOTE: must happen after html_orig_bry, b/c html must still be generated to auto-download files; NOTE: must change ext to oga b/c ogg may trigger video code elsewhere Xof_meta_thumb thumb = meta_itm.Thumbs_get_vid(Xof_lnki_time.X_int(lnki_time)); if (thumb != null) { - Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, thumb.Width(), thumb.Height(), html_w, html_h, img_is_thumbable, lnki_upright); + Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, thumb.Width(), thumb.Height(), html_w, html_h, !file_is_orig, lnki_upright); html_w = calc_size.Val_0(); html_h = calc_size.Val_1(); - html_view_url = Trg_html(Xof_repo_itm.Mode_thumb, thumb.Width()); // NOTE: must pass thumb.Width() not html_w b/c only one thumb generated for a video file - html_pass = true; + html_view_url = Trg_view_url(Xof_repo_itm_.Mode_thumb, thumb.Width()); // NOTE: must pass thumb.Width() not html_w b/c only one thumb generated for a video file + file_exists = true; return true; } } else { // regular thumb - html_orig_url = Trg_html(Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); - if (lnki_ext.Id_is_audio()) return true; // if audio, do not thumb; even if user requests thumb; + html_orig_url = Trg_view_url(Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); + if (orig_ext.Id_is_audio()) return true; // if audio, do not thumb; even if user requests thumb; Xof_meta_thumb[] thumbs = meta_itm.Thumbs(); int thumbs_len = thumbs.length; Xof_meta_thumb thumb = null; if (lnki_h > 0 && orig_w < 1 && thumbs_len > 0) { // if height is specified and no orig, then iterate over thumbs to find similar height; NOTE: this is a fallback case; orig_w/h is optimal; EX: c:Jacques-Louis David and Xof_meta_thumb largest = meta_itm.Thumbs_get_largest(thumbs_len); // get largest thumb - Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, largest.Width(), largest.Height(), html_w, html_h, img_is_thumbable, lnki_upright, false); // use largest to calc correct width/height; note that this is needed for gallery which passes in 120,120; EX:c:Yellowstone Park + Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, largest.Width(), largest.Height(), html_w, html_h, !file_is_orig, lnki_upright, false); // use largest to calc correct width/height; note that this is needed for gallery which passes in 120,120; EX:c:Yellowstone Park int comp_height = calc_size.Val_1(); for (int i = 0; i < thumbs_len; i++) { Xof_meta_thumb tmp_thumb = thumbs[i]; @@ -202,51 +221,51 @@ public class Xof_xfer_itm implements Xof_file_itm { if (thumb != null) return Calc_by_meta_found(lnki_type, thumb.Width(), thumb.Height()); // thumb found } - Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, meta_itm.Orig_w(), meta_itm.Orig_h(), html_w, html_h, img_is_thumbable, lnki_upright, limit_size); // calc html_h and html_w; can differ from lnki_w, lnki_h; note that -1 width is handled by thumb_w_img + Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, meta_itm.Orig_w(), meta_itm.Orig_h(), html_w, html_h, !file_is_orig, lnki_upright, limit_size); // calc html_h and html_w; can differ from lnki_w, lnki_h; note that -1 width is handled by thumb_w_img html_w = calc_size.Val_0(); if (html_h != -1) html_h = calc_size.Val_1(); // NOTE: if -1 (no height specified) do not set height; EX:Tokage_2011-07-15.jpg; DATE:2013-06-03 - html_view_url = Trg_html(Xof_repo_itm.Mode_thumb, this.File_w()); + html_view_url = Trg_view_url(Xof_repo_itm_.Mode_thumb, this.File_w()); thumb = meta_itm.Thumbs_get_img(html_w, 0); if (thumb == null) { // exact thumb not found if (html_w == meta_itm.Orig_w() // html_w matches orig_w; occurs when thumb,upright requested, but upright size is larger than orig; PAGE:en.w:St. Petersburg - && !lnki_ext.Id_needs_convert() // but ext cannot be something that needs conversion; EX: 120,90 svg may match thumb of 120,90, but .png still needs to be generated + && !orig_ext.Id_needs_convert() // but ext cannot be something that needs conversion; EX: 120,90 svg may match thumb of 120,90, but .png still needs to be generated && meta_itm.Orig_exists() == Xof_meta_itm.Exists_y ) { html_h = meta_itm.Orig_h(); - html_view_url = Trg_html(Xof_repo_itm.Mode_orig, -1); - html_pass = true; + html_view_url = Trg_view_url(Xof_repo_itm_.Mode_orig, -1); + file_exists = true; return true; } - if (lnki_ext.Id_is_djvu()) { // NOTE: exact djvu w thumbs are not on server; always seems to be 1 off; EX: 90 requested, but 90 doesn't exist; 89 does + if (orig_ext.Id_is_djvu()) { // NOTE: exact djvu w thumbs are not on server; always seems to be 1 off; EX: 90 requested, but 90 doesn't exist; 89 does thumb = meta_itm.Thumbs_get_img(html_w, 1); if (thumb != null) return Calc_by_meta_found(lnki_type, thumb.Width(), thumb.Height()); // thumb found } } else { html_h = thumb.Height(); - html_pass = true; + file_exists = true; return true; } } } else { // file is orig - byte mode_id = lnki_ext.Id_is_svg() ? Xof_repo_itm.Mode_thumb : Xof_repo_itm.Mode_orig; // svgs will always return thumb; EX:[[A.svg]] -> A.svg.png - html_view_url = html_orig_url = Trg_html(mode_id, this.File_w()); - if (meta_itm.Thumbs_indicates_oga() && lnki_ext.Id_is_ogv()) {lnki_ext = Xof_ext_.new_by_ext_(Xof_ext_.Bry_oga); return true;} // if audio, do not thumb; NOTE: must happen after html_orig_url, b/c html must still be generated to auto-download files; NOTE: must change ext to oga b/c ogg may trigger video code elsewhere - if (lnki_ext.Id_is_audio()) return true; // if audio, return true; SEE:NOTE_2 - else if (lnki_ext.Id_is_video()) { + byte mode_id = orig_ext.Id_is_svg() ? Xof_repo_itm_.Mode_thumb : Xof_repo_itm_.Mode_orig; // svgs will always return thumb; EX:[[A.svg]] -> A.svg.png + html_view_url = html_orig_url = Trg_view_url(mode_id, this.File_w()); + if (meta_itm.Thumbs_indicates_oga() && orig_ext.Id_is_ogv()) {orig_ext = Xof_ext_.new_by_ext_(Xof_ext_.Bry_oga); return true;} // if audio, do not thumb; NOTE: must happen after html_orig_bry, b/c html must still be generated to auto-download files; NOTE: must change ext to oga b/c ogg may trigger video code elsewhere + if (orig_ext.Id_is_audio()) return true; // if audio, return true; SEE:NOTE_2 + else if (orig_ext.Id_is_video()) { Xof_meta_thumb thumb = meta_itm.Thumbs_get_vid(Xof_lnki_time.X_int(lnki_time)); // get thumb at lnki_time; NOTE: in most cases this will just be the 1st thumb; note that orig video files don't have an official thumb if (thumb != null) { html_w = thumb.Width(); html_h = thumb.Height(); // NOTE: take thumb_size; do not rescale to html_w, html_h b/c html_w will default to 220; native width of thumbnail should be used; DATE:2013-04-11 - html_view_url = Trg_html(Xof_repo_itm.Mode_thumb, thumb.Width()); // NOTE: must pass thumb.Width() not html_w b/c only one thumb generated for a video file - html_pass = true; + html_view_url = Trg_view_url(Xof_repo_itm_.Mode_thumb, thumb.Width()); // NOTE: must pass thumb.Width() not html_w b/c only one thumb generated for a video file + file_exists = true; return true; } } if (meta_itm.Orig_exists() == Xof_meta_itm.Exists_y) { // file found previously >>> gen html html_w = meta_itm.Orig_w(); html_h = meta_itm.Orig_h(); - html_view_url = Trg_html(mode_id, this.File_w()); - html_pass = true; + html_view_url = Trg_view_url(mode_id, this.File_w()); + file_exists = true; return true; } } @@ -256,10 +275,10 @@ public class Xof_xfer_itm implements Xof_file_itm { return false; } private Int_2_ref calc_size = new Int_2_ref(); private boolean Calc_by_meta_found(byte lnki_type, int model_w, int model_h) { - Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, model_w, model_h, html_w, html_h, img_is_thumbable, lnki_upright, false); // recalc html_w, html_h; note that false passed b/c truncation is not needed + Xof_xfer_itm_.Calc_xfer_size(calc_size, lnki_type, thumb_w_img, model_w, model_h, html_w, html_h, !file_is_orig, lnki_upright, false); // recalc html_w, html_h; note that false passed b/c truncation is not needed html_w = calc_size.Val_0(); html_h = calc_size.Val_1(); - html_view_url = Trg_html(Xof_repo_itm.Mode_thumb, model_w); // note that thumb.Width is used (the actual file width), not html_w - html_pass = true; + html_view_url = Trg_view_url(Xof_repo_itm_.Mode_thumb, model_w); // note that thumb.Width is used (the actual file width), not html_w + file_exists = true; return true; } } diff --git a/400_xowa/src/gplx/xowa/files/Xof_xfer_itm_.java b/400_xowa/src/gplx/xowa/files/Xof_xfer_itm_.java index 66c25a2e2..641751214 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_xfer_itm_.java +++ b/400_xowa/src/gplx/xowa/files/Xof_xfer_itm_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.files; import gplx.*; import gplx.xowa.*; import gplx.gfui.*; public class Xof_xfer_itm_ { - public static void Calc_xfer_size(Int_2_ref rv, byte lnki_type, int thumb_default_w, int file_w, int file_h, int lnki_w, int lnki_h, boolean lnki_thumb, double lnki_upright, Xof_ext ext, byte exec_tid) { + public static void Calc_xfer_size(Int_2_ref rv, byte lnki_type, int thumb_default_w, int file_w, int file_h, int lnki_w, int lnki_h, boolean lnki_thumb, double lnki_upright, Xof_ext ext, int exec_tid) { boolean ext_is_svg = ext.Id_is_svg(); boolean limit_size = !ext_is_svg || (ext_is_svg && exec_tid == Xof_exec_tid.Tid_wiki_file); Calc_xfer_size(rv, lnki_type, thumb_default_w, file_w, file_h, lnki_w, lnki_h, lnki_thumb, lnki_upright, limit_size); @@ -60,29 +60,12 @@ public class Xof_xfer_itm_ { ? 0 : (int)Math_.Round(((double)lnki_w * file_h) / file_w, 0); // NOTE: (double) needed else result will be int and decimal will be automatically truncated } - public static final Url_encoder Md5_decoder = Url_encoder.new_http_url_().Itms_raw_same_many(Byte_ascii.Plus); - public static byte[] Md5_calc(byte[] v) {return Bry_.new_ascii_(gplx.security.HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} - public static byte[] Md5_(byte[] ttl) { - ttl = Md5_decoder.Decode_lax(Ttl_standardize(ttl)); // NOTE: this line is repeated in member above - return Xof_xfer_itm_.Md5_calc(ttl); // NOTE: md5 is calculated off of url_decoded ttl; EX: A%2Cb is converted to A,b and then md5'd. note that A%2Cb still remains the title - } public static boolean Lnki_thumbable_calc(byte lnki_type, int lnki_w, int lnki_h) { return ( lnki_type == Xop_lnki_type.Id_frame && lnki_w != -1 && lnki_h != -1) || (Xop_lnki_type.Id_defaults_to_thumb(lnki_type) || lnki_w != -1 || lnki_h != -1) ; } // SEE:NOTE_3 - public static byte[] Ttl_standardize(byte[] ttl) { - int ttl_len = ttl.length; - for (int i = 0; i < ttl_len; i++) { // convert all spaces to _; NOTE: not same as lnki.Ttl().Page_url(), b/c Page_url does incompatible encoding - byte b = ttl[i]; - if (b == Byte_ascii.Space) ttl[i] = Byte_ascii.Underline; - if (i == 0) { - if (b > 96 && b < 123) ttl[i] -= 32; // NOTE: file automatically uppercases 1st letter - } - } - return ttl; - } } /* NOTE_1:proc source/layout 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 b3ca786e4..61668ca67 100644 --- a/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java +++ b/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java @@ -39,13 +39,13 @@ public class Xow_file_mgr implements GfoInvkAble { public byte Version() { if (version == Bool_.__byte) { Io_url file_dir = wiki.Fsys_mgr().File_dir(); - if (!Io_mgr._.ExistsFil(file_dir.GenSubFil(Fsdb_db_mgr__v1.Mnt_name))) { + if (!Io_mgr.I.ExistsFil(file_dir.GenSubFil(Fsdb_db_mgr__v1.Mnt_name))) { version = Version_1; - fsdb_mode = Xof_fsdb_mode.new_wmf(); + fsdb_mode = Xof_fsdb_mode.new_v0(); } else { version = Version_2; - fsdb_mode = Xof_fsdb_mode.new_view(); + fsdb_mode = Xof_fsdb_mode.new_v2_gui(); } } return version; @@ -70,17 +70,17 @@ public class Xow_file_mgr implements GfoInvkAble { public Xof_meta_mgr Meta_mgr() {return meta_mgr;} private Xof_meta_mgr meta_mgr; public Xof_cfg_download Cfg_download() {return cfg_download;} private Xof_cfg_download cfg_download = new Xof_cfg_download(); public void Cfg_set(String grp, String key, String val) { // TEST: should only be called by tests - if (test_grps == null) test_grps = HashAdp_.new_(); - Db_cfg_hash grp_itm = (Db_cfg_hash)test_grps.Fetch(grp); + if (test_grps == null) test_grps = Hash_adp_.new_(); + Db_cfg_hash grp_itm = (Db_cfg_hash)test_grps.Get_by(grp); if (grp_itm == null) { grp_itm = new Db_cfg_hash(grp); test_grps.Add(grp, grp_itm); } grp_itm.Set(key, val); - } private HashAdp test_grps; + } private Hash_adp test_grps; public Db_cfg_hash Cfg_get(String grp) { if (test_grps != null) { - Db_cfg_hash rv = (Db_cfg_hash)test_grps.Fetch(grp); + Db_cfg_hash rv = (Db_cfg_hash)test_grps.Get_by(grp); return rv == null ? new Db_cfg_hash("") : rv; } if (this.Version() == Version_1) return new Db_cfg_hash(""); @@ -89,10 +89,10 @@ public class Xow_file_mgr implements GfoInvkAble { } public Xof_fsdb_mgr Fsdb_mgr() {return fsdb_mgr;} private Xof_fsdb_mgr fsdb_mgr = new Xof_fsdb_mgr__sql(); public boolean Find_meta(Xof_xfer_itm xfer_itm) { - xfer_itm.Trg_repo_idx_(Xof_meta_itm.Repo_unknown); + xfer_itm.Orig_repo_id_(Xof_meta_itm.Repo_unknown); byte[] xfer_itm_ttl = xfer_itm.Lnki_ttl(); - xfer_itm.Set__ttl(xfer_itm_ttl, Bry_.Empty); - Xof_meta_itm meta_itm = meta_mgr.Get_itm_or_new(xfer_itm_ttl, xfer_itm.Lnki_md5()); + xfer_itm.Orig_ttl_and_redirect_(xfer_itm_ttl, Bry_.Empty); + Xof_meta_itm meta_itm = meta_mgr.Get_itm_or_new(xfer_itm_ttl, xfer_itm.Orig_ttl_md5()); xfer_itm.Set__meta_only(meta_itm); if (meta_itm.State_new()) { // meta_itm is brand new xfer_itm.Set__meta(meta_itm, repo_mgr.Repos_get_at(0).Trg(), wiki.Html_mgr().Img_thumb_width()); // default to 1st repo to prevent null_ref in xfer_mgr; questionable, but all wikis must have at least 1 repo @@ -117,10 +117,12 @@ public class Xow_file_mgr implements GfoInvkAble { public void Init_file_mgr_by_load(Xow_wiki wiki) { if (db_core != null) return; // already init'd this.db_core = Fsdb_db_mgr_.new_detect(wiki, wiki.Fsys_mgr().Root_dir(), wiki.Fsys_mgr().File_dir()); - if (db_core == null ) return; // no fsdb_core found; exit +// if (db_core == null) return; // no fsdb_core found; exit + if (db_core == null) + db_core = Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, false); this.version = Version_2; - this.fsdb_mode = Xof_fsdb_mode.new_view(); - orig_mgr.Init_by_wiki(fsdb_mode, db_core.File__orig_tbl_ary(), wiki.Domain_bry(), wiki.App().Wmf_mgr().Download_wkr(), wiki.File__repo_mgr(), Xof_url_bldr.new_v2_()); + this.fsdb_mode = Xof_fsdb_mode.new_v2_gui(); + orig_mgr.Init_by_wiki(wiki, fsdb_mode, db_core.File__orig_tbl_ary(), Xof_url_bldr.new_v2()); fsdb_mgr.Init_by_wiki(wiki); } diff --git a/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java b/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java index 0083dd93f..0413caf50 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java +++ b/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java @@ -24,12 +24,12 @@ interface Bin_fetcher { class Bin_fetcher_fsys implements Bin_fetcher { public void Init_src_url(Io_url src) {this.src = src;} private Io_url src; public boolean Save_as_url(Io_url trg) { - try {Io_mgr._.CopyFil(src, trg, true); return true;} + try {Io_mgr.I.CopyFil(src, trg, true); return true;} catch (Exception exc) {Err_.Noop(exc); return false;} } public boolean Save_as_bry(Bry_obj_ref bry_ref) { try { - byte[] bry = Io_mgr._.LoadFilBry(src); + byte[] bry = Io_mgr.I.LoadFilBry(src); bry_ref.Val_(bry); return true; } @@ -37,7 +37,7 @@ class Bin_fetcher_fsys implements Bin_fetcher { } } class Bin_fetcher_http implements Bin_fetcher { - private gplx.ios.IoEngine_xrg_downloadFil download = gplx.ios.IoEngine_xrg_downloadFil.new_("", Io_url_.Null); + private gplx.ios.IoEngine_xrg_downloadFil download = gplx.ios.IoEngine_xrg_downloadFil.new_("", Io_url_.Empty); public void Init_src_str(String src) {this.src = src;} private String src; public boolean Save_as_url(Io_url trg) { return download.Src_(src).Trg_(trg).Exec(); diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java index 3e282df7a..14a1c0982 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java @@ -22,22 +22,23 @@ import gplx.xowa.files.repos.*; import gplx.xowa.files.fsdb.*; import gplx.xowa. import gplx.xowa.wmfs.*; public class Xof_bin_mgr { private final Fsm_mnt_mgr mnt_mgr; - private final Gfo_usr_dlg usr_dlg; private final Xow_repo_mgr repo_mgr; private final Xof_cache_mgr cache_mgr; private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); + private final Gfo_usr_dlg usr_dlg; private final Xow_repo_mgr repo_mgr; private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); private Xof_bin_wkr[] wkrs = Xof_bin_wkr_.Ary_empty; private int wkrs_len; private final String_obj_ref resize_warning = String_obj_ref.null_(); private final Xof_img_size tmp_size = new Xof_img_size(); - public Xof_bin_mgr(Fsm_mnt_mgr mnt_mgr, Xow_repo_mgr repo_mgr, Xof_cache_mgr cache_mgr, Xof_img_wkr_resize_img resize_wkr) { - this.mnt_mgr = mnt_mgr; this.repo_mgr = repo_mgr; this.cache_mgr = cache_mgr; - this.usr_dlg = Gfo_usr_dlg_.I; + private final Io_download_fmt download_fmt; + public Xof_bin_mgr(Fsm_mnt_mgr mnt_mgr, Xow_repo_mgr repo_mgr, Xof_img_wkr_resize_img resize_wkr, Io_download_fmt download_fmt) { + this.mnt_mgr = mnt_mgr; this.repo_mgr = repo_mgr; this.download_fmt = download_fmt; + this.usr_dlg = Gfo_usr_dlg_.I; this.Resizer_(resize_wkr); } public void Resizer_(Xof_img_wkr_resize_img v) {resizer = v;} private Xof_img_wkr_resize_img resizer; public void Wkrs__del(String key) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (Xof_bin_wkr wkr : wkrs) { if (String_.Eq(key, wkr.Key())) continue; list.Add(wkr); } - this.wkrs = (Xof_bin_wkr[])list.Xto_ary(Xof_bin_wkr.class); + this.wkrs = (Xof_bin_wkr[])list.To_ary(Xof_bin_wkr.class); this.wkrs_len = wkrs.length; } public void Wkrs__add(Xof_bin_wkr v) { @@ -52,17 +53,17 @@ public class Xof_bin_mgr { } return null; } - public boolean Find_to_url_as_bool(byte exec_tid, Xof_fsdb_itm itm) {return Find_to_url(exec_tid, itm) != Io_url_.Null;} - private Io_url Find_to_url(byte exec_tid, Xof_fsdb_itm itm) { - Io_stream_rdr rdr = Find_as_rdr(exec_tid, itm); - if (rdr == Io_stream_rdr_.Null) return Io_url_.Null; - Io_url trg = itm.Html_view_url(); - if (itm.File_resized()) return trg; // rdr is opened directly from trg; return its url; occurs when url goes through imageMagick / inkscape, or when thumb is already on disk; - Io_stream_wtr_.Save_rdr(trg, rdr); // rdr is stream; either from http_wmf or fsdb; save to trg and return; - if (!Env_.Mode_testing()) cache_mgr.Reg(itm, rdr.Len()); + public boolean Find_to_url_as_bool(int exec_tid, Xof_fsdb_itm fsdb) {return Find_to_url(exec_tid, fsdb) != Io_url_.Empty;} + private Io_url Find_to_url(int exec_tid, Xof_fsdb_itm fsdb) { + Io_stream_rdr rdr = Find_as_rdr(exec_tid, fsdb); + if (rdr == Io_stream_rdr_.Null) return Io_url_.Empty; + Io_url trg = fsdb.Html_view_url(); + fsdb.File_size_(rdr.Len()); + if (fsdb.File_resized()) return trg; // rdr is opened directly from trg; return its url; occurs when url goes through imageMagick / inkscape, or when thumb is already on disk; + Io_stream_wtr_.Save_rdr(trg, rdr, download_fmt); // rdr is stream; either from http_wmf or fsdb; save to trg and return; return trg; } - public Io_stream_rdr Find_as_rdr(byte exec_tid, Xof_fsdb_itm fsdb) { + public Io_stream_rdr Find_as_rdr(int exec_tid, Xof_fsdb_itm fsdb) { Io_stream_rdr rv = Io_stream_rdr_.Null; Xof_repo_itm repo = repo_mgr.Repos_get_by_wiki(fsdb.Orig_repo_name()).Trg(); boolean file_is_orig = fsdb.File_is_orig(); @@ -89,12 +90,12 @@ public class Xof_bin_mgr { } rv = wkr.Get_as_rdr(fsdb, Bool_.N, fsdb.Orig_w()); // thumb missing; get orig; if (rv == Io_stream_rdr_.Null) { - usr_dlg.Log_direct(String_.Format("bin_mgr:thumb not found; wkr={0} ttl={1} w={2}", wkr.Key(), fsdb.Lnki_ttl(), fsdb.Lnki_w())); + usr_dlg.Log_direct(String_.Format("bin_mgr:thumb not found; wkr={0} ttl={1} w={2}", wkr.Key(), fsdb.Orig_ttl(), fsdb.Lnki_w())); continue; // nothing found; continue; } if (!wkr.Resize_allowed()) continue; Io_url orig = url_bldr.To_url_trg(repo, fsdb, Bool_.Y); // get orig url - Io_stream_wtr_.Save_rdr(orig, rv); + Io_stream_wtr_.Save_rdr(orig, rv, download_fmt); boolean resized = Resize(exec_tid, fsdb, file_is_orig, orig, trg); if (!resized) continue; fsdb.File_exists_y_(); @@ -105,9 +106,9 @@ public class Xof_bin_mgr { } return Io_stream_rdr_.Null; } - private boolean Resize(byte exec_tid, Xof_fsdb_itm itm, boolean file_is_orig, Io_url src, Io_url trg) { - tmp_size.Html_size_calc(exec_tid, itm.Lnki_w(), itm.Lnki_h(), itm.Lnki_type(), mnt_mgr.Patch_upright(), itm.Lnki_upright(), itm.Lnki_ext().Id(), itm.Orig_w(), itm.Orig_h(), Xof_img_size.Thumb_width_img); - boolean rv = resizer.Exec(src, trg, tmp_size.Html_w(), tmp_size.Html_h(), itm.Lnki_ext().Id(), resize_warning); + private boolean Resize(int exec_tid, Xof_fsdb_itm itm, boolean file_is_orig, Io_url src, Io_url trg) { + tmp_size.Html_size_calc(exec_tid, itm.Lnki_w(), itm.Lnki_h(), itm.Lnki_type(), mnt_mgr.Patch_upright(), itm.Lnki_upright(), itm.Orig_ext().Id(), itm.Orig_w(), itm.Orig_h(), Xof_img_size.Thumb_width_img); + boolean rv = resizer.Exec(src, trg, tmp_size.Html_w(), tmp_size.Html_h(), itm.Orig_ext().Id(), resize_warning); itm.File_resized_y_(); return rv; } diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_skip_mgr.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_skip_mgr.java index 965898986..92971632b 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_skip_mgr.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_skip_mgr.java @@ -21,12 +21,12 @@ import gplx.fsdb.meta.*; import gplx.xowa.files.fsdb.*; public class Xof_bin_skip_mgr { private Xof_bin_skip_wkr[] wkrs = new Xof_bin_skip_wkr[0]; private int wkrs_len; public Xof_bin_skip_mgr(Fsm_cfg_mgr cfg_mgr, String[] wkr_keys) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (int i = 0; i < wkrs_len; ++i) { Xof_bin_skip_wkr wkr = New_wkr(cfg_mgr, wkr_keys[i]); if (wkr != null) list.Add(wkr); } - this.wkrs = (Xof_bin_skip_wkr[])list.Xto_ary_and_clear(Xof_bin_skip_wkr.class); + this.wkrs = (Xof_bin_skip_wkr[])list.To_ary_and_clear(Xof_bin_skip_wkr.class); this.wkrs_len = wkrs.length; } public boolean Skip(Xof_fsdb_itm fsdb, Io_stream_rdr src_rdr) { @@ -63,7 +63,7 @@ class Xof_bin_skip_wkr__page_gt_1 implements Xof_bin_skip_wkr { // prior to v2.4 public boolean Skip_exec(Xof_fsdb_itm fsdb, Io_stream_rdr src_rdr) { boolean rv = fsdb.Lnki_page() > 1; if (rv) - Xoa_app_.Usr_dlg().Note_many("", "", "src_bin_mgr:skip page gt 1: file=~{0} width=~{1} page=~{2}", fsdb.Lnki_ttl(), fsdb.File_w(), fsdb.Lnki_page()); + Xoa_app_.Usr_dlg().Note_many("", "", "src_bin_mgr:skip page gt 1: file=~{0} width=~{1} page=~{2}", fsdb.Orig_ttl(), fsdb.Html_w(), fsdb.Lnki_page()); return rv; } public void Skip_term(Fsm_cfg_mgr cfg_mgr) { @@ -78,10 +78,10 @@ class Xof_bin_skip_wkr__small_size implements Xof_bin_skip_wkr {// downloads can boolean rv = src_rdr.Len() < 500 // file is small (< 500 bytes) && fsdb.Html_w() > 50 // only apply to images larger than 50 px (arbitrarily chosen); needed to ignore 1x1 images as well as icon-sized images - && Xof_ext_.Id_is_image_wo_svg(fsdb.Lnki_ext().Id()) // only consider images; needed b/c of file_w check; note:ignore svg which can be small + && Xof_ext_.Id_is_image_wo_svg(fsdb.Orig_ext().Id()) // only consider images; needed b/c of file_w check; note:ignore svg which can be small ; if (rv) - Xoa_app_.Usr_dlg().Note_many("", "", "src_bin_mgr:skip small file: file=~{0} width=~{1} ext=~{2} len=~{3}", fsdb.Lnki_ttl(), fsdb.Lnki_w(), fsdb.Orig_ext(), src_rdr.Len()); + Xoa_app_.Usr_dlg().Note_many("", "", "src_bin_mgr:skip small file: file=~{0} width=~{1} ext=~{2} len=~{3}", fsdb.Orig_ttl(), fsdb.Lnki_w(), fsdb.Orig_ext(), src_rdr.Len()); return rv; } public void Skip_term(Fsm_cfg_mgr cfg_mgr) {} diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsdb_sql.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsdb_sql.java index 0959d498b..dd06d8d1a 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsdb_sql.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsdb_sql.java @@ -36,34 +36,50 @@ public class Xof_bin_wkr__fsdb_sql implements Xof_bin_wkr { if (skip_mgr != null && skip_mgr.Skip(fsdb, rdr)) return Io_stream_rdr_.Null; return rdr; } - public boolean Get_to_fsys(Xof_fsdb_itm itm, boolean is_thumb, int w, Io_url bin_url) {return Get_to_fsys(itm.Orig_repo_name(), itm.Lnki_ttl(), itm.Lnki_md5(), itm.Lnki_ext(), is_thumb, w, itm.Lnki_time(), itm.Lnki_page(), bin_url);} - private boolean Get_to_fsys(byte[] orig_repo, byte[] orig_ttl, byte[] orig_md5, Xof_ext orig_ext, boolean lnki_is_thumb, int file_w, double lnki_time, int lnki_page, Io_url file_url) { + public boolean Get_to_fsys(Xof_fsdb_itm itm, boolean is_thumb, int w, Io_url bin_url) {return Get_to_fsys(itm.Orig_repo_name(), itm.Orig_ttl(), itm.Orig_ext(), is_thumb, w, itm.Lnki_time(), itm.Lnki_page(), bin_url);} + private boolean Get_to_fsys(byte[] orig_repo, byte[] orig_ttl, Xof_ext orig_ext, boolean lnki_is_thumb, int file_w, double lnki_time, int lnki_page, Io_url file_url) { Find_ids(orig_repo, orig_ttl, orig_ext.Id(), lnki_time, lnki_page, lnki_is_thumb, file_w); int bin_db_id = tmp_ids.Bin_db_id(); if (bin_db_id == Fsd_bin_tbl.Bin_db_id_null) return false; Fsm_bin_fil bin_db = mnt_mgr.Bins__at(tmp_ids.Mnt_id(), bin_db_id); return bin_db.Select_to_url(tmp_ids.Itm_id(), file_url); } - private void Find_ids(Xof_fsdb_itm itm, boolean is_thumb, int w) {Find_ids(itm.Orig_repo_name(), itm.Lnki_ttl(), itm.Lnki_ext().Id(), itm.Lnki_time(), itm.Lnki_page(), is_thumb, w);} + public Io_stream_rdr Get_to_fsys_near(Xof_fsdb_itm rv, byte[] orig_repo, byte[] orig_ttl, Xof_ext orig_ext, double lnki_time, int lnki_page) { + Fsd_thm_itm thm_itm = Fsd_thm_itm.new_(); + thm_itm.Init_by_req(Int_.MaxValue, lnki_time, lnki_page); + boolean found = Select_thm_bin(Bool_.N, thm_itm, orig_repo, orig_ttl); + if (found) { + tmp_ids.Init_by_thm(found, thm_itm); + rv.Init_by_fsdb_near(Bool_.N, thm_itm.W()); + } + else { + Fsd_fil_itm fil_itm = Select_fil_bin(orig_repo, orig_ttl); // find orig + if (fil_itm == Fsd_fil_itm.Null) return Io_stream_rdr_.Null; + tmp_ids.Init_by_fil(fil_itm); + rv.Init_by_fsdb_near(Bool_.Y, rv.Orig_w()); + } + Fsm_bin_fil bin_db = mnt_mgr.Bins__at(tmp_ids.Mnt_id(), tmp_ids.Bin_db_id()); + return bin_db.Select_as_rdr(tmp_ids.Itm_id()); + } + private void Find_ids(Xof_fsdb_itm itm, boolean is_thumb, int w) {Find_ids(itm.Orig_repo_name(), itm.Orig_ttl(), itm.Orig_ext().Id(), itm.Lnki_time(), itm.Lnki_page(), is_thumb, w);} private void Find_ids(byte[] orig_repo, byte[] orig_ttl, int orig_ext, double lnki_time, int lnki_page, boolean is_thumb, int w) { synchronized (tmp_ids) { byte[] dir = orig_repo, fil = orig_ttl; - double time = Xof_lnki_time.Convert_to_fsdb_thumbtime(orig_ext, lnki_time, lnki_page); if (is_thumb) { Fsd_thm_itm thm_itm = Fsd_thm_itm.new_(); thm_itm.Init_by_req(w, lnki_time, lnki_page); - boolean found = Select_thm_bin(thm_itm, dir, fil); + boolean found = Select_thm_bin(Bool_.Y, thm_itm, dir, fil); tmp_ids.Init_by_thm(found, thm_itm); } else { - Fsd_fil_itm fil_itm = Select_fil_bin(dir, fil, is_thumb, w, time); + Fsd_fil_itm fil_itm = Select_fil_bin(dir, fil); tmp_ids.Init_by_fil(fil_itm); } } } - private Fsd_fil_itm Select_fil_bin(byte[] dir, byte[] fil, boolean is_thumb, int width, double thumbtime) { + private Fsd_fil_itm Select_fil_bin(byte[] dir, byte[] fil) { int len = mnt_mgr.Mnts__len(); for (int i = 0; i < len; i++) { - Fsd_fil_itm rv = mnt_mgr.Mnts__get_at(i).Select_fil_or_null(dir, fil, is_thumb, width, thumbtime); + Fsd_fil_itm rv = mnt_mgr.Mnts__get_at(i).Select_fil_or_null(dir, fil); if ( rv != Fsd_fil_itm.Null && rv.Bin_db_id() != Fsd_bin_tbl.Bin_db_id_null) { // NOTE: mnt_0 can have thumb, but mnt_1 can have itm; check for itm with Db_bin_id; DATE:2013-11-16 return rv; @@ -71,10 +87,10 @@ public class Xof_bin_wkr__fsdb_sql implements Xof_bin_wkr { } return Fsd_fil_itm.Null; } - private boolean Select_thm_bin(Fsd_thm_itm rv, byte[] dir, byte[] fil) { + private boolean Select_thm_bin(boolean exact, Fsd_thm_itm rv, byte[] dir, byte[] fil) { int len = mnt_mgr.Mnts__len(); for (int i = 0; i < len; i++) { - boolean exists = mnt_mgr.Mnts__get_at(i).Select_thm(rv, dir, fil); + boolean exists = mnt_mgr.Mnts__get_at(i).Select_thm(exact, rv, dir, fil); if (exists) return true; } return false; @@ -91,7 +107,7 @@ class Xof_bin_wkr_ids { public void Init_by_thm(boolean found, Fsd_thm_itm thm) { if (found) { this.mnt_id = thm.Mnt_id(); - this.bin_db_id = thm.Db_bin_id(); + this.bin_db_id = thm.Bin_db_id(); this.itm_id = thm.Thm_id(); } else diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsys_base.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsys_base.java index e39bde78c..eac1f7a75 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsys_base.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__fsys_base.java @@ -24,18 +24,16 @@ public abstract class Xof_bin_wkr__fsys_base implements Xof_bin_wkr, GfoInvkAble public abstract String Key(); public boolean Resize_allowed() {return resize_allowed;} public void Resize_allowed_(boolean v) {resize_allowed = v;} private boolean resize_allowed = false; public Io_stream_rdr Get_as_rdr(Xof_fsdb_itm itm, boolean is_thumb, int w) { - byte mode = is_thumb ? Xof_repo_itm.Mode_thumb : Xof_repo_itm.Mode_orig; - Io_url src_url = this.Get_src_url(mode, String_.new_utf8_(itm.Orig_repo_name()), itm.Lnki_ttl(), itm.Lnki_md5(), itm.Lnki_ext(), w, itm.Lnki_time(), itm.Lnki_page()); - return (src_url == Io_url_.Null) ? gplx.ios.Io_stream_rdr_.Null : gplx.ios.Io_stream_rdr_.file_(src_url); + Io_url src_url = this.Get_src_url(Xof_repo_itm_.Mode_by_bool(is_thumb), String_.new_u8(itm.Orig_repo_name()), itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext(), w, itm.Lnki_time(), itm.Lnki_page()); + return (src_url == Io_url_.Empty) ? gplx.ios.Io_stream_rdr_.Null : gplx.ios.Io_stream_rdr_.file_(src_url); } public boolean Get_to_fsys(Xof_fsdb_itm itm, boolean is_thumb, int w, Io_url bin_url) { - return Get_to_fsys(itm.Orig_repo_name(), itm.Lnki_ttl(), itm.Lnki_md5(), itm.Lnki_ext(), is_thumb, w, itm.Lnki_time(), itm.Lnki_page(), bin_url); + return Get_to_fsys(itm.Orig_repo_name(), itm.Orig_ttl(), itm.Orig_ttl_md5(), itm.Orig_ext(), is_thumb, w, itm.Lnki_time(), itm.Lnki_page(), bin_url); } private boolean Get_to_fsys(byte[] orig_repo, byte[] orig_ttl, byte[] orig_md5, Xof_ext orig_ext, boolean lnki_is_thumb, int file_w, double lnki_time, int lnki_page, Io_url file_url) { - byte mode = lnki_is_thumb ? Xof_repo_itm.Mode_thumb : Xof_repo_itm.Mode_orig; - Io_url src_url = this.Get_src_url(mode, String_.new_utf8_(orig_repo), orig_ttl, orig_md5, orig_ext, file_w, lnki_time, lnki_page); - if (src_url == Io_url_.Null) return false; - byte[] bin = Io_mgr._.LoadFilBry(src_url); + Io_url src_url = this.Get_src_url(Xof_repo_itm_.Mode_by_bool(lnki_is_thumb), String_.new_u8(orig_repo), orig_ttl, orig_md5, orig_ext, file_w, lnki_time, lnki_page); + if (src_url == Io_url_.Empty) return false; + byte[] bin = Io_mgr.I.LoadFilBry(src_url); return bin != Io_mgr.LoadFilBry_fail; } protected abstract Io_url Get_src_url(byte mode, String wiki, byte[] ttl_wo_ns, byte[] md5, Xof_ext ext, int w, double time, int page); @@ -49,7 +47,7 @@ public abstract class Xof_bin_wkr__fsys_base implements Xof_bin_wkr, GfoInvkAble abstract class Xof_bin_wkr__fsys_wmf_base extends Xof_bin_wkr__fsys_base { public Xof_url_bldr Url_bldr() {return url_bldr;} private Xof_url_bldr url_bldr = new Xof_url_bldr(); public abstract void Init_by_root(); - @Override public void Url_(Io_url v) {url_bldr.Root_(Bry_.new_utf8_(v.Raw()));} + @Override public void Url_(Io_url v) {url_bldr.Root_(Bry_.new_u8(v.Raw()));} @Override protected Io_url Get_src_url(byte mode, String wiki, byte[] ttl_wo_ns, byte[] md5, Xof_ext ext, int w, double time, int page) { return this.Url_bldr().Init_by_itm(mode, ttl_wo_ns, md5, ext, w, time, page).Xto_url(); } @@ -58,13 +56,13 @@ class Xof_bin_wkr__fsys_wmf extends Xof_bin_wkr__fsys_wmf_base { @Override public byte Tid() {return Xof_bin_wkr_.Tid_fsys_wmf;} @Override public String Key() {return Xof_bin_wkr_.Key_fsys_wmf;} @Override public void Init_by_root() { - this.Url_bldr().Init_by_root(Bry_.Empty, Op_sys.Cur().Fsys_dir_spr_byte(), Bool_.Y, Bool_.Y, Xof_repo_itm.Dir_depth_wmf); + this.Url_bldr().Init_by_root(Bry_.Empty, Op_sys.Cur().Fsys_dir_spr_byte(), Bool_.Y, Bool_.Y, Xof_repo_itm_.Dir_depth_wmf); } } class Xof_bin_wkr__fsys_xowa extends Xof_bin_wkr__fsys_wmf_base { @Override public byte Tid() {return Xof_bin_wkr_.Tid_fsys_xowa;} @Override public String Key() {return Xof_bin_wkr_.Key_fsys_xowa;} @Override public void Init_by_root() { - this.Url_bldr().Init_by_root(Bry_.Empty, Op_sys.Cur().Fsys_dir_spr_byte(), Bool_.N, Bool_.N, Xof_repo_itm.Dir_depth_xowa); + this.Url_bldr().Init_by_root(Bry_.Empty, Op_sys.Cur().Fsys_dir_spr_byte(), Bool_.N, Bool_.N, Xof_repo_itm_.Dir_depth_xowa); } } diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__http_wmf.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__http_wmf.java index 9a62b24a1..74d2a2f91 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__http_wmf.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr__http_wmf.java @@ -26,15 +26,15 @@ public class Xof_bin_wkr__http_wmf implements Xof_bin_wkr { public boolean Resize_allowed() {return bin_wkr_resize;} public void Resize_allowed_(boolean v) {bin_wkr_resize = v;} private boolean bin_wkr_resize = true; public int Fail_timeout() {return fail_timeout;} public Xof_bin_wkr__http_wmf Fail_timeout_(int v) {fail_timeout = v; return this;} private int fail_timeout = 0; // NOTE: always default to 0; manually set to 1000 for fsdb_make only; DATE:2014-06-21 public Io_stream_rdr Get_as_rdr(Xof_fsdb_itm fsdb, boolean is_thumb, int w) { - Download_init(fsdb.Orig_repo_name(), fsdb.Lnki_ttl(), fsdb.Lnki_md5(), fsdb.Lnki_ext(), is_thumb, w, fsdb.Lnki_time(), fsdb.Lnki_page(), Io_url_.Null); + Download_init(fsdb.Orig_repo_name(), fsdb.Orig_ttl(), fsdb.Orig_ttl_md5(), fsdb.Orig_ext(), is_thumb, w, fsdb.Lnki_time(), fsdb.Lnki_page(), Io_url_.Empty); Io_stream_rdr rdr = download_wkr.Exec_as_rdr(); - boolean rv = rdr.Len() != IoItmFil.Size_invalid; // NOTE: use IoItmFil.Size_invalid, not Io_stream_rdr_.Read_done; DATE:2014-06-21 + boolean rv = rdr.Exists(); // NOTE: use Exists which detects for response_code 200, not content length > 0; DATE:2015-05-20 if (!rv) Handle_error(); fsdb.Fsdb_insert_y_(); return rv ? rdr : Io_stream_rdr_.Null; } public boolean Get_to_fsys(Xof_fsdb_itm fsdb, boolean is_thumb, int w, Io_url bin_url) { - boolean rv = Get_to_fsys(fsdb.Orig_repo_name(), fsdb.Lnki_ttl(), fsdb.Lnki_md5(), fsdb.Lnki_ext(), is_thumb, w, fsdb.Lnki_time(), fsdb.Lnki_page(), bin_url); + boolean rv = Get_to_fsys(fsdb.Orig_repo_name(), fsdb.Orig_ttl(), fsdb.Orig_ttl_md5(), fsdb.Orig_ext(), is_thumb, w, fsdb.Lnki_time(), fsdb.Lnki_page(), bin_url); if (rv) fsdb.Fsdb_insert_y_(); return rv; } @@ -49,9 +49,8 @@ public class Xof_bin_wkr__http_wmf implements Xof_bin_wkr { Thread_adp_.Sleep(fail_timeout); // as per WMF policy, pause 1 second for every cache miss; http://lists.wikimedia.org/pipermail/wikitech-l/2013-September/071948.html } private void Download_init(byte[] orig_repo, byte[] orig_ttl, byte[] orig_md5, Xof_ext orig_ext, boolean lnki_is_thumb, int file_w, double lnki_time, int lnki_page, Io_url file_url) { - byte mode = lnki_is_thumb ? Xof_repo_itm.Mode_thumb : Xof_repo_itm.Mode_orig; + byte mode = lnki_is_thumb ? Xof_repo_itm_.Mode_thumb : Xof_repo_itm_.Mode_orig; Xof_repo_pair repo_itm = repo_mgr.Repos_get_by_wiki(orig_repo); - download_wkr.Prog_fmt_hdr_(String_.Format("downloading ~{0} of ~{1}: ~{2};", 1, 1, String_.new_utf8_(orig_ttl))); String src = url_bldr.Init_for_src_file(mode, repo_itm.Src(), orig_ttl, orig_md5, orig_ext, file_w, lnki_time, lnki_page).Xto_str(); download_wkr.Init(src, file_url); } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_itm.java b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_itm.java deleted file mode 100644 index e6c653f0b..000000000 --- a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_itm.java +++ /dev/null @@ -1,75 +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; -public class Xof_cache_itm { - public Xof_cache_itm - ( Bry_bfr lnki_key_bfr, byte db_state - , int lnki_site, byte[] lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page - , int orig_wiki, byte[] orig_ttl, int orig_ext, int file_w, int file_h, double file_time, int file_page - , long temp_file_size, int temp_view_count, long temp_view_date, int temp_w - ) { - this.db_state = db_state; - this.lnki_site = lnki_site; this.lnki_ttl = lnki_ttl; this.lnki_type = lnki_type; this.lnki_upright = lnki_upright; this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_time = lnki_time; this.lnki_page = lnki_page; - this.orig_wiki = orig_wiki; this.orig_ttl = orig_ttl; this.orig_ext = orig_ext; this.file_w = file_w; this.file_h = file_h; this.file_time = file_time; this.file_page = file_page; - this.temp_file_size = temp_file_size; this.temp_view_count = temp_view_count; this.temp_view_date = temp_view_date; this.temp_w = temp_w; - this.lnki_key = Key_gen(lnki_key_bfr, lnki_site, lnki_ttl, lnki_type, lnki_upright, lnki_w, lnki_h, lnki_time, lnki_page); - } - public byte Db_state() {return db_state;} public void Db_state_(byte v) {db_state = v;} private byte db_state; - public byte[] Lnki_key() {return lnki_key;} private final byte[] lnki_key; - public int Lnki_site() {return lnki_site;} private final int lnki_site; - public byte[] Lnki_ttl() {return lnki_ttl;} private final byte[] lnki_ttl; - public int Lnki_type() {return lnki_type;} private final int lnki_type; - public double Lnki_upright() {return lnki_upright;} private final double lnki_upright; - public int Lnki_w() {return lnki_w;} private final int lnki_w; - public int Lnki_h() {return lnki_h;} private final int lnki_h; - public double Lnki_time() {return lnki_time;} private final double lnki_time; - public int Lnki_page() {return lnki_page;} private final int lnki_page; - public int Orig_wiki() {return orig_wiki;} private final int orig_wiki; - public byte[] Orig_ttl() {return orig_ttl;} private final byte[] orig_ttl; - public int Orig_ext() {return orig_ext;} private final int orig_ext; - public int File_w() {return file_w;} private final int file_w; - public int File_h() {return file_h;} private final int file_h; - public double File_time() {return file_time;} private final double file_time; - public int File_page() {return file_page;} private final int file_page; - public long Temp_file_size() {return temp_file_size;} private long temp_file_size; - public int Temp_view_count() {return temp_view_count;} private int temp_view_count; - public long Temp_view_date() {return temp_view_date;} private long temp_view_date; - public int Temp_w() {return temp_w;} private int temp_w; - public boolean File_is_orig() {return file_is_orig;} public boolean file_is_orig; - public Io_url Temp_file_url() {return temp_file_url;} public Io_url temp_file_url; - public void Update_view_stats() { - ++temp_view_count; - temp_view_date = DateAdp_.Now().Timestamp_unix(); - db_state = Db_cmd_mode.To_update(db_state); - } - public static final Xof_cache_itm Null = null; - public static byte[] Key_gen(Bry_bfr key_bfr, int site, byte[] ttl, int type, double upright, int w, int h, double time, int page) { - key_bfr - .Add_int_variable(site).Add_byte_pipe() - .Add(ttl).Add_byte_pipe() - .Add_int_variable(type).Add_byte_pipe() - .Add_double(upright).Add_byte_pipe() - .Add_int_variable(w).Add_byte_pipe() - .Add_int_variable(h).Add_byte_pipe() - .Add_double(time).Add_byte_pipe() - .Add_int_variable(page) - ; - return key_bfr.Xto_bry_and_clear(); - } -} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr.java b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr.java index 2b4b8a127..1669930a8 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr.java @@ -19,10 +19,10 @@ package gplx.xowa.files.caches; import gplx.*; import gplx.xowa.*; import gplx.x import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.files.fsdb.*; import gplx.xowa2.files.*; import gplx.xowa.wikis.*; public class Xof_cache_mgr implements GfoInvkAble { - private final Gfo_usr_dlg usr_dlg; private final Xoa_wiki_mgr wiki_mgr; private final Xoa_repo_mgr repo_mgr; + private final Gfo_usr_dlg usr_dlg; private final Xoae_wiki_mgr wiki_mgr; private final Xoa_repo_mgr repo_mgr; private final Xofc_cfg_mgr cfg_mgr = new Xofc_cfg_mgr(); private final Xofc_dir_mgr dir_mgr; private final Xofc_fil_mgr fil_mgr; private final Bool_obj_ref fil_created = Bool_obj_ref.n_(); - public Xof_cache_mgr(Gfo_usr_dlg usr_dlg, Xoa_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr) { + public Xof_cache_mgr(Gfo_usr_dlg usr_dlg, Xoae_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr) { this.usr_dlg = usr_dlg; this.wiki_mgr = wiki_mgr; this.repo_mgr = repo_mgr; this.dir_mgr = new Xofc_dir_mgr(this); this.fil_mgr = new Xofc_fil_mgr(this); @@ -47,7 +47,7 @@ public class Xof_cache_mgr implements GfoInvkAble { fil_mgr.Cleanup(); } catch (Exception e) {usr_dlg.Warn_many("", "", "cache_mgr.term:fatal error: err=~{0}", Err_.Message_gplx_brief(e));} } - public Xofc_fil_itm Reg(Xof_fsdb_itm itm, long bin_len) {return this.Reg(itm.Orig_repo_name(), itm.Lnki_ttl(), itm.File_is_orig(), itm.File_w(), itm.File_w(), itm.Lnki_time(), itm.Lnki_ext(), bin_len, DateAdp_.MaxValue, "");} + public Xofc_fil_itm Reg(Xof_fsdb_itm itm, long bin_len) {return this.Reg(itm.Orig_repo_name(), itm.Orig_ttl(), itm.File_is_orig(), itm.File_w(), itm.File_w(), itm.Lnki_time(), itm.Orig_ext(), bin_len, DateAdp_.MaxValue, "");} private Xofc_fil_itm Reg(byte[] repo, byte[] ttl, boolean fil_is_orig, int fil_w, int fil_h, double fil_thumbtime, Xof_ext ext, long bin_len, DateAdp modified, String hash) { int dir_id = dir_mgr.Get_by_name_or_make(repo).Id(); Xofc_fil_itm fil_itm = fil_mgr.Get_or_make(dir_id, ttl, fil_is_orig, fil_w, fil_h, fil_thumbtime, ext, bin_len, fil_created.Val_n_()); @@ -60,7 +60,7 @@ public class Xof_cache_mgr implements GfoInvkAble { if (Env_.Mode_testing()) return; // NOTE: needed else test breaks in sqlite mode; DATE:2015-02-21 Xofc_fil_itm cache_fil_itm = this.Reg(itm, 0); // get item if (cache_fil_itm.Size() == 0) { // item does not exist; size will be 0, since 0 passed above - long fil_size = Io_mgr._.QueryFil(itm.Html_view_url()).Size(); + long fil_size = Io_mgr.I.QueryFil(itm.Html_view_url()).Size(); cache_fil_itm.Size_(fil_size); } } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr2.java b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr2.java deleted file mode 100644 index 4e5ea2779..000000000 --- a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr2.java +++ /dev/null @@ -1,151 +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.core.primitives.*; import gplx.dbs.*; -import gplx.xowa.files.fsdb.*; import gplx.xowa2.files.*; import gplx.xowa.wikis.*; -public class Xof_cache_mgr2 { - private Xof_cache_tbl tbl; private final Bry_bfr key_bfr = Bry_bfr.reset_(512); - private final OrderedHash hash = OrderedHash_.new_bry_(); // private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); - private Db_conn conn; private int site; - private long cache_size = -1, cache_min = Io_mgr.Len_mb * 75, cache_max = Io_mgr.Len_mb * 100; - public void Conn_(Db_conn conn, boolean created, int site) { - this.conn = conn; this.site = site; - this.tbl = new Xof_cache_tbl(conn); - if (created) tbl.Create_tbl(); - } - public Xof_cache_itm Get_or_null(Xof_fsdb_itm fsdb) {return Get_or_null(fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page());} - public Xof_cache_itm Get_or_null(byte[] ttl, int type, double upright, int w, int h, double time, int page) { - synchronized (hash) { - byte[] key = Xof_cache_itm.Key_gen(key_bfr, site, ttl, type, upright, w, h, time, page); - Xof_cache_itm rv = (Xof_cache_itm)hash.Fetch(key); - if (rv == Xof_cache_itm.Null) { - rv = tbl.Select_one(site, ttl, type, upright, w, h, time, page); - if (rv == Xof_cache_itm.Null) return Xof_cache_itm.Null; - hash.Add(key, rv); - } - return rv; - } - } - public void Update(Xof_fsdb_itm fsdb) { - synchronized (hash) { - Xof_cache_itm itm = Get_or_null(fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page()); - if (itm == Xof_cache_itm.Null) { - itm = new Xof_cache_itm(key_bfr, Db_cmd_mode.Tid_create, site, fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page() - , fsdb.Orig_repo_id(), fsdb.Orig_ttl(), fsdb.Orig_ext().Id(), fsdb.Orig_w(), fsdb.Orig_h() - , fsdb.Lnki_time(), fsdb.Lnki_page(), fsdb.Temp_file_size(), 1, DateAdp_.Now().Timestamp_unix(), fsdb.Temp_file_w()) - ; - hash.Add(itm.Lnki_key(), itm); - cache_size += itm.Temp_file_size(); - } - else - itm.Update_view_stats(); - } - } - public void Page_bgn() { - if (cache_size == -1) { - cache_size = tbl.Select_max_size(); - tbl.Select_all(key_bfr, hash); - } - } - public void Page_end() { // threaded - this.Db_save(); - if (cache_size > cache_max) this.Compress(cache_min); - } - private void Db_save() { - synchronized (hash) { - try { - conn.Txn_bgn(); - int len = hash.Count(); - for (int i = 0; i < len; ++i) { - Xof_cache_itm itm = (Xof_cache_itm)hash.FetchAt(i); - tbl.Db_save(itm); - } - conn.Txn_end(); - } - catch (Exception e) {conn.Txn_cxl(); throw Err_.err_(e);} - } - } - public long Compress(long cache_min) { - synchronized (hash) { - try { - Xoa_app_.Usr_dlg().Note_many("", "", "cache compress started"); - this.Db_save(); tbl.Select_all(key_bfr, hash); // save and load - hash.SortBy(Xof_cache_mgr_sorter.I); // sorts by cache_time desc - int len = hash.Count(); - long cache_size_actl = 0, cache_size_temp = 0; - ListAdp deleted = ListAdp_.new_(); - tbl.Conn().Txn_bgn(); - for (int i = 0; i < len; ++i) { // iterate over entire hash to figure out what to delete - Xof_cache_itm itm = (Xof_cache_itm)hash.FetchAt(i); - long itm_size = itm.Temp_file_size(); - cache_size_temp = cache_size_actl + itm_size; - if (cache_size_temp > cache_min) - deleted.Add(itm); - else - cache_size_actl = cache_size_temp; - } - len = deleted.Count(); - conn.Txn_bgn(); - for (int i = 0; i < len; i++) { // iterate over deleted and delete - Xof_cache_itm itm = (Xof_cache_itm)deleted.FetchAt(i); - hash.Del(itm.Lnki_key()); - itm.Db_state_(Db_cmd_mode.Tid_delete); - tbl.Db_save(itm); - Io_mgr._.DeleteFil(itm.Temp_file_url()); - cache_size -= itm.Temp_file_size(); - } - conn.Txn_end(); - Xoa_app_.Usr_dlg().Note_many("", "", "cache compress done"); - return cache_size_actl; - } - catch (Exception e) {Xoa_app_.Usr_dlg().Warn_many("", "", "failed to compress cache: err=~{0}", Err_.Message_gplx_brief(e)); return cache_min;} - finally {tbl.Conn().Txn_end();} - } - } -// private Io_url Calc_url(Xof_url_bldr url_bldr, Xoa_wiki_mgr wiki_mgr, Xof_cache_itm itm) { -// byte mode_id = itm.File_is_orig() ? gplx.xowa.files.repos.Xof_repo_itm.Mode_orig : gplx.xowa.files.repos.Xof_repo_itm.Mode_thumb; -// byte[] wiki_domain = Xow_domain_tid_.To_domain(itm.Lnki_site()).Domain_bry(); -// Xow_wiki wiki = wiki_mgr.Get_by_key_or_make(wiki_domain); -// gplx.xowa.files.repos.Xof_repo_itm trg_repo = wiki.File__repo_mgr().Repos_get_by_wiki(wiki_domain).Trg(); -// byte[] ttl = itm.Lnki_ttl(); -// byte[] md5 = Xof_xfer_itm_.Md5_(ttl); -// Xof_ext itm_ext = Xof_ext_.new_by_id_(itm.Orig_ext()); -// return url_bldr.Init_for_trg_file(mode_id, trg_repo, ttl, md5, itm_ext, itm.Temp_w() -// , Xof_lnki_time.Convert_to_xowa_thumbtime (itm_ext.Id(), itm.File_time()) -// , Xof_lnki_time.Convert_to_xowa_page (itm_ext.Id(), itm.File_page()) -// ).Xto_url(); -// } - public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_cache_min)) return cache_min / Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_cache_min_)) cache_min = m.ReadLong("v") * Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_cache_max)) return cache_max / Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_cache_max_)) cache_max = m.ReadLong("v") * Io_mgr.Len_mb; - else if (ctx.Match(k, Invk_cache_compress)) this.Compress(cache_min); - else return GfoInvkAble_.Rv_unhandled; - return this; - } - private static final String Invk_cache_min = "cache_min", Invk_cache_min_ = "cache_min_", Invk_cache_max = "cache_max", Invk_cache_max_ = "cache_max_", Invk_cache_compress = "cache_compress"; -} -class Xof_cache_mgr_sorter implements gplx.lists.ComparerAble { - public int compare(Object lhsObj, Object rhsObj) { - Xof_cache_itm lhs = (Xof_cache_itm)lhsObj; - Xof_cache_itm rhs = (Xof_cache_itm)rhsObj; - return -Long_.Compare(lhs.Temp_view_date(), rhs.Temp_view_date()); // - for DESC sort - } - public static final Xof_cache_mgr_sorter I = new Xof_cache_mgr_sorter(); Xof_cache_mgr_sorter() {} -} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr_tst.java b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr_tst.java index ae29b7d39..437a513fc 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_mgr_tst.java @@ -20,7 +20,7 @@ import org.junit.*; import gplx.dbs.*; public class Xof_cache_mgr_tst { // @Before public void init() {fxt.Reset();} private Xof_cache_mgr_fxt fxt = new Xof_cache_mgr_fxt(); @Test public void Basic() { -// Xof_cache_itm itm = fxt.Bldr_itm("A.png").Make(); +// Xou_cache_itm itm = fxt.Bldr_itm("A.png").Make(); // fxt.Test_get_n(itm); // fxt.Exec_update(itm); // fxt.Test_get_y(itm); @@ -59,14 +59,14 @@ public class Xof_cache_mgr_tst { // temp_view_date = -1; // } // public Xof_cache_itm_mkr Init(String dir_str, String ttl_str, boolean is_orig, int w) { -//// this.dir = Bry_.new_utf8_(dir_str); -//// this.ttl = Bry_.new_utf8_(ttl_str); +//// this.dir = Bry_.new_u8(dir_str); +//// this.ttl = Bry_.new_u8(ttl_str); //// this.is_orig = is_orig; //// this.w = w; // return this; // } -// public Xof_cache_itm Make() { -// return new Xof_cache_itm(key_bfr, db_state, lnki_site, lnki_ttl, lnki_type, lnki_upright, lnki_w, lnki_h, file_w, file_h, ); +// public Xou_cache_itm Make() { +// return new Xou_cache_itm(key_bfr, db_state, lnki_site, lnki_ttl, lnki_type, lnki_upright, lnki_w, lnki_h, file_w, file_h, ); // this.Reset(); // } // } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_tbl.java b/400_xowa/src/gplx/xowa/files/caches/Xof_cache_tbl.java deleted file mode 100644 index 1ffc1ad78..000000000 --- a/400_xowa/src/gplx/xowa/files/caches/Xof_cache_tbl.java +++ /dev/null @@ -1,183 +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; -public class Xof_cache_tbl implements RlsAble { - private String tbl_name = "user_file_cache"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_(); - private String - fld_lnki_site, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page - , fld_orig_wiki, fld_orig_ttl, fld_orig_ext, fld_file_w, fld_file_h, fld_file_time, fld_file_page - , fld_temp_file_size, fld_temp_view_count, fld_temp_view_date, fld_temp_w - ; - private final Db_conn conn; private final Db_stmt_bldr stmt_bldr = new Db_stmt_bldr(); private Db_stmt select_stmt; - private final Bry_bfr lnki_key_bfr = Bry_bfr.reset_(255); - public Db_conn Conn() {return conn;} - public Xof_cache_tbl(Db_conn conn) { - this.conn = conn; - fld_lnki_site = flds.Add_int("lnki_site"); - fld_lnki_ttl = flds.Add_str("lnki_ttl", 255); - fld_lnki_type = flds.Add_int("lnki_type"); - fld_lnki_upright = flds.Add_double("lnki_upright"); - fld_lnki_w = flds.Add_int("lnki_w"); - fld_lnki_h = flds.Add_int("lnki_h"); - fld_lnki_time = flds.Add_double("lnki_time"); - fld_lnki_page = flds.Add_int("lnki_page"); - fld_orig_wiki = flds.Add_int("orig_wiki"); - fld_orig_ttl = flds.Add_str("orig_ttl", 255); - fld_orig_ext = flds.Add_int("orig_ext"); - fld_file_w = flds.Add_int("file_w"); - fld_file_h = flds.Add_int("file_h"); - fld_file_time = flds.Add_double("file_time"); - fld_file_page = flds.Add_int("file_page"); - fld_temp_file_size = flds.Add_long("temp_file_size"); - fld_temp_view_count = flds.Add_int("temp_view_count"); - fld_temp_view_date = flds.Add_long("temp_view_date"); - fld_temp_w = flds.Add_int("temp_w"); - stmt_bldr.Conn_(conn, tbl_name, flds, fld_lnki_site, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page); - conn.Rls_reg(this); - } - public void Rls() { - select_stmt = Db_stmt_.Rls(select_stmt); - } - public void Create_tbl() { - Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds - , Db_meta_idx.new_unique_by_tbl(tbl_name, "main", fld_lnki_site, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page) - , Db_meta_idx.new_normal_by_tbl(tbl_name, "size", fld_temp_file_size) - , Db_meta_idx.new_normal_by_tbl(tbl_name, "date", fld_temp_view_date) - ); - conn.Ddl_create_tbl(meta); - } - public Xof_cache_itm Select_one(int lnki_site, byte[] lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page) { - if (select_stmt == null) select_stmt = conn.Stmt_select(tbl_name, flds, String_.Ary(fld_lnki_site, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page)); - Db_rdr rdr = select_stmt.Clear() - .Crt_int (fld_lnki_site , lnki_site) - .Crt_bry_as_str (fld_lnki_ttl , lnki_ttl) - .Crt_int (fld_lnki_type , lnki_type) - .Crt_double (fld_lnki_upright , lnki_upright) - .Crt_int (fld_lnki_w , lnki_w) - .Crt_int (fld_lnki_h , lnki_h) - .Crt_double (fld_lnki_time , lnki_time) - .Crt_int (fld_lnki_page , lnki_page) - .Exec_select__rls_manual(); - try {return rdr.Move_next() ? new_itm(rdr) : Xof_cache_itm.Null;} - finally {rdr.Rls();} - } - public void Select_all(Bry_bfr fil_key_bldr, OrderedHash hash) { - hash.Clear(); - Db_rdr rdr = conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Exec_select__rls_auto(); - try { - while (rdr.Move_next()) { - Xof_cache_itm itm = new_itm(rdr); - byte[] key = Bry_.Empty; - hash.Add(key, itm); - } - } - finally {rdr.Rls();} - } - public long Select_max_size() { - Db_rdr rdr = conn.Stmt_new(gplx.dbs.qrys.Db_qry_sql.rdr_(String_.Format("SELECT Max({0}) FROM {1}", fld_temp_file_size, tbl_name))).Exec_select__rls_auto(); - try { - return rdr.Move_next() ? rdr.Read_long(fld_temp_file_size) : 0; - } - finally {rdr.Rls();} - } - public void Db_save(Xof_cache_itm itm) { - try { - Db_stmt stmt = stmt_bldr.Get(itm.Db_state()); - switch (itm.Db_state()) { - case Db_cmd_mode.Tid_create: stmt.Clear(); Db_save_crt(stmt, itm, Bool_.Y); Db_save_val(stmt, itm); stmt.Exec_insert(); break; - case Db_cmd_mode.Tid_update: stmt.Clear(); Db_save_val(stmt, itm); Db_save_crt(stmt, itm, Bool_.N); stmt.Exec_update(); break; - case Db_cmd_mode.Tid_delete: stmt.Clear(); Db_save_crt(stmt, itm, Bool_.N); stmt.Exec_delete(); break; - case Db_cmd_mode.Tid_ignore: break; - default: throw Err_.unhandled(itm.Db_state()); - } - itm.Db_state_(Db_cmd_mode.Tid_ignore); - } catch (Exception e) {stmt_bldr.Rls(); throw Err_.err_(e, Err_.Message_gplx(e));} - } - private void Db_save_crt(Db_stmt stmt, Xof_cache_itm itm, boolean insert) { - if (insert) { - stmt.Val_int (itm.Lnki_site()) - .Val_bry_as_str (itm.Lnki_ttl()) - .Val_int (itm.Lnki_type()) - .Val_double (itm.Lnki_upright()) - .Val_int (itm.Lnki_w()) - .Val_int (itm.Lnki_h()) - .Val_double (itm.Lnki_time()) - .Val_int (itm.Lnki_page()) - ; - } - else { - stmt.Crt_int (fld_lnki_site, itm.Lnki_site()) - .Crt_bry_as_str (fld_lnki_ttl, itm.Lnki_ttl()) - .Crt_int (fld_lnki_type, itm.Lnki_type()) - .Crt_double (fld_lnki_upright, itm.Lnki_upright()) - .Crt_int (fld_lnki_w, itm.Lnki_w()) - .Crt_int (fld_lnki_h, itm.Lnki_h()) - .Crt_double (fld_lnki_time, itm.Lnki_time()) - .Crt_int (fld_lnki_page, itm.Lnki_page()) - ; - } - } - private void Db_save_val(Db_stmt stmt, Xof_cache_itm itm) { - stmt.Val_int (itm.Lnki_site()) - .Val_bry_as_str (itm.Lnki_ttl()) - .Val_int (itm.Lnki_type()) - .Val_double (itm.Lnki_upright()) - .Val_int (itm.Lnki_w()) - .Val_int (itm.Lnki_h()) - .Val_double (itm.Lnki_time()) - .Val_int (itm.Lnki_page()) - .Val_int (itm.Orig_wiki()) - .Val_bry_as_str (itm.Orig_ttl()) - .Val_int (itm.Orig_ext()) - .Val_int (itm.File_w()) - .Val_int (itm.File_h()) - .Val_double (itm.File_time()) - .Val_int (itm.File_page()) - .Val_long (itm.Temp_file_size()) - .Val_int (itm.Temp_view_count()) - .Val_long (itm.Temp_view_date()) - .Val_int (itm.Temp_w()) - ; - } - private Xof_cache_itm new_itm(Db_rdr rdr) { - return new Xof_cache_itm - ( lnki_key_bfr - , Db_cmd_mode.Tid_ignore - , rdr.Read_int (fld_lnki_site) - , rdr.Read_bry_by_str (fld_lnki_ttl) - , rdr.Read_int (fld_lnki_type) - , rdr.Read_double (fld_lnki_upright) - , rdr.Read_int (fld_lnki_w) - , rdr.Read_int (fld_lnki_h) - , Xof_lnki_time.Db_load_double (rdr, fld_lnki_time) - , Xof_lnki_page.Db_load_int (rdr, fld_lnki_page) - , rdr.Read_int (fld_orig_wiki) - , rdr.Read_bry_by_str (fld_orig_ttl) - , rdr.Read_int (fld_orig_ext) - , rdr.Read_int (fld_file_w) - , rdr.Read_int (fld_file_h) - , Xof_lnki_time.Db_load_double (rdr, fld_file_time) - , Xof_lnki_page.Db_load_int (rdr, fld_file_page) - , rdr.Read_long (fld_temp_file_size) - , rdr.Read_int (fld_temp_view_count) - , rdr.Read_long (fld_temp_view_date) - , rdr.Read_int (fld_temp_w) - ); - } -} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_mgr.java b/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_mgr.java index 160965ba6..ff8cef3d8 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_mgr.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_mgr.java @@ -19,11 +19,11 @@ package gplx.xowa.files.caches; import gplx.*; import gplx.xowa.*; import gplx.x import gplx.dbs.*; class Xofc_dir_mgr { private final Xofc_dir_tbl tbl = new Xofc_dir_tbl(); - private final OrderedHash hash_by_names = OrderedHash_.new_bry_(); private final HashAdp hash_by_ids = HashAdp_.new_(); + private final Ordered_hash hash_by_names = Ordered_hash_.new_bry_(); private final Hash_adp hash_by_ids = Hash_adp_.new_(); private Xof_cache_mgr cache_mgr; public Xofc_dir_mgr(Xof_cache_mgr v) {this.cache_mgr = v;} public void Conn_(Db_conn v, boolean created, boolean schema_is_1) {tbl.Conn_(v, created, schema_is_1);} - public Xofc_dir_itm Get_by_id(int id) {return (Xofc_dir_itm)hash_by_ids.Fetch(id);} + public Xofc_dir_itm Get_by_id(int id) {return (Xofc_dir_itm)hash_by_ids.Get_by(id);} public Xofc_dir_itm Get_by_name_or_make(byte[] name) { Xofc_dir_itm itm = Get_by_name_or_null(name); if (itm == null) { // not in memory / db @@ -34,7 +34,7 @@ class Xofc_dir_mgr { return itm; } public Xofc_dir_itm Get_by_name_or_null(byte[] name) { - Xofc_dir_itm itm = (Xofc_dir_itm)hash_by_names.Fetch(name); + Xofc_dir_itm itm = (Xofc_dir_itm)hash_by_names.Get_by(name); if (itm == null) { // not in memory itm = tbl.Select_one(name); // check db if (itm == Xofc_dir_itm.Null) return null; // in db @@ -50,7 +50,7 @@ class Xofc_dir_mgr { int len = hash_by_names.Count(); boolean err_seen = false; for (int i = 0; i < len; i++) { - Xofc_dir_itm itm = (Xofc_dir_itm)hash_by_names.FetchAt(i); + Xofc_dir_itm itm = (Xofc_dir_itm)hash_by_names.Get_at(i); if (err_seen) itm.Id_(cache_mgr.Next_id()); if (itm.Cmd_mode() == Db_cmd_mode.Tid_create) { // create; check if in db; @@ -66,13 +66,13 @@ class Xofc_dir_mgr { } } public void Load_all() { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); tbl.Select_all(list); int len = list.Count(); hash_by_ids.Clear(); hash_by_names.Clear(); for (int i = 0; i < len; ++i) { - Xofc_dir_itm itm = (Xofc_dir_itm)list.FetchAt(i); + Xofc_dir_itm itm = (Xofc_dir_itm)list.Get_at(i); hash_by_names.Add(itm.Name(), itm); hash_by_ids.Add(itm.Id(), itm); } @@ -81,12 +81,12 @@ class Xofc_dir_mgr { private void Db_recalc_next_id(Xofc_dir_itm itm, String err) { if (String_.Has(err, "PRIMARY KEY must be unique")) { // primary key exception in strange situations (multiple xowas at same time) int next_id = tbl.Select_max_uid() + 1; - Gfo_usr_dlg_.I.Warn_many("", "", "uid out of sync; incrementing; uid=~{0} name=~{1} err=~{2}", itm.Id(), String_.new_utf8_(itm.Name()), err); + Gfo_usr_dlg_.I.Warn_many("", "", "uid out of sync; incrementing; uid=~{0} name=~{1} err=~{2}", itm.Id(), String_.new_u8(itm.Name()), err); itm.Id_(next_id); cache_mgr.Next_id_(next_id + 1); err = tbl.Db_save(itm); if (err == null) return; } - Gfo_usr_dlg_.I.Warn_many("", "", "failed to save uid; uid=~{0} name=~{1} err=~{2}", itm.Id(), String_.new_utf8_(itm.Name()), err); + Gfo_usr_dlg_.I.Warn_many("", "", "failed to save uid; uid=~{0} name=~{1} err=~{2}", itm.Id(), String_.new_u8(itm.Name()), err); } } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_tbl.java b/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_tbl.java index e4ca8987a..ee292451e 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_tbl.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xofc_dir_tbl.java @@ -71,7 +71,7 @@ class Xofc_dir_tbl implements RlsAble { } finally {rdr.Rls();} } - public void Select_all(ListAdp list) { + public void Select_all(List_adp list) { list.Clear(); Db_rdr rdr = conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Exec_select__rls_auto(); try { diff --git a/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_mgr.java b/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_mgr.java index e34bef3cb..fa5ae6725 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_mgr.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_mgr.java @@ -20,14 +20,14 @@ import gplx.core.primitives.*; import gplx.dbs.*; import gplx.fsdb.*; import gplx.xowa.wikis.*; import gplx.xowa.files.repos.*; class Xofc_fil_mgr { private Xof_cache_mgr cache_mgr; - private final Xofc_fil_tbl tbl = new Xofc_fil_tbl(); private final OrderedHash hash = OrderedHash_.new_bry_(); private final Bry_bfr key_bldr = Bry_bfr.reset_(255); + private final Xofc_fil_tbl tbl = new Xofc_fil_tbl(); private final Ordered_hash hash = Ordered_hash_.new_bry_(); private final Bry_bfr key_bldr = Bry_bfr.reset_(255); public Xofc_fil_mgr(Xof_cache_mgr v) {this.cache_mgr = v;} public void Conn_(Db_conn v, boolean created, boolean schema_is_1) {tbl.Conn_(v, created, schema_is_1);} public void Save_all() { int len = hash.Count(); boolean err_seen = false; for (int i = 0; i < len; i++) { - Xofc_fil_itm itm = (Xofc_fil_itm)hash.FetchAt(i); + Xofc_fil_itm itm = (Xofc_fil_itm)hash.Get_at(i); if (err_seen) itm.Uid_(cache_mgr.Next_id()); if (itm.Cmd_mode() == Db_cmd_mode.Tid_create) { // create; check if in db; @@ -44,7 +44,7 @@ class Xofc_fil_mgr { } public Xofc_fil_itm Get_or_make(int dir_id, byte[] name, boolean is_orig, int w, int h, double time, Xof_ext ext, long size, Bool_obj_ref created) { byte[] key = Xofc_fil_itm.Gen_hash_key_v1(key_bldr, dir_id, name, is_orig, w, h, time); - Xofc_fil_itm itm = (Xofc_fil_itm)hash.Fetch(key); + Xofc_fil_itm itm = (Xofc_fil_itm)hash.Get_by(key); if (itm == Xofc_fil_itm.Null) { // not in memory itm = tbl.Select_one_v1(dir_id, name, is_orig, w, h, time); if (itm == Xofc_fil_itm.Null) { // not in db @@ -58,7 +58,7 @@ class Xofc_fil_mgr { } public Xofc_fil_itm Get_or_null(int dir_id, byte[] name, boolean is_orig, int w, double time, int page) { byte[] key = Xofc_fil_itm.Gen_hash_key_v2(key_bldr, dir_id, name, is_orig, w, time, page); - Xofc_fil_itm itm = (Xofc_fil_itm)hash.Fetch(key); + Xofc_fil_itm itm = (Xofc_fil_itm)hash.Get_by(key); if (itm == null) { // not in memory itm = tbl.Select_one_v2(dir_id, name, is_orig, w, time, page); if (itm == Xofc_fil_itm.Null) return itm; // not in db @@ -75,7 +75,7 @@ class Xofc_fil_mgr { hash.Add(key, rv); return rv; } - public void Compress(Gfo_usr_dlg usr_dlg, Xoa_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr, Xofc_dir_mgr dir_mgr, Xofc_cfg_mgr cfg_mgr) { + public void Compress(Gfo_usr_dlg usr_dlg, Xoae_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr, Xofc_dir_mgr dir_mgr, Xofc_cfg_mgr cfg_mgr) { try { usr_dlg.Note_many("", "", "compressing cache"); dir_mgr.Save_all(); dir_mgr.Load_all(); // save and load all dirs @@ -84,11 +84,11 @@ class Xofc_fil_mgr { int len = hash.Count(); long cur_size = 0, actl_size = 0; Xof_url_bldr url_bldr = new Xof_url_bldr(); - ListAdp deleted = ListAdp_.new_(); + List_adp deleted = List_adp_.new_(); tbl.Conn().Txn_bgn(); long compress_to = cfg_mgr.Cache_min(); for (int i = 0; i < len; ++i) { - Xofc_fil_itm itm = (Xofc_fil_itm)hash.FetchAt(i); + Xofc_fil_itm itm = (Xofc_fil_itm)hash.Get_at(i); long itm_size = itm.Size(); long new_size = cur_size + itm_size; if (new_size > compress_to) { @@ -105,7 +105,7 @@ class Xofc_fil_mgr { } len = deleted.Count(); for (int i = 0; i < len; i++) { - Xofc_fil_itm itm = (Xofc_fil_itm)deleted.FetchAt(i); + Xofc_fil_itm itm = (Xofc_fil_itm)deleted.Get_at(i); byte[] fil_key = itm.Gen_hash_key_v1(key_bldr); hash.Del(fil_key); } @@ -117,33 +117,33 @@ class Xofc_fil_mgr { } finally {tbl.Conn().Txn_end();} } - private void Fsys_delete(Xof_url_bldr url_bldr, Xoa_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr, Xofc_dir_mgr dir_mgr, Xofc_fil_itm itm) { - byte mode_id = itm.Is_orig() ? Xof_repo_itm.Mode_orig : Xof_repo_itm.Mode_thumb; + private void Fsys_delete(Xof_url_bldr url_bldr, Xoae_wiki_mgr wiki_mgr, Xoa_repo_mgr repo_mgr, Xofc_dir_mgr dir_mgr, Xofc_fil_itm itm) { + byte mode_id = itm.Is_orig() ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb; byte[] wiki_domain = dir_mgr.Get_by_id(itm.Dir_id()).Name(); Xowe_wiki wiki = wiki_mgr.Get_by_key_or_make(wiki_domain); wiki.Init_assert(); Xof_repo_itm trg_repo = repo_mgr.Get_by_primary(wiki_domain); byte[] ttl = itm.Name(); - byte[] md5 = Xof_xfer_itm_.Md5_(ttl); + byte[] md5 = Xof_file_wkr_.Md5_(ttl); int itm_ext_id = itm.Ext().Id(); Io_url fil_url = url_bldr.Init_for_trg_file(mode_id, trg_repo, ttl, md5, itm.Ext(), itm.W() , Xof_lnki_time.Convert_to_xowa_thumbtime (itm_ext_id, itm.Time()) , Xof_lnki_time.Convert_to_xowa_page (itm_ext_id, itm.Time()) ).Xto_url(); - Io_mgr._.DeleteFil_args(fil_url).MissingFails_off().Exec(); + Io_mgr.I.DeleteFil_args(fil_url).MissingFails_off().Exec(); itm.Cmd_mode_delete_(); } public void Cleanup() {tbl.Rls();} private void Db_recalc_next_id(Xofc_fil_itm fil_itm, String err_msg) { if (String_.Has(err_msg, "PRIMARY KEY must be unique")) { // primary key exception in strange situations (multiple xowas at same time) int next_id = tbl.Select_max_uid() + 1; - Gfo_usr_dlg_.I.Warn_many("", "", "uid out of sync; incrementing; uid=~{0} name=~{1} err=~{2}", fil_itm.Uid(), String_.new_utf8_(fil_itm.Name()), err_msg); + Gfo_usr_dlg_.I.Warn_many("", "", "uid out of sync; incrementing; uid=~{0} name=~{1} err=~{2}", fil_itm.Uid(), String_.new_u8(fil_itm.Name()), err_msg); fil_itm.Uid_(next_id); cache_mgr.Next_id_(next_id + 1); err_msg = tbl.Db_save(fil_itm); if (err_msg == null) return; } - Gfo_usr_dlg_.I.Warn_many("", "", "failed to save uid; uid=~{0} name=~{1} err=~{2}", fil_itm.Uid(), String_.new_utf8_(fil_itm.Name()), err_msg); + Gfo_usr_dlg_.I.Warn_many("", "", "failed to save uid; uid=~{0} name=~{1} err=~{2}", fil_itm.Uid(), String_.new_u8(fil_itm.Name()), err_msg); } } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_tbl.java b/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_tbl.java index 425e8978d..2da8d04e8 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_tbl.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xofc_fil_tbl.java @@ -120,7 +120,7 @@ class Xofc_fil_tbl implements RlsAble { } finally {rdr.Rls();} } - public void Select_all(Bry_bfr fil_key_bldr, OrderedHash hash) { + public void Select_all(Bry_bfr fil_key_bldr, Ordered_hash hash) { hash.Clear(); Db_rdr rdr = conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Exec_select__rls_auto(); try { @@ -128,7 +128,7 @@ class Xofc_fil_tbl implements RlsAble { Xofc_fil_itm fil_itm = new_itm(rdr); byte[] key = fil_itm.Gen_hash_key_v1(fil_key_bldr); if (hash.Has(key)) // NOTE: need to check for uniqueness else dupe file will cause select to fail; shouldn't happen, but somehow did; DATE:2013-12-28 - Gfo_usr_dlg_.I.Warn_many("", "", "cache had duplicate itm: key=~{0}", String_.new_utf8_(key)); + Gfo_usr_dlg_.I.Warn_many("", "", "cache had duplicate itm: key=~{0}", String_.new_u8(key)); else hash.Add(key, fil_itm); } diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_itm.java b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_itm.java new file mode 100644 index 000000000..364186e58 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_itm.java @@ -0,0 +1,89 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.dbs.*; +public class Xou_cache_itm { + public Xou_cache_itm + ( Bry_bfr lnki_key_bfr, byte db_state + , byte[] lnki_wiki_abrv, byte[] lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int user_thumb_w + , int orig_repo_id, byte[] orig_ttl, int orig_ext_id, int orig_w, int orig_h + , int html_w, int html_h, double html_time, int html_page + , boolean file_is_orig, int file_w, double file_time, int file_page, long file_size + , int view_count, long view_date + ) { + this.db_state = db_state; + this.lnki_wiki_abrv = lnki_wiki_abrv; this.lnki_ttl = lnki_ttl; this.lnki_type = lnki_type; this.lnki_upright = lnki_upright; this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_time = lnki_time; this.lnki_page = lnki_page; this.user_thumb_w = user_thumb_w; + this.orig_repo_id = orig_repo_id; this.orig_ttl = orig_ttl; this.orig_ext_id = orig_ext_id; this.orig_w = orig_w; this.orig_h = orig_h; + this.file_is_orig = file_is_orig; this.html_w = html_w; this.html_h = html_h; this.html_time = html_time; this.html_page = html_page; + this.file_w = file_w; this.file_time = file_time; this.file_page = file_page; this.file_size = file_size; + this.view_count = view_count; this.view_date = view_date; + this.lnki_key = Key_gen(lnki_key_bfr, lnki_wiki_abrv, lnki_ttl, lnki_type, lnki_upright, lnki_w, lnki_h, lnki_time, lnki_page, user_thumb_w); + } + public byte Db_state() {return db_state;} public void Db_state_(byte v) {db_state = v;} private byte db_state; + public byte[] Lnki_wiki_abrv() {return lnki_wiki_abrv;} private final byte[] lnki_wiki_abrv; // differentiate commonwiki rows inserted by one wiki vs another + public byte[] Lnki_key() {return lnki_key;} private final byte[] lnki_key; // unique key by lnki props + public byte[] Lnki_ttl() {return lnki_ttl;} private final byte[] lnki_ttl; + public int Lnki_type() {return lnki_type;} private final int lnki_type; + public double Lnki_upright() {return lnki_upright;} private final double lnki_upright; + public int Lnki_w() {return lnki_w;} private final int lnki_w; + public int Lnki_h() {return lnki_h;} private final int lnki_h; + public double Lnki_time() {return lnki_time;} private final double lnki_time; + public int Lnki_page() {return lnki_page;} private final int lnki_page; + public int User_thumb_w() {return user_thumb_w;} private final int user_thumb_w; + public int Orig_repo_id() {return orig_repo_id;} private final int orig_repo_id; + public byte[] Orig_ttl() {return orig_ttl;} private final byte[] orig_ttl; + public byte[] Orig_ttl_md5() {if (orig_ttl_md5 == null) orig_ttl_md5 = Xof_file_wkr_.Md5_fast(orig_ttl); return orig_ttl_md5;} private byte[] orig_ttl_md5; + public int Orig_ext_id() {return orig_ext_id;} private final int orig_ext_id; + public Xof_ext Orig_ext_itm() {if (orig_ext_itm == null) orig_ext_itm = Xof_ext_.new_by_id_(orig_ext_id); return orig_ext_itm;} private Xof_ext orig_ext_itm; + public int Orig_w() {return orig_w;} private final int orig_w; + public int Orig_h() {return orig_h;} private final int orig_h; + public int Html_w() {return html_w;} private final int html_w; + public int Html_h() {return html_h;} private final int html_h; + public double Html_time() {return html_time;} private final double html_time; + public int Html_page() {return html_page;} private final int html_page; + public boolean File_is_orig() {return file_is_orig;} private final boolean file_is_orig; + public int File_w() {return file_w;} private int file_w; + public double File_time() {return file_time;} private final double file_time; + public int File_page() {return file_page;} private final int file_page; + public long File_size() {return file_size;} private final long file_size; + public Io_url File_url() {return file_url;} public void File_url_(Io_url v) {file_url = v;} private Io_url file_url; + public int View_count() {return view_count;} private int view_count; + public long View_date() {return view_date;} private long view_date; + public void Update_view_stats() { + ++view_count; + view_date = DateAdp_.Now().Timestamp_unix(); + db_state = Db_cmd_mode.To_update(db_state); + } + public static final Xou_cache_itm Null = null; + public static byte[] Key_gen(Bry_bfr key_bfr, byte[] lnki_wiki_abrv, byte[] ttl, int type, double upright, int w, int h, double time, int page, int user_thumb_w) { + key_bfr.Add(lnki_wiki_abrv).Add_byte_pipe() + .Add(ttl).Add_byte_pipe().Add_int_variable(type).Add_byte_pipe().Add_double(upright).Add_byte_pipe() + .Add_int_variable(w).Add_byte_pipe().Add_int_variable(h).Add_byte_pipe().Add_double(time).Add_byte_pipe().Add_int_variable(page) + .Add_int_variable(user_thumb_w) + ; + return key_bfr.Xto_bry_and_clear(); + } +} +class Xof_cache_mgr_sorter implements gplx.lists.ComparerAble { + public int compare(Object lhsObj, Object rhsObj) { + Xou_cache_itm lhs = (Xou_cache_itm)lhsObj; + Xou_cache_itm rhs = (Xou_cache_itm)rhsObj; + return -Long_.Compare(lhs.View_date(), rhs.View_date()); // - for DESC sort + } + public static final Xof_cache_mgr_sorter I = new Xof_cache_mgr_sorter(); Xof_cache_mgr_sorter() {} +} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr.java b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr.java new file mode 100644 index 000000000..9b21a187b --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr.java @@ -0,0 +1,215 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.dbs.cfgs.*; +import gplx.xowa.files.fsdb.*; import gplx.xowa2.files.*; import gplx.xowa.files.repos.*; +import gplx.xowa.wikis.*; import gplx.xowa.wikis.domains.*; import gplx.xowa.users.data.*; +public class Xou_cache_mgr { + private final Xoa_wiki_mgr wiki_mgr; private final Xou_cache_tbl cache_tbl; private final Db_cfg_tbl cfg_tbl; private final Bry_bfr key_bfr = Bry_bfr.reset_(512); + private final Ordered_hash hash = Ordered_hash_.new_bry_(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); private final Object thread_lock = new Object(); + private final Io_url cache_dir; private boolean db_load_needed = true; + public Xou_cache_mgr(Xoa_wiki_mgr wiki_mgr, Io_url cache_dir, Xou_db_file db_file) { + this.wiki_mgr = wiki_mgr; this.cache_dir = cache_dir; + this.cfg_tbl = db_file.Tbl__cfg(); + this.cache_tbl = db_file.Tbl__cache(); + } + public int Fsys_count_cur() {return hash.Count();} + public long Fsys_size_cur() {return fsys_size_cur;} private long fsys_size_cur = 0; + public long Fsys_size_min() {return fsys_size_min;} public void Fsys_size_min_(long v) {fsys_size_min = v;} private long fsys_size_min = Io_mgr.Len_mb * 75; + public long Fsys_size_max() {return fsys_size_max;} public void Fsys_size_max_(long v) {fsys_size_max = v;} private long fsys_size_max = Io_mgr.Len_mb * 100; + public KeyVal[] Info() { + long view_date = Long_.MaxValue; + long fsys_size = 0; + int len = hash.Count(); + for (int i = 0; i < len; ++i) { + Xou_cache_itm itm = (Xou_cache_itm)hash.Get_at(i); + fsys_size += itm.File_size(); + if (itm.View_date() < view_date) view_date = itm.View_date(); + } + return KeyVal_.Ary + ( KeyVal_.new_("cache folder", cache_dir.Xto_api()) + , KeyVal_.new_("space used", gplx.ios.Io_size_.To_str(fsys_size)) + , KeyVal_.new_("file count", len) + , KeyVal_.new_("oldest file", view_date == Long_.MaxValue ? "" : DateAdp_.unixtime_utc_seconds_(view_date).XtoStr_fmt_iso_8561()) + ); + } + public Xou_cache_itm Get_or_null(Xof_fsdb_itm fsdb) {return Get_or_null(fsdb.Lnki_wiki_abrv(), fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page(), fsdb.User_thumb_w());} + public Xou_cache_itm Get_or_null(byte[] wiki, byte[] ttl, int type, double upright, int w, int h, double time, int page, int user_thumb_w) { + synchronized (thread_lock) { + this.Page_bgn(); + byte[] key = Xou_cache_itm.Key_gen(key_bfr, wiki, ttl, type, upright, w, h, time, page, user_thumb_w); + Xou_cache_itm rv = (Xou_cache_itm)hash.Get_by(key); + if (rv == Xou_cache_itm.Null) { + rv = cache_tbl.Select_one(wiki, ttl, type, upright, w, h, time, page, user_thumb_w); + if (rv == Xou_cache_itm.Null) return Xou_cache_itm.Null; + hash.Add(key, rv); + } + return rv; + } + } + public void Update(Xof_fsdb_itm fsdb) { + synchronized (thread_lock) { + Xou_cache_itm itm = Get_or_null(fsdb.Lnki_wiki_abrv(), fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page(), fsdb.User_thumb_w()); + if (itm == Xou_cache_itm.Null) { + itm = new Xou_cache_itm(key_bfr, Db_cmd_mode.Tid_create, fsdb.Lnki_wiki_abrv(), fsdb.Lnki_ttl(), fsdb.Lnki_type(), fsdb.Lnki_upright(), fsdb.Lnki_w(), fsdb.Lnki_h(), fsdb.Lnki_time(), fsdb.Lnki_page(), fsdb.User_thumb_w() + , fsdb.Orig_repo_id(), fsdb.Orig_ttl(), fsdb.Orig_ext().Id(), fsdb.Orig_w(), fsdb.Orig_h() + , fsdb.Html_w(), fsdb.Html_h(), fsdb.Lnki_time(), fsdb.Lnki_page() + , fsdb.File_is_orig(), fsdb.File_w(), fsdb.Lnki_time(), fsdb.Lnki_page(), fsdb.File_size() + , 1, DateAdp_.Now().Timestamp_unix()) + ; + hash.Add(itm.Lnki_key(), itm); + fsys_size_cur += itm.File_size(); + } + else + itm.Update_view_stats(); + } + } + public void Page_bgn() { + if (db_load_needed) { + db_load_needed = false; + fsys_size_cur = cfg_tbl.Assert_long("user.file_cache", "size_sum", 0); + cache_tbl.Select_all(key_bfr, hash); + } + } + public void Page_end(Xoa_wiki_mgr wiki_mgr) { // threaded + cfg_tbl.Update_long("user.file_cache", "size_sum", fsys_size_cur); + this.Db_save(); + if (fsys_size_cur > fsys_size_max) this.Reduce(fsys_size_min); + } + @gplx.Internal protected void Clear() { + db_load_needed = true; + fsys_size_cur = 0; + hash.Clear(); + } + public void Db_save() { + synchronized (thread_lock) { + Db_conn conn = cache_tbl.Conn(); + try { + conn.Txn_bgn(); + int len = hash.Count(); + for (int i = 0; i < len; ++i) { + Xou_cache_itm itm = (Xou_cache_itm)hash.Get_at(i); + cache_tbl.Db_save(itm); + } + conn.Txn_end(); + } + catch (Exception e) {conn.Txn_cxl(); throw Err_.err_(e);} + } + } + public void Reduce(long reduce_to) { + Xoa_app_.Usr_dlg().Note_many("", "", "cache compress started"); + synchronized (thread_lock) { + try { + this.Db_save(); cache_tbl.Select_all(key_bfr, hash); // save and load + Ordered_hash grp_hash = Ordered_hash_.new_(); // aggregate by file path; needed when same commons file used by two wikis + int len = hash.Count(); + for (int i = 0; i < len; ++i) { + Xou_cache_itm itm = (Xou_cache_itm)hash.Get_at(i); + Io_url itm_url = Calc_url(itm); + itm.File_url_(itm_url); + Xou_cache_grp grp = (Xou_cache_grp)grp_hash.Get_by(itm_url.Raw()); + if (grp == null) { + grp = new Xou_cache_grp(itm_url); + grp_hash.Add(itm_url.Raw(), grp); + } + grp.Add(itm); + } + grp_hash.Sort_by(Xou_cache_grp_sorter.I); // sorts by cache_time desc + len = grp_hash.Count(); + long fsys_size_calc = 0, fsys_size_temp = 0; + List_adp deleted = List_adp_.new_(); + for (int i = 0; i < len; ++i) { // iterate and find items to delete + Xou_cache_grp grp = (Xou_cache_grp)grp_hash.Get_at(i); + fsys_size_temp = fsys_size_calc + grp.File_size(); + if (fsys_size_temp > reduce_to) // fsys_size_cur exceeded; mark itm for deletion + deleted.Add(grp); + else + fsys_size_calc = fsys_size_temp; + } + len = deleted.Count(); + Db_conn conn = cache_tbl.Conn(); + conn.Txn_bgn(); + for (int i = 0; i < len; i++) { // iterate and delete + Xou_cache_grp grp = (Xou_cache_grp)deleted.Get_at(i); + grp.Delete(hash, cache_tbl); + fsys_size_cur -= grp.File_size(); + } + conn.Txn_end(); + Io_mgr.I.Delete_dir_empty(cache_dir); + } + catch (Exception e) {Xoa_app_.Usr_dlg().Warn_many("", "", "failed to compress cache: err=~{0}", Err_.Message_gplx_brief(e)); return;} + } + Xoa_app_.Usr_dlg().Note_many("", "", "cache compress done"); + } + private Io_url Calc_url(Xou_cache_itm cache) { + byte[] wiki_domain = Xow_domain_abrv_xo_.To_itm(cache.Lnki_wiki_abrv()).Domain_bry(); + Xow_wiki wiki = wiki_mgr.Get_by_key_or_make_2(wiki_domain); if (wiki == null) return Io_url_.Empty; // wiki is not available; should only happen in read-only mode; DATE:2015-05-23 + Xof_repo_itm trg_repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(cache.Orig_repo_id(), cache.Lnki_ttl(), Bry_.Empty); + if (trg_repo == null) return Io_url_.Empty; + byte[] orig_ttl = cache.Orig_ttl(); + byte[] orig_md5 = cache.Orig_ttl_md5(); + Xof_ext orig_ext = cache.Orig_ext_itm(); + orig_ttl = trg_repo.Gen_name_trg(orig_ttl, orig_md5, orig_ext); + byte mode_id = cache.File_is_orig() ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb; + return url_bldr.Init_for_trg_file(mode_id, trg_repo, orig_ttl, orig_md5, orig_ext, cache.File_w() + , Xof_lnki_time.Convert_to_xowa_thumbtime (orig_ext.Id(), cache.File_time()) + , Xof_lnki_time.Convert_to_xowa_page (orig_ext.Id(), cache.File_page()) + ).Xto_url(); + } +} +class Xou_cache_grp { + private final List_adp list = List_adp_.new_(); + public Xou_cache_grp(Io_url file_url) {this.file_url = file_url;} + public long View_date() {return view_date;} private long view_date; + public long File_size() {return file_size;} private long file_size; + public Io_url File_url() {return file_url;} private final Io_url file_url; + public int Len() {return list.Count();} + public void Add(Xou_cache_itm itm) { + if (itm.View_date() > view_date) view_date = itm.View_date(); + file_size += itm.File_size(); + list.Add(itm); + } + public void Delete(Ordered_hash cache_hash, Xou_cache_tbl cache_tbl) { + int len = list.Count(); + boolean deleted = false; + for (int i = 0; i < len; ++i) { + Xou_cache_itm itm = (Xou_cache_itm)list.Get_at(i); + cache_hash.Del(itm.Lnki_key()); + itm.Db_state_(Db_cmd_mode.Tid_delete); + cache_tbl.Db_save(itm); + gplx.ios.IoItmFil fil = Io_mgr.I.QueryFil(itm.File_url()); + if (fil.Exists()) { + Io_mgr.I.DeleteFil(itm.File_url()); + deleted = true; + } + else { + if (!deleted) // multiple itms in cache resolve to same path; 1st gets deleted, but 2nd won't; ignore warning; PAGE:s.w:File:William_Shakespeare_Chandos_Portrait.jpg; DATE:2015-05-23 + Xoa_app_.Usr_dlg().Warn_many("", "", "cache:file not found; file=~{0}", itm.File_url().Raw()); + } + } + } + public Xou_cache_itm Get_at(int i) {return (Xou_cache_itm)list.Get_at(i);} +} +class Xou_cache_grp_sorter implements gplx.lists.ComparerAble { + public int compare(Object lhsObj, Object rhsObj) { + Xou_cache_grp lhs = (Xou_cache_grp)lhsObj; + Xou_cache_grp rhs = (Xou_cache_grp)rhsObj; + return -Long_.Compare(lhs.View_date(), rhs.View_date()); // - for DESC sort + } + public static final Xou_cache_grp_sorter I = new Xou_cache_grp_sorter(); Xou_cache_grp_sorter() {} +} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr_tst.java b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr_tst.java new file mode 100644 index 000000000..d6fee7d46 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr_tst.java @@ -0,0 +1,113 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import org.junit.*; import gplx.dbs.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.repos.*; +public class Xou_cache_mgr_tst { + @Before public void init() {fxt.Clear();} private final Xou_cache_mgr_fxt fxt = new Xou_cache_mgr_fxt(); + @Test public void Update() { + Xof_fsdb_itm itm_1 = fxt.Make_itm("en.w", "1.png", 2); + fxt.Exec_update(itm_1); + fxt.Test_get(itm_1, 1, 0); + } + @Test public void Update_mult() { + Xof_fsdb_itm itm_1 = fxt.Make_itm("en.w", "1.png", 2); + fxt.Exec_update(itm_1, itm_1, itm_1); + fxt.Test_get(itm_1, 3, 2); + } + @Test public void Reload() { + Xof_fsdb_itm itm_1 = fxt.Make_itm("en.w", "1.png", 2); + fxt.Exec_update(itm_1, itm_1, itm_1); + fxt.Test_get(itm_1, 3, 2); + fxt.Exec_save_and_clear(); + fxt.Test_get(itm_1, 3, 2); + } + @Test public void Reduce() { + fxt.Init_delete(3, 5); + Xof_fsdb_itm itm_1 = fxt.Make_itm("en.w", "1.png", 2); + Xof_fsdb_itm itm_2 = fxt.Make_itm("en.w", "2.png", 2); + Xof_fsdb_itm itm_3 = fxt.Make_itm("en.w", "3.png", 2); + fxt.Exec_update(itm_1, itm_2, itm_3); + fxt.Exec_reduce(); + fxt.Test_get_y(itm_3); + fxt.Test_get_n(itm_1, itm_2); + } + @Test public void Reduce_same() { + fxt.Init_delete(3, 5); + Xof_fsdb_itm itm_1 = fxt.Make_itm("en.w", "1.png", 2); + Xof_fsdb_itm itm_2 = fxt.Make_itm("fr.w", "1.png", 2); + Xof_fsdb_itm itm_3 = fxt.Make_itm("en.w", "2.png", 2); + fxt.Exec_update(itm_3, itm_2, itm_1); + fxt.Exec_reduce(); + fxt.Test_get_y(itm_3); + fxt.Test_get_n(itm_1, itm_2); + } +} +class Xou_cache_mgr_fxt { + private Xou_cache_mgr mgr; + public void Clear() { + Tfds.Now_set(DateAdp_.new_(1970, 1, 1, 0, 0, 0, 0)); + Io_mgr.I.InitEngine_mem(); + Db_conn_bldr.I.Reg_default_mem(); + Xoae_app app = Xoa_app_fxt.app_(); + app.Usere().Init_db(); + Xoa_app_fxt.repo_(app, Xoa_app_fxt.wiki_(app, "en.wikipedia.org")); + Xoa_app_fxt.repo_(app, Xoa_app_fxt.wiki_(app, "fr.wikipedia.org")); + this.mgr = new Xou_cache_mgr(app.Wiki_mgr(), app.Fsys_mgr().File_dir(), app.User().Data__db_file()); + } + public void Init_delete(long min, long max) { + mgr.Fsys_size_min_(min); + mgr.Fsys_size_max_(max); + } + public Xof_fsdb_itm Make_itm(String wiki, String file, int size) { + Xof_fsdb_itm rv = new Xof_fsdb_itm(); + byte[] wiki_domain = Bry_.new_a7(wiki); + byte[] file_ttl = Bry_.new_a7(file); + rv.Init_at_lnki(Xof_exec_tid.Tid_wiki_page, wiki_domain, file_ttl, Byte_.Zero, 1, 1, 1 ,1, 1, 1); + rv.Init_at_orig(Xof_repo_itm_.Repo_local, wiki_domain, file_ttl, Xof_ext_.new_by_id_(Xof_ext_.Id_png), 120, 120, Bry_.Empty); + rv.File_size_(size); + return rv; + } + public void Exec_update(Xof_fsdb_itm... ary) { + for (Xof_fsdb_itm itm : ary) + mgr.Update(itm); + } + public void Exec_save_and_clear() { + mgr.Db_save(); + mgr.Clear(); + } + public void Exec_reduce() { + mgr.Reduce(mgr.Fsys_size_min()); + } + public void Test_get(Xof_fsdb_itm fsdb, int expd_view_count, long expd_view_date) { + Xou_cache_itm cache = mgr.Get_or_null(fsdb); + Tfds.Eq(expd_view_count, cache.View_count()); + Tfds.Eq(expd_view_date , cache.View_date() / 60); // Tfds.Now increments by 60 seconds + } + public void Test_get_n(Xof_fsdb_itm... ary) { + for (Xof_fsdb_itm itm : ary) { + Xou_cache_itm cache = mgr.Get_or_null(itm); + Tfds.Eq_null(cache, String_.new_u8(itm.Lnki_ttl())); + } + } + public void Test_get_y(Xof_fsdb_itm... ary) { + for (Xof_fsdb_itm itm : ary) { + Xou_cache_itm cache = mgr.Get_or_null(itm); + Tfds.Eq_nullNot(cache, String_.new_u8(itm.Lnki_ttl())); + } + } +} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl.java b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl.java new file mode 100644 index 000000000..e16bb402f --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl.java @@ -0,0 +1,197 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.dbs.*; +public class Xou_cache_tbl implements RlsAble { + private String tbl_name = "file_cache"; private final Db_meta_fld_list flds = Db_meta_fld_list.new_(); + private String + fld_lnki_wiki_abrv, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page, fld_user_thumb_w + , fld_orig_repo, fld_orig_ttl, fld_orig_ext, fld_orig_w, fld_orig_h + , fld_html_w, fld_html_h, fld_html_time, fld_html_page + , fld_file_is_orig, fld_file_w, fld_file_time, fld_file_page + , fld_file_size, fld_view_count, fld_view_date + ; + public String Tbl_name() {return tbl_name;} + public String Fld_orig_ttl() {return fld_orig_ttl;} + private final Db_conn conn; private final Db_stmt_bldr stmt_bldr = new Db_stmt_bldr(); private Db_stmt select_stmt; + private final Bry_bfr lnki_key_bfr = Bry_bfr.reset_(255); + public Db_conn Conn() {return conn;} + public Xou_cache_tbl(Db_conn conn) { + this.conn = conn; + fld_lnki_wiki_abrv = flds.Add_str("lnki_wiki_abrv", 255); + fld_lnki_ttl = flds.Add_str("lnki_ttl", 255); + fld_lnki_type = flds.Add_int("lnki_type"); + fld_lnki_upright = flds.Add_double("lnki_upright"); + fld_lnki_w = flds.Add_int("lnki_w"); + fld_lnki_h = flds.Add_int("lnki_h"); + fld_lnki_time = flds.Add_double("lnki_time"); + fld_lnki_page = flds.Add_int("lnki_page"); + fld_user_thumb_w = flds.Add_int("user_thumb_w"); + fld_orig_repo = flds.Add_int("orig_repo"); + fld_orig_ttl = flds.Add_str("orig_ttl", 255); + fld_orig_ext = flds.Add_int("orig_ext"); + fld_orig_w = flds.Add_int("orig_w"); + fld_orig_h = flds.Add_int("orig_h"); + fld_html_w = flds.Add_int("html_w"); + fld_html_h = flds.Add_int("html_h"); + fld_html_time = flds.Add_double("html_time"); + fld_html_page = flds.Add_int("html_page"); + fld_file_is_orig = flds.Add_bool("file_is_orig"); + fld_file_w = flds.Add_int("file_w"); + fld_file_time = flds.Add_double("file_time"); + fld_file_page = flds.Add_int("file_page"); + fld_file_size = flds.Add_long("file_size"); + fld_view_count = flds.Add_int("view_count"); + fld_view_date = flds.Add_long("view_date"); + stmt_bldr.Conn_(conn, tbl_name, flds, fld_lnki_wiki_abrv, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page, fld_user_thumb_w); + conn.Rls_reg(this); + } + public void Rls() { + select_stmt = Db_stmt_.Rls(select_stmt); + } + public void Create_tbl() { + Db_meta_tbl meta = Db_meta_tbl.new_(tbl_name, flds + , Db_meta_idx.new_unique_by_tbl(tbl_name, "main", fld_lnki_wiki_abrv, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page, fld_user_thumb_w) + , Db_meta_idx.new_normal_by_tbl(tbl_name, "size", fld_file_size) + , Db_meta_idx.new_normal_by_tbl(tbl_name, "date", fld_view_date) + ); + conn.Ddl_create_tbl(meta); + } + public Xou_cache_itm Select_one(byte[] lnki_wiki_abrv, byte[] lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int user_thumb_w) { + if (select_stmt == null) select_stmt = conn.Stmt_select(tbl_name, flds, String_.Ary(fld_lnki_wiki_abrv, fld_lnki_ttl, fld_lnki_type, fld_lnki_upright, fld_lnki_w, fld_lnki_h, fld_lnki_time, fld_lnki_page, fld_user_thumb_w)); + Db_rdr rdr = select_stmt.Clear() + .Crt_bry_as_str (fld_lnki_wiki_abrv , lnki_wiki_abrv) + .Crt_bry_as_str (fld_lnki_ttl , lnki_ttl) + .Crt_int (fld_lnki_type , lnki_type) + .Crt_double (fld_lnki_upright , lnki_upright) + .Crt_int (fld_lnki_w , lnki_w) + .Crt_int (fld_lnki_h , lnki_h) + .Crt_double (fld_lnki_time , lnki_time) + .Crt_int (fld_lnki_page , lnki_page) + .Crt_int (fld_user_thumb_w , user_thumb_w) + .Exec_select__rls_manual(); + try {return rdr.Move_next() ? new_itm(rdr) : Xou_cache_itm.Null;} + finally {rdr.Rls();} + } + public void Select_all(Bry_bfr fil_key_bldr, Ordered_hash hash) { + hash.Clear(); + Db_rdr rdr = conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Exec_select__rls_auto(); + try { + while (rdr.Move_next()) { + Xou_cache_itm itm = new_itm(rdr); + hash.Add(itm.Lnki_key(), itm); + } + } + finally {rdr.Rls();} + } + public void Db_save(Xou_cache_itm itm) { + try { + Db_stmt stmt = stmt_bldr.Get(itm.Db_state()); + switch (itm.Db_state()) { + case Db_cmd_mode.Tid_create: stmt.Clear(); Db_save_crt(stmt, itm, Bool_.Y); Db_save_val(stmt, itm); stmt.Exec_insert(); break; + case Db_cmd_mode.Tid_update: stmt.Clear(); Db_save_val(stmt, itm); Db_save_crt(stmt, itm, Bool_.N); stmt.Exec_update(); break; + case Db_cmd_mode.Tid_delete: stmt.Clear(); Db_save_crt(stmt, itm, Bool_.N); stmt.Exec_delete(); break; + case Db_cmd_mode.Tid_ignore: break; + default: throw Err_.unhandled(itm.Db_state()); + } + itm.Db_state_(Db_cmd_mode.Tid_ignore); + } catch (Exception e) {stmt_bldr.Rls(); throw Err_.err_(e, Err_.Message_gplx(e));} + } + @gplx.Internal protected Db_rdr Select_all_for_test() {return conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empy).Exec_select__rls_manual();} + private void Db_save_crt(Db_stmt stmt, Xou_cache_itm itm, boolean insert) { + if (insert) { + stmt.Val_bry_as_str (fld_lnki_wiki_abrv , itm.Lnki_wiki_abrv()) + .Val_bry_as_str (fld_lnki_ttl , itm.Lnki_ttl()) + .Val_int (fld_lnki_type , itm.Lnki_type()) + .Val_double (fld_lnki_upright , itm.Lnki_upright()) + .Val_int (fld_lnki_w , itm.Lnki_w()) + .Val_int (fld_lnki_h , itm.Lnki_h()) + .Val_double (fld_lnki_time , itm.Lnki_time()) + .Val_int (fld_lnki_page , itm.Lnki_page()) + .Val_int (fld_user_thumb_w , itm.User_thumb_w()) + ; + } + else { + stmt.Crt_bry_as_str (fld_lnki_wiki_abrv , itm.Lnki_wiki_abrv()) + .Crt_bry_as_str (fld_lnki_ttl , itm.Lnki_ttl()) + .Crt_int (fld_lnki_type , itm.Lnki_type()) + .Crt_double (fld_lnki_upright , itm.Lnki_upright()) + .Crt_int (fld_lnki_w , itm.Lnki_w()) + .Crt_int (fld_lnki_h , itm.Lnki_h()) + .Crt_double (fld_lnki_time , itm.Lnki_time()) + .Crt_int (fld_lnki_page , itm.Lnki_page()) + .Crt_int (fld_user_thumb_w , itm.User_thumb_w()) + ; + } + } + private void Db_save_val(Db_stmt stmt, Xou_cache_itm itm) { + byte[] orig_ttl = itm.Orig_ttl(), lnki_ttl = itm.Lnki_ttl(); + if (Bry_.Eq(orig_ttl, lnki_ttl)) orig_ttl = Bry_.Empty; // PERF:only store redirects in orig_ttl; DATE:2015-05-14 + stmt.Val_int (fld_orig_repo , itm.Orig_repo_id()) + .Val_bry_as_str (fld_orig_ttl , orig_ttl) + .Val_int (fld_orig_ext , itm.Orig_ext_id()) + .Val_int (fld_orig_w , itm.Orig_w()) + .Val_int (fld_orig_h , itm.Orig_h()) + .Val_int (fld_html_w , itm.Html_w()) + .Val_int (fld_html_h , itm.Html_h()) + .Val_double (fld_html_time , itm.Html_time()) + .Val_int (fld_html_page , itm.Html_page()) + .Val_bool_as_byte (fld_file_is_orig , itm.File_is_orig()) + .Val_int (fld_file_w , itm.File_w()) + .Val_double (fld_file_time , itm.File_time()) + .Val_int (fld_file_page , itm.File_page()) + .Val_long (fld_file_size , itm.File_size()) + .Val_int (fld_view_count , itm.View_count()) + .Val_long (fld_view_date , itm.View_date()) + ; + } + private Xou_cache_itm new_itm(Db_rdr rdr) { + byte[] lnki_ttl = rdr.Read_bry_by_str (fld_lnki_ttl); + byte[] orig_ttl = rdr.Read_bry_by_str (fld_orig_ttl); + if (orig_ttl.length == 0) orig_ttl = lnki_ttl; // PERF:only store redirects in orig_ttl; DATE:2015-05-14 + return new Xou_cache_itm + ( lnki_key_bfr + , Db_cmd_mode.Tid_ignore + , rdr.Read_bry_by_str (fld_lnki_wiki_abrv) + , lnki_ttl + , rdr.Read_int (fld_lnki_type) + , rdr.Read_double (fld_lnki_upright) + , rdr.Read_int (fld_lnki_w) + , rdr.Read_int (fld_lnki_h) + , Xof_lnki_time.Db_load_double (rdr, fld_lnki_time) + , Xof_lnki_page.Db_load_int (rdr, fld_lnki_page) + , rdr.Read_int (fld_user_thumb_w) + , rdr.Read_int (fld_orig_repo) + , orig_ttl + , rdr.Read_int (fld_orig_ext) + , rdr.Read_int (fld_orig_w) + , rdr.Read_int (fld_orig_h) + , rdr.Read_int (fld_html_w) + , rdr.Read_int (fld_html_h) + , Xof_lnki_time.Db_load_double (rdr, fld_html_time) + , Xof_lnki_page.Db_load_int (rdr, fld_html_page) + , rdr.Read_bool_by_byte (fld_file_is_orig) + , rdr.Read_int (fld_file_w) + , Xof_lnki_time.Db_load_double (rdr, fld_file_time) + , Xof_lnki_page.Db_load_int (rdr, fld_file_page) + , rdr.Read_long (fld_file_size) + , rdr.Read_int (fld_view_count) + , rdr.Read_long (fld_view_date) + ); + } +} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl_tst.java b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl_tst.java new file mode 100644 index 000000000..d39d144c0 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl_tst.java @@ -0,0 +1,61 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import org.junit.*; import gplx.dbs.*; +public class Xou_cache_tbl_tst { + @Before public void init() {fxt.Clear();} private final Xou_cache_tbl_fxt fxt = new Xou_cache_tbl_fxt(); + @Test public void Orig_ttl__same() {fxt.Test_save_orig_ttl("A.png", "A.png", "");} + @Test public void Orig_ttl__redirect() {fxt.Test_save_orig_ttl("A.png", "B.png", "B.png");} +} +class Xou_cache_tbl_fxt { + private final Bry_bfr lnki_key_bfr = Bry_bfr.new_(255); + private Xou_cache_tbl tbl; + public void Clear() { + Io_mgr.I.InitEngine_mem(); + Db_conn_bldr.I.Reg_default_mem(); + Db_conn_bldr_data conn_data = Db_conn_bldr.I.Get_or_new(Io_url_.mem_fil_("mem/test.xowa")); + this.tbl = new Xou_cache_tbl(conn_data.Conn()); + tbl.Create_tbl(); + } + public Xou_cache_itm Make_itm(String lnki_wiki_abrv_xo, String lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int user_thumb_w + , int orig_repo_id, String orig_ttl, int orig_ext_id, int orig_w, int orig_h + , int html_w, int html_h, double html_time, int html_page + , boolean file_is_orig, int file_w, double file_time, int file_page, long file_size + , int view_count, long view_date) { + return new Xou_cache_itm(lnki_key_bfr, Db_cmd_mode.Tid_create + , Bry_.new_u8(lnki_wiki_abrv_xo), Bry_.new_u8(lnki_ttl), lnki_type, lnki_upright, lnki_w, lnki_h, lnki_time, lnki_page, user_thumb_w + , orig_repo_id, Bry_.new_u8(orig_ttl), orig_ext_id, orig_w, orig_h + , html_w, html_h, html_time, html_page + , file_is_orig, file_w, file_time, file_page, file_size + , view_count, view_date + ); + } + public Xou_cache_itm Exec_select_one(String lnki_wiki_abrv_xo, String lnki_ttl, int lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, int user_thumb_w) { + return tbl.Select_one(Bry_.new_u8(lnki_wiki_abrv_xo), Bry_.new_u8(lnki_ttl), 1, 1, 1, 1, 1, 1, 1); + } + public void Test_save_orig_ttl(String lnki_ttl, String orig_ttl, String expd_orig_ttl) { + Xou_cache_itm itm = Make_itm("en.w", lnki_ttl, 1, 1, 1, 1, 1, 1, 1, 1, orig_ttl, 1, 1, 1, 1, 1, 1, 1, Bool_.Y, 1, 1, 1, 1, 1, 1); + tbl.Db_save(itm); + Db_rdr rdr = tbl.Select_all_for_test(); + try { + Tfds.Eq_true(rdr.Move_next()); + Tfds.Eq(expd_orig_ttl, rdr.Read_str(tbl.Fld_orig_ttl())); + } + finally {rdr.Rls();} + } +} diff --git a/400_xowa/src/gplx/xowa/files/caches/Xou_file_itm_finder.java b/400_xowa/src/gplx/xowa/files/caches/Xou_file_itm_finder.java new file mode 100644 index 000000000..ad3b08b3e --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_file_itm_finder.java @@ -0,0 +1,62 @@ +/* +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.files.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.ios.*; +import gplx.xowa.files.origs.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.gui.*; +public class Xou_file_itm_finder { + private final Xou_cache_mgr cache_mgr; private final Xof_img_size img_size = new Xof_img_size(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); + public Xou_file_itm_finder(Xou_cache_mgr cache_mgr) {this.cache_mgr = cache_mgr;} + public boolean Find(Xowe_wiki wiki, int exec_tid, Xof_file_itm xfer, byte[] page_url) { + byte[] lnki_ttl = xfer.Lnki_ttl(); + try { + if (wiki.File__fsdb_mode().Tid_v2_bld()) return false; // disable during build + Xou_cache_itm cache_itm = cache_mgr.Get_or_null(wiki.Domain_itm().Abrv_xo(), lnki_ttl, xfer.Lnki_type(), xfer.Lnki_upright(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_time(), xfer.Lnki_page(), Xof_img_size.Thumb_width_img); + Xof_repo_itm repo = null; + if (cache_itm == null) {// itm not in cache; + Xof_ext lnki_ext = Xof_ext_.new_by_ttl_(lnki_ttl); + if (lnki_ext.Id_is_ogg()) { // look up orig; needed for identifying .ogg to vid for html_wtr to write; PAGE:en.w:WWI; DATE:2015-05-19 + Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(lnki_ttl); + if (orig != Xof_orig_itm.Null) { // orig found + repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), lnki_ttl, page_url); + if (repo != null) { + xfer.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); + img_size.Html_size_calc(exec_tid, xfer.Lnki_w(), xfer.Lnki_h(), (byte)xfer.Lnki_type(), Xof_patch_upright_tid_.Tid_all, xfer.Lnki_upright(), orig.Ext().Id(), orig.W(), orig.H(), Xof_img_size.Thumb_width_img); // calc size for html + xfer.Init_at_gallery_end(img_size.Html_w(), img_size.Html_h(), url_bldr.To_url_trg(repo, xfer, Bool_.N), url_bldr.To_url_trg(repo, xfer, Bool_.Y)); + } + } + } + return false; + } + repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(cache_itm.Orig_repo_id(), lnki_ttl, page_url); + if (repo == null) return false; // unknown repo; shouldn't happen, but exit, else null ref + xfer.Init_at_orig((byte)cache_itm.Orig_repo_id(), repo.Wiki_domain(), cache_itm.Orig_ttl(), cache_itm.Orig_ext_itm(), cache_itm.Orig_w(), cache_itm.Orig_h(), Bry_.Empty); +// img_size.Html_size_calc(exec_tid, xfer.Lnki_w(), xfer.Lnki_h(), (byte)xfer.Lnki_type(), Xof_patch_upright_tid_.Tid_all, xfer.Lnki_upright(), cache_itm.Orig_ext_id(), cache_itm.Orig_w(), cache_itm.Orig_h(), Xof_img_size.Thumb_width_img); +// xfer.Init_at_gallery_end(img_size.Html_w(), img_size.Html_h(), url_bldr.To_url_trg(repo, cache_itm, Bool_.N), url_bldr.To_url_trg(repo, cache_itm, Bool_.Y)); + xfer.Init_at_html(exec_tid, img_size, repo, url_bldr); + if (Io_mgr.I.ExistsFil(xfer.Html_view_url())) { + cache_itm.Update_view_stats(); + return true; + } + else + return false; + } catch (Exception e) { + Xoa_app_.Usr_dlg().Warn_many("", "", "failed to find img: img=~{0} err=~{1}", lnki_ttl, Err_.Message_gplx_brief(e)); + return false; + } + } +} diff --git a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java index 42b318b57..ee932f522 100644 --- a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java +++ b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java @@ -24,8 +24,8 @@ public class Xof_img_wkr_resize_img_imageMagick implements Xof_img_wkr_resize_im this.wmf_mgr = wmf_mgr; this.cmd_convert = cmd_convert; this.cmd_convert_svg_to_png = cmd_convert_svg_to_png; } public boolean Exec(Io_url src, Io_url trg, int trg_w, int trg_h, int ext_id, String_obj_ref rslt_val) { - if (!Io_mgr._.ExistsFil(src)) return false; - Io_mgr._.CreateDirIfAbsent(trg.OwnerDir()); + if (!Io_mgr.I.ExistsFil(src)) return false; + Io_mgr.I.CreateDirIfAbsent(trg.OwnerDir()); if (init_needed) { init_needed = false; Gfo_usr_dlg usr_dlg = Xoa_app_.Usr_dlg(); diff --git a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_mok.java b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_mok.java index 9bf8b72f0..c24d70c91 100644 --- a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_mok.java +++ b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_mok.java @@ -23,7 +23,7 @@ public class Xof_img_wkr_resize_img_mok implements Xof_img_wkr_resize_img { int src_w = src_size.Width(), src_h = src_size.Height(); if (trg_w < 1) throw Err_.new_fmt_("trg_w must be > 0: {0}", trg_w); if (trg_h < 1) trg_h = Xof_xfer_itm_.Scale_h(src_w, src_h, trg_w); - Io_mgr._.SaveFilStr(trg, SizeAdp_.new_(trg_w, trg_h).XtoStr()); + Io_mgr.I.SaveFilStr(trg, SizeAdp_.new_(trg_w, trg_h).XtoStr()); return true; } public static final Xof_img_wkr_resize_img_mok _ = new Xof_img_wkr_resize_img_mok(); Xof_img_wkr_resize_img_mok() {} diff --git a/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_io.java b/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_io.java index ed83191fb..571847b8e 100644 --- a/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_io.java +++ b/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_io.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.files.downloads; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.ios.*; public class Xof_download_wkr_io implements Xof_download_wkr { - IoEngine_xrg_downloadFil xrg = Io_mgr._.DownloadFil_args("", Io_url_.Null); + IoEngine_xrg_downloadFil xrg = Io_mgr.I.DownloadFil_args("", Io_url_.Empty); public IoEngine_xrg_downloadFil Download_xrg() {return xrg;} public String Download_err() {return download_err;} private String download_err = ""; public byte Download(boolean src_is_web, String src_str, Io_url trg_url, String prog_fmt_hdr) { @@ -31,8 +31,8 @@ public class Xof_download_wkr_io implements Xof_download_wkr { } else { Io_url src_url = Io_url_.new_fil_(src_str); - if (!Io_mgr._.ExistsFil(src_url)) return IoEngine_xrg_downloadFil.Rslt_fail_file_not_found; - try {Io_mgr._.CopyFil(src_url, trg_url, true);} + if (!Io_mgr.I.ExistsFil(src_url)) return IoEngine_xrg_downloadFil.Rslt_fail_file_not_found; + try {Io_mgr.I.CopyFil(src_url, trg_url, true);} catch (Exception exc) {Err_.Noop(exc); return IoEngine_xrg_downloadFil.Rslt_fail_unknown;} return IoEngine_xrg_downloadFil.Rslt_pass; } diff --git a/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_test.java b/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_test.java index d19cfa534..949f1a353 100644 --- a/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_test.java +++ b/400_xowa/src/gplx/xowa/files/downloads/Xof_download_wkr_test.java @@ -18,12 +18,12 @@ along with this program. If not, see . package gplx.xowa.files.downloads; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.ios.*; public class Xof_download_wkr_test implements Xof_download_wkr { - public IoEngine_xrg_downloadFil Download_xrg() {return IoEngine_xrg_downloadFil.new_("", Io_url_.Null).Trg_engine_key_(IoEngine_.MemKey);} + public IoEngine_xrg_downloadFil Download_xrg() {return IoEngine_xrg_downloadFil.new_("", Io_url_.Empty).Trg_engine_key_(IoEngine_.MemKey);} public byte Download(boolean src_is_web, String src_str, Io_url trg_url, String prog_fmt_hdr) { - Io_mgr._.CreateDirIfAbsent(trg_url.OwnerDir()); + Io_mgr.I.CreateDirIfAbsent(trg_url.OwnerDir()); Io_url src_url = Io_url_.new_fil_(src_str); - if (!Io_mgr._.ExistsFil(src_url)) return IoEngine_xrg_downloadFil.Rslt_fail_file_not_found; - try {Io_mgr._.CopyFil(src_url, trg_url, true);} + if (!Io_mgr.I.ExistsFil(src_url)) return IoEngine_xrg_downloadFil.Rslt_fail_file_not_found; + try {Io_mgr.I.CopyFil(src_url, trg_url, true);} catch (Exception exc) {Err_.Noop(exc); return IoEngine_xrg_downloadFil.Rslt_fail_unknown;} return IoEngine_xrg_downloadFil.Rslt_pass; } diff --git a/400_xowa/src/gplx/xowa/files/exts/Xof_rule_grp.java b/400_xowa/src/gplx/xowa/files/exts/Xof_rule_grp.java index 5a252495e..e503f00e1 100644 --- a/400_xowa/src/gplx/xowa/files/exts/Xof_rule_grp.java +++ b/400_xowa/src/gplx/xowa/files/exts/Xof_rule_grp.java @@ -34,9 +34,9 @@ public class Xof_rule_grp implements GfoInvkAble { } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_owner)) return owner; - else if (ctx.Match(k, Invk_set)) return Get_or_new(Bry_.new_utf8_(m.ReadStr("v"))); + else if (ctx.Match(k, Invk_set)) return Get_or_new(Bry_.new_u8(m.ReadStr("v"))); else return GfoInvkAble_.Rv_unhandled; } private static final String Invk_owner = "owner", Invk_set = "set"; private static final String Grp_app_default_str = "app_default"; - public static byte[] Grp_app_default = Bry_.new_utf8_(Grp_app_default_str); + public static byte[] Grp_app_default = Bry_.new_u8(Grp_app_default_str); } diff --git a/400_xowa/src/gplx/xowa/files/exts/Xof_rule_mgr.java b/400_xowa/src/gplx/xowa/files/exts/Xof_rule_mgr.java index 4c05d3402..b69d5c24d 100644 --- a/400_xowa/src/gplx/xowa/files/exts/Xof_rule_mgr.java +++ b/400_xowa/src/gplx/xowa/files/exts/Xof_rule_mgr.java @@ -39,7 +39,7 @@ public class Xof_rule_mgr implements GfoInvkAble { app_default.Get_or_new(keys[i]).Make_max_(make_max); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_set)) return Get_or_new(Bry_.new_utf8_(m.ReadStr("v"))); + if (ctx.Match(k, Invk_set)) return Get_or_new(Bry_.new_u8(m.ReadStr("v"))); else return GfoInvkAble_.Rv_unhandled; } private static final String Invk_set = "set"; } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_itm.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_itm.java deleted file mode 100644 index 76d6ecde3..000000000 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_itm.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.files.fsdb; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.xowa.files.gui.*; import gplx.xowa.files.repos.*; -public class Xof_fsdb_itm { - public byte[] Lnki_ttl() {return lnki_ttl;} private byte[] lnki_ttl; - public byte[] Lnki_md5() {return lnki_md5;} private byte[] lnki_md5; - public Xof_ext Lnki_ext() {return lnki_ext;} private Xof_ext lnki_ext; - public byte Lnki_type() {return lnki_type;} private byte lnki_type; - public int Lnki_w() {return lnki_w;} private int lnki_w; - public int Lnki_h() {return lnki_h;} private int lnki_h; - public double Lnki_upright() {return lnki_upright;} private double lnki_upright; - public double Lnki_time() {return lnki_time;} private double lnki_time = Xof_lnki_time.Null; - public int Lnki_page() {return lnki_page;} private int lnki_page = Xof_lnki_page.Null; - public byte Orig_repo_id() {return orig_repo_id;} private byte orig_repo_id = Xof_repo_itm.Repo_null; - public byte[] Orig_repo_name() {return orig_repo_name;} private byte[] orig_repo_name; - public byte[] Orig_ttl() {return orig_ttl;} private byte[] orig_ttl; - public Xof_ext Orig_ext() {return orig_ext;} private Xof_ext orig_ext; - public int Orig_w() {return orig_w;} private int orig_w = Xop_lnki_tkn.Width_null; - public int Orig_h() {return orig_h;} private int orig_h = Xop_lnki_tkn.Height_null; - public byte[] Orig_redirect() {return orig_redirect;} private byte[] orig_redirect = Bry_.Empty; - public boolean File_is_orig() {return file_is_orig;} private boolean file_is_orig; - public int File_w() {return file_w;} private int file_w; - public int Html_uid() {return html_uid;} private int html_uid; - public byte Html_elem_tid() {return html_elem_tid;} private byte html_elem_tid; - public int Html_w() {return html_w;} private int html_w; - public int Html_h() {return html_h;} private int html_h; - public Io_url Html_view_url() {return html_view_url;} private Io_url html_view_url; - public Io_url Html_orig_url() {return html_orig_url;} private Io_url html_orig_url = Io_url_.Null; - public int Gallery_mgr_h() {return gallery_mgr_h;} private int gallery_mgr_h = Int_.Neg1; - public Js_img_wkr Html_img_wkr() {return html_img_wkr;} private Js_img_wkr html_img_wkr; - public int Temp_file_w() {return temp_file_w;} private int temp_file_w; - public long Temp_file_size() {return temp_file_size;} private long temp_file_size; - public Io_url Temp_file_url() {return temp_file_url;} private Io_url temp_file_url; - public boolean Orig_exists() {return orig_exists;} public void Orig_exists_y_() {orig_exists = Bool_.Y;} public void Orig_exists_n_() {orig_exists = Bool_.N;} private boolean orig_exists; - public boolean File_exists() {return file_exists;} public void File_exists_y_() {file_exists = Bool_.Y;} public void File_exists_n_() {file_exists = Bool_.N;} public void File_exists_(boolean v) {file_exists = v;} private boolean file_exists; - public boolean File_resized() {return file_resized;} public void File_resized_y_() {file_resized = Bool_.Y;} private boolean file_resized; - public boolean Fsdb_insert() {return fsdb_insert;} public void Fsdb_insert_y_() {fsdb_insert = true;} private boolean fsdb_insert; - public void Ctor_by_lnki(byte[] lnki_ttl, byte lnki_type, int lnki_w, int lnki_h, int lnki_upright_patch, double lnki_upright, double lnki_time, int lnki_page) { - this.lnki_type = lnki_type; this.lnki_w = lnki_w; this.lnki_h = lnki_h; - this.lnki_upright_patch = lnki_upright_patch; - this.lnki_upright = lnki_upright; this.lnki_time = lnki_time; this.lnki_page = lnki_page; - this.orig_ttl = lnki_ttl; - // this.file_is_orig = !(Xop_lnki_type.Id_defaults_to_thumb(lnki_type) || lnki_w != Xop_lnki_tkn.Width_null || lnki_h != Xop_lnki_tkn.Height_null); // DELETE: overriden below. - this.Lnki_ttl_(lnki_ttl); - } private int lnki_upright_patch; - public void Ctor_by_orig(byte orig_repo_id, byte[] orig_repo_name, byte[] orig_ttl, Xof_ext orig_ext, int orig_w, int orig_h, byte[] orig_redirect) { - this.orig_repo_id = orig_repo_id; this.orig_repo_name = orig_repo_name; - this.orig_ttl = orig_ttl; this.orig_ext = orig_ext; - this.orig_w = orig_w; this.orig_h = orig_h; this.orig_redirect = orig_redirect; - if (orig_ext != null && orig_ext.Id() != lnki_ext.Id()) - this.Lnki_ext_(orig_ext); // overwrite ext with whatever's in file_orig; needed for ogg -> oga / ogv - if (Bry_.Len_gt_0(orig_redirect)) // redirect exists; EX: A.png redirected to B.png - this.Lnki_ttl_(orig_redirect); // update fsdb with atrs of B.png - else if (!Bry_.Eq(lnki_ttl, orig_ttl)) // ttls differ; EX: "A_.png" vs "A.png" - this.Lnki_ttl_(orig_ttl); - } - public void Ctor_for_html(byte exec_tid, Xof_img_size img_size, Xof_repo_itm repo, Xof_url_bldr url_bldr) { - Calc_html_size(exec_tid, img_size); - html_view_url = url_bldr.To_url_trg(repo, this, file_is_orig); - html_orig_url = url_bldr.To_url_trg(repo, this, Bool_.Y); - } - public void Ctor_by_fsdb_make - ( byte[] lnki_ttl, int lnki_ext, int lnki_w, int lnki_h, double lnki_time, int lnki_page - , byte orig_repo_id, int orig_w, int orig_h, byte[] orig_redirect - , boolean file_is_orig - ) { - this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_time = lnki_time; this.lnki_page = lnki_page; - this.orig_repo_id = orig_repo_id; this.orig_ttl = lnki_ttl; this.orig_w = orig_w; this.orig_h = orig_h; this.orig_redirect = orig_redirect; - this.file_is_orig = file_is_orig; - this.html_w = lnki_w; this.html_h = lnki_h; // set html_size as file_size (may try to optimize later by removing similar thumbs (EX: 220,221 -> 220)) - this.Lnki_ttl_(lnki_ttl); - this.lnki_ext = Xof_ext_.new_by_id_(lnki_ext); // NOTE: data in fsdb_make may override lnki_ext; EX: ttl=A.png; but ext=".jpg" - } - public void Init_temp(int temp_file_w, long temp_file_size, Io_url temp_file_url) {this.temp_file_w = temp_file_w; this.temp_file_size = temp_file_size; this.temp_file_url = temp_file_url;} - public void Lnki_ext_(Xof_ext v) {lnki_ext = v;} - public void Lnki_size_(int w, int h) {this.lnki_w = w; this.lnki_h = h;} - public void Orig_repo_name_(byte[] v) {orig_repo_name = v;} - public void Html_view_url_(Io_url v) {html_view_url = v;} - public void Html_orig_url_(Io_url v) {html_orig_url = v;} - public void Html_size_(int w, int h) {html_w = w; html_h = h;} - public void Html_uid_(int v) {html_uid = v;} - public void Html_elem_tid_(byte v) {html_elem_tid = v;} - public void Html_img_wkr_(Js_img_wkr v) {html_img_wkr = v;} - public void Gallery_mgr_h_(int v) {gallery_mgr_h = v;} - private void Lnki_ttl_(byte[] v) { - lnki_ttl = v; - lnki_ext = Xof_ext_.new_by_ttl_(v); - lnki_md5 = Xof_xfer_itm_.Md5_calc(v); - } - private void Calc_html_size(byte exec_tid, Xof_img_size img_size) { - if (!lnki_ext.Id_is_media() && lnki_time != Xof_lnki_time.Null) // file is not media, but has thumbtime; this check can't be moved to Lnki_time_() b/c it needs ext - lnki_time = Xof_lnki_time.Null; // set time to null; needed else url will reference thumbtime; PAGE:en.w:Moon; EX:[[File:Lunar libration with phase Oct 2007 450px.gif|thumbtime=0:02]]; DATE:2014-07-20 - if (lnki_ext.Id_is_audio_strict()) // audio does not have html size calculated; everything else does - file_is_orig = Bool_.Y; - else { - img_size.Html_size_calc(exec_tid, lnki_w, lnki_h, lnki_type, lnki_upright_patch, lnki_upright, lnki_ext.Id(), orig_w, orig_h, Xof_img_size.Thumb_width_img); - html_w = img_size.Html_w(); html_h = img_size.Html_h(); file_w = img_size.File_w(); - file_is_orig = img_size.File_is_orig(); - } - } -} diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java index 95e17bdef..4b369afc2 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java @@ -22,5 +22,5 @@ public interface Xof_fsdb_mgr { Xof_bin_mgr Bin_mgr(); Fsm_mnt_mgr Mnt_mgr(); void Init_by_wiki(Xow_wiki wiki); - void Fsdb_search_by_list(byte exec_tid, ListAdp itms, Xoa_page page, Xog_js_wkr js_wkr); + void Fsdb_search_by_list(List_adp itms, Xow_wiki wiki, Xoa_page page, Xog_js_wkr js_wkr); } 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 814178455..788dcadfb 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 @@ -17,39 +17,48 @@ along with this program. If not, see . */ package gplx.xowa.files.fsdb; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.core.primitives.*; +import gplx.ios.*; import gplx.dbs.*; import gplx.xowa.wikis.data.*; import gplx.fsdb.*; import gplx.fsdb.meta.*; import gplx.xowa.files.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.imgs.*; import gplx.xowa.files.origs.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.caches.*; import gplx.xowa.files.gui.*; public class Xof_fsdb_mgr__sql implements Xof_fsdb_mgr, GfoInvkAble { private boolean init = false; private boolean fsdb_enabled = false; - private Xof_cache_mgr cache_mgr; private Xow_repo_mgr repo_mgr; private Xof_url_bldr url_bldr; private final Xof_img_size img_size = new Xof_img_size(); + private Xow_repo_mgr repo_mgr; private Xof_url_bldr url_bldr; private final Xof_img_size img_size = new Xof_img_size(); public Xof_bin_mgr Bin_mgr() {return bin_mgr;} private Xof_bin_mgr bin_mgr; public Fsm_mnt_mgr Mnt_mgr() {return mnt_mgr;} private Fsm_mnt_mgr mnt_mgr = new Fsm_mnt_mgr(); public void Init_by_wiki(Xow_wiki wiki) { if (init) return; try { init = true; - if (wiki.File__fsdb_mode().Tid_wmf()) return; - Xoa_app app = wiki.App(); - this.cache_mgr = app.File__cache_mgr(); this.url_bldr = Xof_url_bldr.new_v2_(); - this.repo_mgr = wiki.File__repo_mgr(); Xof_img_mgr img_mgr = app.File__img_mgr(); +// if (wiki.File__fsdb_mode().Tid_v0()) return; + this.url_bldr = Xof_url_bldr.new_v2(); + this.repo_mgr = wiki.File__repo_mgr(); Fsdb_db_mgr core = Fsdb_db_mgr_.new_detect(wiki, wiki.Fsys_mgr().Root_dir(), wiki.Fsys_mgr().File_dir()); if (core == null) return; fsdb_enabled = true; mnt_mgr.Ctor_by_load(core); - this.bin_mgr = new Xof_bin_mgr(mnt_mgr, repo_mgr, cache_mgr, img_mgr.Wkr_resize_img()); + this.bin_mgr = new Xof_bin_mgr(mnt_mgr, repo_mgr, wiki.App().File__img_mgr().Wkr_resize_img(), wiki.App().Wmf_mgr().Download_wkr().Download_xrg().Download_fmt()); bin_mgr.Wkrs__add(Xof_bin_wkr__fsdb_sql.new_(mnt_mgr)); bin_mgr.Wkrs__add(Xof_bin_wkr__http_wmf.new_(wiki)); } catch (Exception exc) {throw Err_.new_fmt_("failed to initialize fsdb_mgr: wiki={0) err={1}", wiki.Domain_str(), Err_.Message_gplx_brief(exc));} } - public void Fsdb_search_by_list(byte exec_tid, ListAdp itms, Xoa_page page, Xog_js_wkr js_wkr) { + public void Fsdb_search_by_list(List_adp itms, Xow_wiki cur_wiki, Xoa_page page, Xog_js_wkr js_wkr) { if (!fsdb_enabled) return; int len = itms.Count(); Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.I; + Xow_wiki wiki = page.Commons_mgr().Source_wiki_or(cur_wiki); + Xou_cache_mgr cache_mgr = wiki.App().User().File__cache_mgr(); for (int i = 0; i < len; i++) { if (usr_dlg.Canceled()) return; - Xof_fsdb_itm itm = (Xof_fsdb_itm)itms.FetchAt(i); - Xof_file_wkr.Show_img(exec_tid, itm, usr_dlg, bin_mgr, mnt_mgr, cache_mgr, repo_mgr, js_wkr, img_size, url_bldr, page); + Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.Get_at(i); + Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(fsdb.Lnki_ttl(), i, len); + if (orig != Xof_orig_itm.Null) { // orig exists; + gplx.xowa.files.repos.Xof_repo_itm repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), fsdb.Lnki_ttl(), Bry_.Empty); + if (repo == null) continue; + fsdb.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); + } + fsdb.Init_at_xfer(i, len); + Xof_file_wkr.Show_img(fsdb, usr_dlg, wiki.File__bin_mgr(), wiki.File__mnt_mgr(), cache_mgr, wiki.File__repo_mgr(), js_wkr, img_size, url_bldr, page); } } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java index 42cc78d8b..f05d9dc14 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java @@ -61,7 +61,7 @@ class Fs_root_dir { } private Orig_fil_mgr Init_fs_fil_mgr() { // NOTE: need to read entire dir, b/c ttl may be "A.png", but won't know which subdir Orig_fil_mgr rv = new Orig_fil_mgr(); - Io_url[] fils = Io_mgr._.QueryDir_args(url).Recur_(recurse).ExecAsUrlAry(); + Io_url[] fils = Io_mgr.I.QueryDir_args(url).Recur_(recurse).ExecAsUrlAry(); int fils_len = fils.length; for (int i = 0; i < fils_len; i++) { Io_url fil = fils[i]; @@ -102,7 +102,7 @@ class Fs_root_dir { } private static final String Cfg_grp_root_dir = "xowa.root_dir", Cfg_key_fil_id_next = "fil_id_next"; public static byte[] Xto_fil_bry(Io_url url) { - byte[] rv = Bry_.new_utf8_(url.NameAndExt()); + byte[] rv = Bry_.new_u8(url.NameAndExt()); rv = Bry_.Replace(rv, Byte_ascii.Space, Byte_ascii.Underline); rv = Bry_.Upper_1st(rv); return rv; diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir_tst.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir_tst.java index a5ebc1e43..7e42d0d45 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir_tst.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir_tst.java @@ -42,7 +42,7 @@ class Fs_root_dir_fxt { private Io_url url; public void Reset() { Db_conn_bldr.I.Reg_default_mem(); - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); url = Io_url_.mem_dir_("mem/dir/"); root_dir = new Fs_root_dir(); orig_fil_tbl = new Orig_fil_tbl(); @@ -52,20 +52,20 @@ class Fs_root_dir_fxt { public Orig_fil_mok itm_() {return new Orig_fil_mok();} public void Init_fs(String url, int w, int h) {Save_img(url, w, h);} public void Test_get(String name, Orig_fil_mok expd) { - Orig_fil_itm actl = root_dir.Get_by_ttl(Bry_.new_utf8_(name)); + Orig_fil_itm actl = root_dir.Get_by_ttl(Bry_.new_u8(name)); expd.Test(actl); } public void Test_db(String ttl, Orig_fil_mok expd) { - Orig_fil_itm actl = orig_fil_tbl.Select_itm(Bry_.new_utf8_(ttl)); + Orig_fil_itm actl = orig_fil_tbl.Select_itm(Bry_.new_u8(ttl)); expd.Test(actl); } public static void Save_img(String url, int w, int h) { gplx.gfui.SizeAdp img_size = gplx.gfui.SizeAdp_.new_(w, h); - Io_mgr._.SaveFilStr(url, img_size.XtoStr()); + Io_mgr.I.SaveFilStr(url, img_size.XtoStr()); } public void Test_xto_fil_bry(String url_str, String expd) { Io_url url = Io_url_.new_fil_(url_str); - Tfds.Eq(expd, String_.new_utf8_(Fs_root_dir.Xto_fil_bry(url))); + Tfds.Eq(expd, String_.new_u8(Fs_root_dir.Xto_fil_bry(url))); } } class Orig_fil_mok { @@ -80,7 +80,7 @@ class Orig_fil_mok { this.uid = uid; this.url = url; this.w = w; this.h = h; this.name = Io_url_.new_any_(url).NameAndExt(); - this.ext_id = Xof_ext_.new_by_ttl_(Bry_.new_utf8_(name)).Id(); + this.ext_id = Xof_ext_.new_by_ttl_(Bry_.new_u8(name)).Id(); return this; } public void Test(Orig_fil_itm actl) { @@ -90,6 +90,6 @@ class Orig_fil_mok { if (url != null) Tfds.Eq(url, actl.Fil_url().Raw()); if (uid != -1) Tfds.Eq(uid, actl.Fil_uid()); if (ext_id != -1) Tfds.Eq(uid, actl.Fil_ext_id()); - if (name != null) Tfds.Eq(name, String_.new_utf8_(actl.Fil_name())); + if (name != null) Tfds.Eq(name, String_.new_u8(actl.Fil_name())); } } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_fsdb_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_fsdb_mgr.java index 2d1baac96..03d2d5ede 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_fsdb_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_fsdb_mgr.java @@ -23,11 +23,11 @@ public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { // read ima private Xowe_wiki wiki; private Fs_root_wkr_fsdb fsdb_wkr; public Fs_root_fsdb_mgr(Xowe_wiki wiki) {this.Init_by_wiki(wiki); fsdb_wkr = new Fs_root_wkr_fsdb(wiki);} public void Init_by_wiki(Xow_wiki wiki) {this.wiki = (Xowe_wiki)wiki;} - public void Fsdb_search_by_list(byte exec_tid, ListAdp itms, Xoa_page page, Xog_js_wkr js_wkr) { + public void Fsdb_search_by_list(List_adp itms, Xow_wiki wiki, Xoa_page page, Xog_js_wkr js_wkr) { int itms_len = itms.Count(); for (int i = 0; i < itms_len; i++) { - Xof_fsdb_itm itm = (Xof_fsdb_itm)itms.FetchAt(i); - if (fsdb_wkr.Find_file(exec_tid, itm)) + Xof_fsdb_itm itm = (Xof_fsdb_itm)itms.Get_at(i); + if (fsdb_wkr.Find_file(itm)) Js_img_mgr.Update_img(page, js_wkr, itm); } } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java index 3c46c9dae..cac0521d5 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java @@ -25,9 +25,9 @@ public class Fs_root_wkr_fsdb { private String_obj_ref tmp_resize_result = String_obj_ref.null_(); private Xof_img_size img_size = new Xof_img_size(); public Fs_root_wkr_fsdb(Xowe_wiki wiki) {this.wiki = wiki;} - public boolean Find_file(byte exec_tid, Xof_fsdb_itm fsdb_itm) { - byte[] lnki_ttl = fsdb_itm.Lnki_ttl(); - Orig_fil_itm orig_itm = orig_dir_mgr.Get_by_ttl(lnki_ttl); + public boolean Find_file(Xof_fsdb_itm fsdb_itm) { + byte[] orig_ttl = fsdb_itm.Orig_ttl(); + Orig_fil_itm orig_itm = orig_dir_mgr.Get_by_ttl(orig_ttl); if (orig_itm == Orig_fil_itm.Null) return false; Io_url orig_url = orig_itm.Fil_url(); if (fsdb_itm.File_is_orig()) { @@ -39,12 +39,12 @@ public class Fs_root_wkr_fsdb { else { String thumb_rel = orig_url.GenRelUrl_orEmpty(orig_dir); int upright_patch = wiki.File_mgr().Patch_upright(); - img_size.Html_size_calc(exec_tid, fsdb_itm.Lnki_w(), fsdb_itm.Lnki_h(), fsdb_itm.Lnki_type(), upright_patch, fsdb_itm.Lnki_upright(), fsdb_itm.Lnki_ext().Id(), orig_itm.Fil_w(), orig_itm.Fil_h(), Xof_img_size.Thumb_width_img); + img_size.Html_size_calc(fsdb_itm.Lnki_exec_tid(), fsdb_itm.Lnki_w(), fsdb_itm.Lnki_h(), fsdb_itm.Lnki_type(), upright_patch, fsdb_itm.Lnki_upright(), fsdb_itm.Orig_ext().Id(), orig_itm.Fil_w(), orig_itm.Fil_h(), Xof_img_size.Thumb_width_img); int html_w = img_size.Html_w(), html_h = img_size.Html_h(); String thumb_name = Int_.Xto_str(html_w) + orig_url.Ext(); Io_url thumb_url = thumb_dir.GenSubFil_ary(thumb_rel + orig_url.Info().DirSpr(), thumb_name); - if (!Io_mgr._.ExistsFil(thumb_url)) { - if (!wiki.Appe().File_mgr().Img_mgr().Wkr_resize_img().Exec(orig_url, thumb_url, html_w, html_h, fsdb_itm.Lnki_ext().Id(), tmp_resize_result)) + if (!Io_mgr.I.ExistsFil(thumb_url)) { + if (!wiki.Appe().File_mgr().Img_mgr().Wkr_resize_img().Exec(orig_url, thumb_url, html_w, html_h, fsdb_itm.Orig_ext().Id(), tmp_resize_result)) return false; } fsdb_itm.Html_size_(html_w, html_h); diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_itm.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_itm.java index 33516eabd..6cfbe5a85 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_itm.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_itm.java @@ -30,14 +30,14 @@ public class Orig_fil_itm { public Io_url Fil_url() { if (fil_url == null) { byte[] fil_url_bry = Bry_.Add(fil_dir_url, fil_name); - fil_url = Io_url_.new_fil_(String_.new_utf8_(fil_url_bry)); + fil_url = Io_url_.new_fil_(String_.new_u8(fil_url_bry)); } return fil_url; } private Io_url fil_url; public Orig_fil_itm Init_by_make(Io_url url, byte[] name_bry, int ext_id) { this.fil_url = url; this.fil_name = name_bry; - this.fil_dir_url = Bry_.new_utf8_(url.OwnerDir().Raw()); + this.fil_dir_url = Bry_.new_u8(url.OwnerDir().Raw()); this.fil_ext_id = ext_id; return this; } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_mgr.java index 100416aef..9c014b9e0 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Orig_fil_mgr.java @@ -17,8 +17,8 @@ along with this program. If not, see . */ package gplx.xowa.files.fsdb.fs_roots; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; class Orig_fil_mgr { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public boolean Has(byte[] lnki_ttl) {return hash.Has(lnki_ttl);} - public Orig_fil_itm Get_by_ttl(byte[] lnki_ttl) {return (Orig_fil_itm)hash.Fetch(lnki_ttl);} + public Orig_fil_itm Get_by_ttl(byte[] lnki_ttl) {return (Orig_fil_itm)hash.Get_by(lnki_ttl);} public void Add(Orig_fil_itm fil) {hash.Add(fil.Fil_name(), fil);} } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java b/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java index 4a8fcfbd1..da107af22 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java @@ -24,18 +24,18 @@ class Xof_file_fxt { private final Fsd_thm_itm tmp_thm = Fsd_thm_itm.new_(); private final Fsd_img_itm tmp_img = new Fsd_img_itm(); public void Rls() {} public void Reset() { - Io_mgr._.InitEngine_mem(); // NOTE: files are downloaded to mem_engine, regardless of Db being mem or sqlite; always reset + Io_mgr.I.InitEngine_mem(); // NOTE: files are downloaded to mem_engine, regardless of Db being mem or sqlite; always reset Io_url root_url = Xoa_test_.Url_root(); Xoa_test_.Db_init(root_url); app = Xoa_app_fxt.app_(Op_sys.Cur().Os_name(), root_url); wiki = Xoa_app_fxt.wiki_tst_(app); - wiki.File__fsdb_mode().Tid_make_y_(); + wiki.File__fsdb_mode().Tid_v2_bld_y_(); this.fsdb_mgr = (Xof_fsdb_mgr__sql)wiki.File_mgr().Fsdb_mgr(); this.orig_mgr = wiki.File__orig_mgr(); Xof_repo_fxt.Repos_init(app.File_mgr(), true, wiki); Xowe_wiki_bldr.Create(wiki, 1, "dump.xml"); Xowd_db_file text_db = wiki.Data_mgr__core_mgr().Dbs__make_by_tid(Xowd_db_file_.Tid_text); text_db.Tbl__text().Create_tbl(); - Fsdb_db_mgr__v2 fsdb_core = Fsdb_db_mgr__v2_bldr.I.Make(wiki, Bool_.Y); + Fsdb_db_mgr__v2 fsdb_core = Fsdb_db_mgr__v2_bldr.I.Get_or_make(wiki, Bool_.Y); fsdb_mgr.Mnt_mgr().Ctor_by_load(fsdb_core); fsdb_mgr.Mnt_mgr().Mnts__get_main().Bin_mgr().Dbs__make("temp.xowa"); wiki.File_mgr().Init_file_mgr_by_load(wiki); @@ -63,27 +63,27 @@ class Xof_file_fxt { public void Exec_get(Xof_exec_arg arg) { byte[] ttl_bry = arg.Ttl(); Xof_fsdb_itm itm = new Xof_fsdb_itm(); - itm.Ctor_by_lnki(ttl_bry, arg.Lnki_type(), arg.Lnki_w(), arg.Lnki_h(), Xof_patch_upright_tid_.Tid_all, arg.Lnki_upright(), arg.Lnki_time(), Xof_lnki_page.Null); - ListAdp itms_list = ListAdp_.new_(); itms_list.Add(itm); - orig_mgr.Find_by_list(OrderedHash_.new_bry_(), itms_list, Xof_exec_tid.Tid_wiki_page); + itm.Init_at_lnki(arg.Exec_tid(), wiki.Domain_itm().Abrv_xo(), ttl_bry, arg.Lnki_type(), arg.Lnki_upright(), arg.Lnki_w(), arg.Lnki_h(), arg.Lnki_time(), Xof_lnki_page.Null, Xof_patch_upright_tid_.Tid_all); + List_adp itms_list = List_adp_.new_(); itms_list.Add(itm); + orig_mgr.Find_by_list(Ordered_hash_.new_bry_(), itms_list, Xof_exec_tid.Tid_wiki_page); Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Xow_ns_.Id_main, ttl_bry); Xoae_page page = Xoae_page.new_(wiki, ttl); - fsdb_mgr.Fsdb_search_by_list(arg.Exec_tid(), itms_list, page, Xog_js_wkr_.Noop); + fsdb_mgr.Fsdb_search_by_list(itms_list, wiki, page, Xog_js_wkr_.Noop); if (arg.Rslt_orig_exists() != Bool_.__byte) Tfds.Eq(arg.Rslt_orig_exists() == Bool_.Y_byte, itm.Orig_exists(), "orig_exists"); if (arg.Rslt_file_exists() != Bool_.__byte) Tfds.Eq(arg.Rslt_file_exists() == Bool_.Y_byte, itm.File_exists(), "file_exists"); if (arg.Rslt_file_resized() != Bool_.__byte) Tfds.Eq(arg.Rslt_file_resized() == Bool_.Y_byte, itm.File_resized(), "file_resize"); } public void Test_fsys_exists_y(String url) {Test_fsys_exists(url, Bool_.Y);} public void Test_fsys_exists_n(String url) {Test_fsys_exists(url, Bool_.N);} - public void Test_fsys_exists(String url, boolean expd) {Tfds.Eq(expd, Io_mgr._.ExistsFil(Io_url_.new_any_(url)));} - public void Test_fsys(String url, String expd_bin) {Tfds.Eq(expd_bin, Io_mgr._.LoadFilStr(url));} + public void Test_fsys_exists(String url, boolean expd) {Tfds.Eq(expd, Io_mgr.I.ExistsFil(Io_url_.new_any_(url)));} + public void Test_fsys(String url, String expd_bin) {Tfds.Eq(expd_bin, Io_mgr.I.LoadFilStr(url));} } class Xof_repo_fxt { public static void Repos_init(Xof_file_mgr file_mgr, boolean src_repo_is_wmf, Xowe_wiki wiki) { - byte[] src_commons = Bry_.new_ascii_("src_commons"); - byte[] src_en_wiki = Bry_.new_ascii_("src_en_wiki"); - byte[] trg_commons = Bry_.new_ascii_("trg_commons"); - byte[] trg_en_wiki = Bry_.new_ascii_("trg_en_wiki"); + byte[] src_commons = Bry_.new_a7("src_commons"); + byte[] src_en_wiki = Bry_.new_a7("src_en_wiki"); + byte[] trg_commons = Bry_.new_a7("trg_commons"); + byte[] trg_en_wiki = Bry_.new_a7("trg_en_wiki"); Ini_repo_add(file_mgr, src_commons, "mem/src/commons.wikimedia.org/", Xow_domain_.Domain_str_commons, false); Ini_repo_add(file_mgr, src_en_wiki, "mem/src/en.wikipedia.org/" , Xow_domain_.Domain_str_enwiki, false); Ini_repo_add(file_mgr, trg_commons, "mem/root/common/", Xow_domain_.Domain_str_commons, true).Primary_(true); @@ -99,7 +99,7 @@ class Xof_repo_fxt { pair.Trg().Fsys_is_wnt_(true); } private static Xof_repo_itm Ini_repo_add(Xof_file_mgr file_mgr, byte[] key, String root, String wiki, boolean trg) { - return file_mgr.Repo_mgr().Set(String_.new_utf8_(key), root, wiki).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); + return file_mgr.Repo_mgr().Set(String_.new_u8(key), root, wiki).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); } } class Xof_orig_arg { @@ -116,9 +116,9 @@ class Xof_orig_arg { public static Xof_orig_arg new_comm_redirect(String src, String trg) {return new_(Bool_.Y, src, 440, 400, trg);} private static Xof_orig_arg new_(boolean repo_is_commons, String page, int w, int h) {return new_(repo_is_commons, page, w, h, null);} public static Xof_orig_arg new_(boolean repo_is_commons, String page, int w, int h, String redirect_str) { - byte repo = repo_is_commons ? Xof_repo_itm.Repo_remote : Xof_repo_itm.Repo_local; - byte[] redirect = redirect_str == null ? Bry_.Empty : Bry_.new_utf8_(redirect_str); - return new Xof_orig_arg(repo, Bry_.new_utf8_(page), w, h, redirect); + byte repo = repo_is_commons ? Xof_repo_itm_.Repo_remote : Xof_repo_itm_.Repo_local; + byte[] redirect = redirect_str == null ? Bry_.Empty : Bry_.new_u8(redirect_str); + return new Xof_orig_arg(repo, Bry_.new_u8(page), w, h, redirect); } } class Xof_fsdb_arg { @@ -145,10 +145,10 @@ class Xof_fsdb_arg { public static Xof_fsdb_arg new_wiki_thumb(String ttl, int w, int h) {return new_(Xow_domain_.Domain_bry_enwiki, Bool_.Y, ttl, w, h, Xof_lnki_time.Null_as_int);} public static Xof_fsdb_arg new_wiki_orig(String ttl, int w, int h) {return new_(Xow_domain_.Domain_bry_enwiki, Bool_.N, ttl, w, h, Xof_lnki_time.Null_as_int);} public static Xof_fsdb_arg new_(byte[] wiki, boolean is_thumb, String ttl_str, int w, int h, int time) { - byte[] ttl = Bry_.new_utf8_(ttl_str); + byte[] ttl = Bry_.new_u8(ttl_str); int ext = Xof_ext_.new_by_ttl_(ttl).Id(); String bin_str = ext == Xof_ext_.Id_svg ? file_svg_(w, h) : file_img_(w, h); - byte[] bin = Bry_.new_ascii_(bin_str); + byte[] bin = Bry_.new_a7(bin_str); return new Xof_fsdb_arg(wiki, ttl, is_thumb, ext, w, h, time, bin); } private static final int W_default = 220, H_default = 200; @@ -163,7 +163,7 @@ class Xof_exec_arg { public double Lnki_upright() {return lnki_upright;} public Xof_exec_arg Lnki_upright_(double v) {lnki_upright = v; return this;} private double lnki_upright = Xop_lnki_tkn.Upright_null; public int Lnki_time() {return lnki_time;} public Xof_exec_arg Lnki_time_(int v) {lnki_time = v; return this;} private int lnki_time = Xof_lnki_time.Null_as_int; public int Lnki_page() {return lnki_page;} public Xof_exec_arg Lnki_page_(int v) {lnki_page = v; return this;} private int lnki_page = Xof_lnki_page.Null; - public byte Exec_tid() {return exec_tid;} public Xof_exec_arg Exec_tid_(byte v) {exec_tid = v; return this;} private byte exec_tid = Xof_exec_tid.Tid_wiki_page; + public int Exec_tid() {return exec_tid;} public Xof_exec_arg Exec_tid_(int v) {exec_tid = v; return this;} private int exec_tid = Xof_exec_tid.Tid_wiki_page; public byte Rslt_orig_exists() {return rslt_orig_exists;} private byte rslt_orig_exists = Bool_.__byte; public byte Rslt_file_exists() {return rslt_file_exists;} private byte rslt_file_exists = Bool_.__byte; public byte Rslt_file_resized() {return rslt_file_resized;} private byte rslt_file_resized = Bool_.__byte; @@ -180,7 +180,7 @@ class Xof_exec_arg { public static Xof_exec_arg new_orig(String ttl) {return new_(ttl, Xop_lnki_type.Id_null, Xop_lnki_tkn.Width_null, Xop_lnki_tkn.Height_null);} public static Xof_exec_arg new_(String ttl, byte type, int w, int h) { Xof_exec_arg rv = new Xof_exec_arg(); - rv.ttl = Bry_.new_utf8_(ttl); + rv.ttl = Bry_.new_u8(ttl); rv.lnki_type = type; rv.lnki_w = w; rv.lnki_h = h; diff --git a/400_xowa/src/gplx/xowa/files/gui/Js_img_mgr.java b/400_xowa/src/gplx/xowa/files/gui/Js_img_mgr.java index 9bfac61b6..5e35fa002 100644 --- a/400_xowa/src/gplx/xowa/files/gui/Js_img_mgr.java +++ b/400_xowa/src/gplx/xowa/files/gui/Js_img_mgr.java @@ -19,25 +19,21 @@ package gplx.xowa.files.gui; import gplx.*; import gplx.xowa.*; import gplx.xowa import gplx.xowa.xtns.gallery.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.gui.views.*; public class Js_img_mgr { - public static void Update_img(Xoae_page page, Xof_xfer_itm itm) { - Xog_js_wkr js_wkr = Env_.Mode_testing() ? Xog_js_wkr_.Noop : page.Tab_data().Tab().Html_itm(); - Js_img_mgr.Update_img(page, js_wkr, itm.Html_img_wkr(), itm.Html_uid(), itm.Lnki_type(), itm.Html_elem_tid(), itm.Html_w(), itm.Html_h(), String_.new_utf8_(itm.Html_view_url()), itm.Orig_w(), itm.Orig_h(), String_.new_utf8_(itm.Html_orig_url()), itm.Lnki_ttl(), itm.Gallery_mgr_h()); - } - public static void Update_img(Xoa_page page, Xog_js_wkr js_wkr, Xof_fsdb_itm itm) { - Js_img_mgr.Update_img(page, js_wkr, itm.Html_img_wkr(), itm.Html_uid(), itm.Lnki_type(), itm.Html_elem_tid(), itm.Html_w(), itm.Html_h(), itm.Html_view_url().To_http_file_str(), itm.Orig_w(), itm.Orig_h(), itm.Html_orig_url().To_http_file_str(), itm.Lnki_ttl(), itm.Gallery_mgr_h()); + public static void Update_img(Xoa_page page, Xog_js_wkr js_wkr, Xof_file_itm itm) { + Js_img_mgr.Update_img(page, js_wkr, itm.Html_img_wkr(), itm.Html_uid(), itm.Lnki_type(), itm.Html_elem_tid(), itm.Html_w(), itm.Html_h(), itm.Html_view_url(), itm.Orig_w(), itm.Orig_h(), itm.Html_orig_url(), itm.Orig_ttl(), itm.Html_gallery_mgr_h()); } public static void Update_link_missing(Xog_html_itm html_itm, String html_id) { html_itm.Html_redlink(html_id); } - private static void Update_img(Xoa_page page, Xog_js_wkr js_wkr, Js_img_wkr img_wkr, int uid, byte lnki_type, byte elem_tid, int html_w, int html_h, String html_src, int orig_w, int orig_h, String orig_src, byte[] lnki_ttl, int gallery_mgr_h) { + private static void Update_img(Xoa_page page, Xog_js_wkr js_wkr, Js_img_wkr img_wkr, int uid, byte lnki_type, byte elem_tid, int html_w, int html_h, Io_url html_view_url, int orig_w, int orig_h, Io_url html_orig_url, byte[] lnki_ttl, int gallery_mgr_h) { if (!page.Wiki().App().App_type().Uid_is_gui()) return; // do not update html widget unless app is gui; null ref on http server; DATE:2014-09-17 switch (elem_tid) { case Xof_html_elem.Tid_gallery_v2: - img_wkr.Html_update(page, js_wkr, uid, html_w, html_h, html_src, orig_w, orig_h, orig_src, lnki_ttl); + img_wkr.Html_update(page, js_wkr, uid, html_w, html_h, html_view_url, orig_w, orig_h, html_orig_url, lnki_ttl); return; } - String html_id = "xowa_file_img_" + uid; - js_wkr.Html_img_update(html_id, html_src, html_w, html_h); + String html_id = To_doc_uid(uid); + js_wkr.Html_img_update(html_id, html_view_url.To_http_file_str(), html_w, html_h); if (Xop_lnki_type.Id_is_thumbable(lnki_type)) { // thumb needs to set cls and width js_wkr.Html_atr_set(html_id, "class", gplx.xowa.html.lnkis.Xoh_lnki_consts.Str_img_cls_thumbimage); js_wkr.Html_atr_set("xowa_file_div_" + uid, "style", "width:" + html_w + "px;"); @@ -47,13 +43,14 @@ public class Js_img_mgr { js_wkr.Html_atr_set("xowa_gallery_div3_" + uid, "style", "margin:" + Gallery_html_wtr_utl.Calc_vpad(gallery_mgr_h, html_h) + "px auto;"); break; case Xof_html_elem.Tid_imap: - img_wkr.Html_update(page, js_wkr, uid, html_w, html_h, html_src, orig_w, orig_h, orig_src, lnki_ttl); + img_wkr.Html_update(page, js_wkr, uid, html_w, html_h, html_view_url, orig_w, orig_h, html_orig_url, lnki_ttl); break; case Xof_html_elem.Tid_vid: String html_id_vid = "xowa_file_play_" + uid; js_wkr.Html_atr_set(html_id_vid, "style", "width:" + html_w + "px;max-width:" + (html_w - 2) + "px;"); - js_wkr.Html_atr_set(html_id_vid, "href", orig_src); + js_wkr.Html_atr_set(html_id_vid, "href", html_orig_url.To_http_file_str()); break; } } + public static String To_doc_uid(int html_uid) {return "xowa_file_img_" + Int_.Xto_str(html_uid);} } diff --git a/400_xowa/src/gplx/xowa/files/gui/Js_img_wkr.java b/400_xowa/src/gplx/xowa/files/gui/Js_img_wkr.java index 131eb971c..502578aec 100644 --- a/400_xowa/src/gplx/xowa/files/gui/Js_img_wkr.java +++ b/400_xowa/src/gplx/xowa/files/gui/Js_img_wkr.java @@ -18,5 +18,5 @@ along with this program. If not, see . package gplx.xowa.files.gui; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.gui.views.*; public interface Js_img_wkr { - void Html_update(Xoa_page page, Xog_js_wkr js_wkr, int html_uid, int html_w, int html_h, String html_src, int orig_w, int orig_h, String orig_src, byte[] lnki_ttl); + void Html_update(Xoa_page page, Xog_js_wkr js_wkr, int html_uid, int html_w, int html_h, Io_url html_view_url, int orig_w, int orig_h, Io_url html_orig_url, byte[] lnki_ttl); } diff --git a/400_xowa/src/gplx/xowa/files/gui/Xog_js_wkr__log.java b/400_xowa/src/gplx/xowa/files/gui/Xog_js_wkr__log.java index b37b5ccda..d3e2d5b2c 100644 --- a/400_xowa/src/gplx/xowa/files/gui/Xog_js_wkr__log.java +++ b/400_xowa/src/gplx/xowa/files/gui/Xog_js_wkr__log.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.files.gui; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; public class Xog_js_wkr__log implements Xog_js_wkr { - private final ListAdp log_list = ListAdp_.new_(); + private final List_adp log_list = List_adp_.new_(); public void Html_img_update (String uid, String src, int w, int h) {log_list.Add(Object_.Ary(Proc_img_update, uid, src, w, h));} public void Html_atr_set (String uid, String key, String val) {log_list.Add(Object_.Ary(Proc_atr_set, uid, key, val));} public void Html_redlink (String uid) {log_list.Add(Object_.Ary(Proc_redlink, uid));} @@ -27,7 +27,7 @@ public class Xog_js_wkr__log implements Xog_js_wkr { public void Log__clear() {log_list.Clear();} public int Log__len() {return log_list.Count();} - public Object[] Log__get_at(int i) {return (Object[])log_list.FetchAt(i);} + public Object[] Log__get_at(int i) {return (Object[])log_list.Get_at(i);} public static final String Proc_img_update = "img_update", Proc_atr_set = "atr_set", Proc_redlink = "redlink", Proc_replace_html = "replace_html", Proc_append_above = "append_above", Proc_doc_loaded = "doc_loaded"; } diff --git a/400_xowa/src/gplx/xowa/files/imgs/Xof_img_wkr_convert_djvu_to_tiff_.java b/400_xowa/src/gplx/xowa/files/imgs/Xof_img_wkr_convert_djvu_to_tiff_.java index 79be68010..20f65eaf8 100644 --- a/400_xowa/src/gplx/xowa/files/imgs/Xof_img_wkr_convert_djvu_to_tiff_.java +++ b/400_xowa/src/gplx/xowa/files/imgs/Xof_img_wkr_convert_djvu_to_tiff_.java @@ -30,7 +30,7 @@ class Xof_img_wkr_convert_djvu_to_tiff_app implements Xof_img_wkr_convert_djvu_t class Xof_img_wkr_convert_djvu_to_tiff_mok implements Xof_img_wkr_convert_djvu_to_tiff { public Xof_img_wkr_convert_djvu_to_tiff_mok(int w, int h) {this.w = w; this.h = h;} private int w, h; public boolean Exec(Io_url src, Io_url trg) { - Io_mgr._.SaveFilStr(trg, gplx.gfui.SizeAdp_.new_(w, h).XtoStr()); + Io_mgr.I.SaveFilStr(trg, gplx.gfui.SizeAdp_.new_(w, h).XtoStr()); return true; } } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xob_orig_tbl_bldr.java b/400_xowa/src/gplx/xowa/files/origs/Xob_orig_tbl_bldr.java index 7b4f01ae9..b09de2690 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xob_orig_tbl_bldr.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xob_orig_tbl_bldr.java @@ -24,7 +24,7 @@ public class Xob_orig_tbl_bldr extends Xob_itm_basic_base implements Xob_cmd { public void Cmd_init(Xob_bldr bldr) {} public void Cmd_bgn(Xob_bldr bldr) { Xof_fsdb_mode fsdb_mode = wiki.File__fsdb_mode(); - fsdb_mode.Tid_make_y_(); + fsdb_mode.Tid_v2_bld_y_(); wiki.Init_assert(); Fsdb_db_mgr db_core_mgr = Fsdb_db_mgr_.new_detect(wiki, wiki.Fsys_mgr().Root_dir(), wiki.Fsys_mgr().File_dir()); conn = db_core_mgr.File__orig_tbl_ary()[gplx.fsdb.meta.Fsm_mnt_mgr.Mnt_idx_main].Conn(); diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_itm.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_itm.java index 5c9c4480b..916c334f9 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_itm.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_itm.java @@ -19,23 +19,26 @@ package gplx.xowa.files.origs; import gplx.*; import gplx.xowa.*; import gplx.xo import gplx.xowa.wikis.*; import gplx.xowa.files.*; public class Xof_orig_itm { public byte Repo() {return repo;} private byte repo; - public byte[] Page() {return page;} private byte[] page; - public int Ext() {return ext;} private int ext; + public byte[] Ttl() {return ttl;} private byte[] ttl; // without file ns; EX: "A.png" not "File:A.png" + public int Ext_id() {return ext_id;} private int ext_id; + public Xof_ext Ext() {if (ext == null) ext = Xof_ext_.new_by_id_(ext_id); return ext;} private Xof_ext ext; public int W() {return w;} private int w; public int H() {return h;} private int h; public byte[] Redirect() {return redirect;} private byte[] redirect; // redirect trg; EX: A.png is redirected to B.jpg; record will have A.png|jpg|220|200|B.jpg where jpg|220|200 are the attributes of B.jpg public boolean Insert_new() {return insert_new;} public void Insert_new_y_() {insert_new = Bool_.Y;} private boolean insert_new; public void Clear() { this.repo = Repo_null; - this.page = this.redirect = null; - this.ext = Xof_ext_.Id_unknown; + this.ttl = this.redirect = null; + this.ext_id = Xof_ext_.Id_unknown; this.w = this.h = Xof_img_size.Null; + this.ext = null; } - public Xof_orig_itm Init(byte repo, byte[] page, int ext, int w, int h, byte[] redirect) { - this.repo = repo; this.page = page; this.ext = ext; + public Xof_orig_itm Init(byte repo, byte[] ttl, int ext_id, int w, int h, byte[] redirect) { + this.repo = repo; this.ttl = ttl; this.ext_id = ext_id; this.w = w; this.h = h; this.redirect = redirect; return this; } public static final byte Repo_comm = 0, Repo_wiki = 1, Repo_null = Byte_.Max_value_127; // SERIALIZED: "wiki_orig.orig_repo" public static final Xof_orig_itm Null = null; + public static final int File_len_null = -1; // file_len used for filters (EX: don't download ogg > 1 MB) } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_mgr.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_mgr.java index 43b6096d3..9a38f0d6b 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_mgr.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_mgr.java @@ -22,28 +22,35 @@ public class Xof_orig_mgr { private Xof_orig_wkr[] wkrs; private int wkrs_len; private Xof_url_bldr url_bldr; private Xow_repo_mgr repo_mgr; private final Xof_img_size img_size = new Xof_img_size(); public Xof_orig_mgr() {this.Wkrs__clear();} - public void Init_by_wiki(Xof_fsdb_mode fsdb_mode, Xof_orig_tbl[] orig_tbls, byte[] domain_bry, Xof_download_wkr download_wkr, Xow_repo_mgr repo_mgr, Xof_url_bldr url_bldr) { - this.repo_mgr = repo_mgr; this.url_bldr = url_bldr; - if (!fsdb_mode.Tid_wmf()) { // add view,make; don't add if wmf + public void Init_by_wiki(Xow_wiki wiki, Xof_fsdb_mode fsdb_mode, Xof_orig_tbl[] orig_tbls, Xof_url_bldr url_bldr) { + this.repo_mgr = wiki.File__repo_mgr(); this.url_bldr = url_bldr; +// if (!fsdb_mode.Tid_v0()) { // add view,make; don't add if wmf int orig_tbls_len = orig_tbls.length; for (int i = 0; i < orig_tbls_len; ++i) { Xof_orig_tbl orig_tbl = orig_tbls[i]; this.Wkrs__add_many(new Xof_orig_wkr__orig_db(orig_tbl, i == orig_tbls_len - 1)); } +// } + if (!fsdb_mode.Tid_v2_bld()) { // add if gui, but not if bld + Io_url wiki_meta_dir = wiki.App().Fsys_mgr().File_dir().GenSubDir_nest("#meta", wiki.Domain_str()); + if (Io_mgr.I.ExistsDir(wiki_meta_dir)) { + Xof_orig_wkr__xo_meta xo_meta = new Xof_orig_wkr__xo_meta(wiki_meta_dir); + this.Wkrs__add_many(xo_meta); + } + this.Wkrs__add_many(new Xof_orig_wkr__wmf_api(new Xoapi_orig_wmf(), wiki.App().Wmf_mgr().Download_wkr(), repo_mgr, wiki.Domain_bry())); } - if (!fsdb_mode.Tid_make()) // add view,wmf; don't add if make - this.Wkrs__add_many(new Xof_orig_wkr__wmf_api(new Xoapi_orig_wmf(), download_wkr, repo_mgr, domain_bry)); } - public Xof_orig_itm Find_by_ttl_or_null(byte[] ttl) { + public Xof_orig_itm Find_by_ttl_or_null(byte[] ttl) {return Find_by_ttl_or_null(ttl, 0, 1);} + public Xof_orig_itm Find_by_ttl_or_null(byte[] ttl, int list_idx, int list_len) { for (int i = 0; i < wkrs_len; i++) { Xof_orig_wkr wkr = wkrs[i]; - Xof_orig_itm orig = wkr.Find_as_itm(ttl); if (orig == Xof_orig_itm.Null) continue; - if (orig.Insert_new()) this.Insert(orig.Repo(), ttl, orig.Ext(), orig.W(), orig.H(), orig.Redirect()); // NOTE: orig_page must be same as find_arg not orig.Page() else will not be found for next call; DATE:2015-04-14 + Xof_orig_itm orig = wkr.Find_as_itm(ttl, list_idx, list_len); if (orig == Xof_orig_itm.Null) continue; + if (orig.Insert_new()) this.Insert(orig.Repo(), ttl, orig.Ext_id(), orig.W(), orig.H(), orig.Redirect()); // NOTE: orig_page must be same as find_arg not orig.Page() else will not be found for next call; DATE:2015-04-14 return orig; } return Xof_orig_itm.Null; } - public void Find_by_list(OrderedHash rv, ListAdp itms, byte exec_tid) { + public void Find_by_list(Ordered_hash rv, List_adp itms, int exec_tid) { for (int i = 0; i < wkrs_len; i++) { Xof_orig_wkr wkr = wkrs[i]; wkr.Find_by_list(rv, itms); @@ -51,12 +58,12 @@ public class Xof_orig_mgr { int len = itms.Count(); for (int i = 0; i < len; i++) { try { - Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.FetchAt(i); - fsdb.Orig_exists_n_(); // default to status = missing - Xof_orig_itm orig = (Xof_orig_itm)rv.Fetch(fsdb.Lnki_ttl()); if (orig == Xof_orig_itm.Null) continue; - if (orig.Insert_new()) this.Insert(orig.Repo(), fsdb.Lnki_ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); // NOTE: orig_page must be same as find_arg not orig.Page() else will not be found for next call; DATE:2015-04-14 - Xof_file_wkr.Eval_orig(exec_tid, orig, fsdb, url_bldr, repo_mgr, img_size); - if (!Io_mgr._.ExistsFil(fsdb.Html_view_url())) + Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.Get_at(i); + fsdb.Orig_exists_n_(); // default to status = missing + Xof_orig_itm orig = (Xof_orig_itm)rv.Get_by(fsdb.Lnki_ttl()); if (orig == Xof_orig_itm.Null) continue; + if (orig.Insert_new()) this.Insert(orig.Repo(), fsdb.Lnki_ttl(), orig.Ext_id(), orig.W(), orig.H(), orig.Redirect()); // NOTE: orig_page must be same as find_arg not orig.Page() else will not be found for next call; DATE:2015-04-14 + Xof_file_wkr.Eval_orig(orig, fsdb, url_bldr, repo_mgr, img_size); + if (!Io_mgr.I.ExistsFil(fsdb.Html_view_url())) fsdb.File_exists_n_(); } catch (Exception e) { Xoa_app_.Usr_dlg().Warn_many("", "", "orig: ~{0}", Err_.Message_gplx_brief(e)); @@ -75,13 +82,13 @@ public class Xof_orig_mgr { wkrs_len += v.length; } public void Wkrs_del(byte tid) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); for (int i = 0; i < wkrs_len; ++i) { Xof_orig_wkr wkr = wkrs[i]; if (wkr.Tid() == tid) continue; // do not add deleted wkr list.Add(wkr); } - wkrs = (Xof_orig_wkr[])list.Xto_ary_and_clear(Xof_orig_wkr.class); + wkrs = (Xof_orig_wkr[])list.To_ary_and_clear(Xof_orig_wkr.class); wkrs_len = wkrs.length; } } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl.java index 7a7890f92..faa45233a 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl.java @@ -41,7 +41,7 @@ public class Xof_orig_tbl implements RlsAble { } public void Rls() {} public void Create_tbl() {conn.Ddl_create_tbl(Db_meta_tbl.new_(tbl_name, flds, Db_meta_idx.new_normal_by_tbl(tbl_name, "main", fld_ttl)));} - public void Select_by_list(OrderedHash rv, ListAdp itms) {select_in_wkr.Init(rv, itms).Select_in(Cancelable_.Never, conn, 0, itms.Count());} + public void Select_by_list(Ordered_hash rv, List_adp itms) {select_in_wkr.Init(rv, itms).Select_in(Cancelable_.Never, conn, 0, itms.Count());} public Xof_orig_itm Select_itm(byte[] ttl) { Xof_orig_itm rv = Xof_orig_itm.Null; Db_rdr rdr = conn.Stmt_select(tbl_name, flds, fld_ttl).Clear().Crt_bry_as_str(fld_ttl, ttl).Exec_select__rls_auto(); @@ -88,18 +88,18 @@ public class Xof_orig_tbl implements RlsAble { } class Xof_orig_tbl__in_wkr extends Db_in_wkr__base { private Xof_orig_tbl tbl; private String tbl_name; private Db_meta_fld_list flds; private String fld_ttl; - private ListAdp itms; private OrderedHash rv; + private List_adp itms; private Ordered_hash rv; public void Ctor(Xof_orig_tbl tbl, String tbl_name, Db_meta_fld_list flds, String fld_ttl) { this.tbl = tbl; this.tbl_name = tbl_name; this.flds = flds; this.fld_ttl = fld_ttl; } - public Xof_orig_tbl__in_wkr Init(OrderedHash rv, ListAdp itms) {this.itms = itms; this.rv = rv; return this;} + public Xof_orig_tbl__in_wkr Init(Ordered_hash rv, List_adp itms) {this.itms = itms; this.rv = rv; return this;} @Override protected Db_qry Make_qry(int bgn, int end) { Object[] part_ary = In_ary(end - bgn); return Db_qry_.select_cols_(tbl_name, Db_crt_.in_(fld_ttl, part_ary), flds.To_str_ary()); } @Override protected void Fill_stmt(Db_stmt stmt, int bgn, int end) { for (int i = bgn; i < end; i++) { - Xof_fsdb_itm fsdb_itm = (Xof_fsdb_itm)itms.FetchAt(i); + Xof_fsdb_itm fsdb_itm = (Xof_fsdb_itm)itms.Get_at(i); stmt.Crt_bry_as_str(fld_ttl, fsdb_itm.Lnki_ttl()); } } @@ -108,8 +108,8 @@ class Xof_orig_tbl__in_wkr extends Db_in_wkr__base { if (cancelable.Canceled()) return; Xof_orig_itm itm = tbl.Make_itm(rdr); if (itm == Xof_orig_itm.Null) continue; - byte[] itm_ttl = itm.Page(); - rv.Add_if_new(itm_ttl, itm); // guard against dupes; fails on en.w:Paris; DATE:2015-03-08 + byte[] itm_ttl = itm.Ttl(); + rv.Add_if_dupe_use_1st(itm_ttl, itm); // guard against dupes; fails on en.w:Paris; DATE:2015-03-08 } } } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl_tst.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl_tst.java index e9095e84e..6227e0b36 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl_tst.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_tbl_tst.java @@ -32,28 +32,29 @@ class Xof_orig_tbl_fxt { private Xof_orig_tbl tbl; public void Clear() { Io_url test_url = Io_url_.mem_fil_("mem/file/en.wikipedia.org/file/orig_regy"); + Db_conn_bldr.I.Reg_default_mem(); Db_conn conn = Db_conn_bldr.I.New(test_url); tbl = new Xof_orig_tbl(conn, Bool_.Y); tbl.Create_tbl(); } public Xof_orig_itm Exec_insert(String ttl, int w, int h) { - byte[] ttl_bry = Bry_.new_utf8_(ttl); + byte[] ttl_bry = Bry_.new_u8(ttl); Xof_orig_itm rv = new Xof_orig_itm().Init(Xof_orig_itm.Repo_comm, ttl_bry, Xof_ext_.new_by_ttl_(ttl_bry).Id(), w, h, Bry_.Empty); - tbl.Insert(rv.Repo(), rv.Page(), rv.Ext(), rv.W(), rv.H(), rv.Redirect()); + tbl.Insert(rv.Repo(), rv.Ttl(), rv.Ext_id(), rv.W(), rv.H(), rv.Redirect()); return rv; } public void Test_select_in(String[] itms, Xof_orig_itm... expd) { - OrderedHash rv = OrderedHash_.new_(); - ListAdp list = ListAdp_.new_(); + Ordered_hash rv = Ordered_hash_.new_(); + List_adp list = List_adp_.new_(); int itms_len = itms.length; for (int i = 0; i < itms_len; ++i) { String itm = itms[i]; Xof_fsdb_itm fsdb_itm = new Xof_fsdb_itm(); - fsdb_itm.Ctor_by_lnki(Bry_.new_utf8_(itm), Xop_lnki_type.Id_none, Xof_img_size.Null, Xof_img_size.Null, Xof_patch_upright_tid_.Tid_all, Xof_img_size.Upright_null, Xof_lnki_time.Null, Xof_lnki_page.Null); + fsdb_itm.Init_at_lnki(Xof_exec_tid.Tid_wiki_page, Bry_.new_a7("en.w"), Bry_.new_u8(itm), Xop_lnki_type.Id_none, Xof_img_size.Upright_null, Xof_img_size.Null, Xof_img_size.Null, Xof_lnki_time.Null, Xof_lnki_page.Null, Xof_patch_upright_tid_.Tid_all); list.Add(fsdb_itm); } tbl.Select_by_list(rv, list); - Tfds.Eq_str_lines(To_str_ary(expd), To_str_ary((Xof_orig_itm[])rv.Xto_ary(Xof_orig_itm.class))); + Tfds.Eq_str_lines(To_str_ary(expd), To_str_ary((Xof_orig_itm[])rv.To_ary(Xof_orig_itm.class))); } private static String To_str_ary(Xof_orig_itm... ary) { Bry_bfr bfr = Bry_bfr.reset_(255); @@ -61,8 +62,8 @@ class Xof_orig_tbl_fxt { for (int i = 0; i < len; ++i) { Xof_orig_itm itm = ary[i]; bfr .Add_byte(itm.Repo()).Add_byte_pipe() - .Add(itm.Page()).Add_byte_pipe() - .Add_int_variable(itm.Ext()).Add_byte_pipe() + .Add(itm.Ttl()).Add_byte_pipe() + .Add_int_variable(itm.Ext_id()).Add_byte_pipe() .Add_int_variable(itm.W()).Add_byte_pipe() .Add_int_variable(itm.H()).Add_byte_pipe() .Add(itm.Redirect()).Add_byte_pipe() diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr.java index 6c65d78c9..60a24bb8f 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr.java @@ -19,8 +19,8 @@ package gplx.xowa.files.origs; import gplx.*; import gplx.xowa.*; import gplx.xo import gplx.xowa.files.fsdb.*; public interface Xof_orig_wkr { byte Tid(); - Xof_orig_itm Find_as_itm(byte[] ttl); - void Find_by_list(OrderedHash rv, ListAdp itms); + Xof_orig_itm Find_as_itm(byte[] ttl, int list_idx, int list_len); + void Find_by_list(Ordered_hash rv, List_adp itms); boolean Add_orig(byte repo, byte[] page, int ext_id, int w, int h, byte[] redirect); void Db_txn_save(); void Db_rls(); diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr_.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr_.java index 43043ae14..782f37933 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr_.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr_.java @@ -16,11 +16,24 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files.origs; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.xowa.wmfs.apis.*; +import gplx.xowa.wmfs.apis.*; import gplx.xowa.files.fsdb.*; public class Xof_orig_wkr_ { public static final Xof_orig_wkr[] Ary_empty = new Xof_orig_wkr[0]; + public static void Find_by_list(Xof_orig_wkr wkr, Ordered_hash rv, List_adp itms) { + int len = itms.Count(); + for (int i = 0; i < len; ++i) { + Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.Get_at(i); + byte[] fsdb_ttl = fsdb.Lnki_ttl(); + if (rv.Has(fsdb_ttl)) continue; + Xof_orig_itm orig = wkr.Find_as_itm(fsdb_ttl, i, len); + if (orig == Xof_orig_itm.Null) continue; + rv.Add(fsdb_ttl, orig); + } + } + public static final byte Tid_xowa_db = 1 , Tid_wmf_api = 2 + , Tid_xowa_meta = 3 ; } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__orig_db.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__orig_db.java index 7f52ccd12..13829aef9 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__orig_db.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__orig_db.java @@ -22,8 +22,8 @@ public class Xof_orig_wkr__orig_db implements Xof_orig_wkr { public Xof_orig_wkr__orig_db(Xof_orig_tbl tbl, boolean addable) {this.tbl = tbl; this.addable = addable;} public byte Tid() {return Xof_orig_wkr_.Tid_xowa_db;} public Xof_orig_tbl Tbl() {return tbl;} private final Xof_orig_tbl tbl; - public void Find_by_list(OrderedHash rv, ListAdp itms) {tbl.Select_by_list(rv, itms);} - public Xof_orig_itm Find_as_itm(byte[] ttl) {return tbl.Select_itm(ttl);} + public void Find_by_list(Ordered_hash rv, List_adp itms) {tbl.Select_by_list(rv, itms);} + public Xof_orig_itm Find_as_itm(byte[] ttl, int list_idx, int list_len) {return tbl.Select_itm(ttl);} public boolean Add_orig(byte repo, byte[] page, int ext_id, int w, int h, byte[] redirect) { if (!addable) return false; if (tbl.Exists__repo_ttl(repo, page)) diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__wmf_api.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__wmf_api.java index 74d70954c..ec32614ef 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__wmf_api.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__wmf_api.java @@ -24,18 +24,9 @@ public class Xof_orig_wkr__wmf_api implements Xof_orig_wkr { this.orig_api = orig_api; this.download_wkr = download_wkr; this.repo_mgr = repo_mgr; this.wiki_domain = wiki_domain; } public byte Tid() {return Xof_orig_wkr_.Tid_wmf_api;} - public void Find_by_list(OrderedHash rv, ListAdp itms) { - int len = itms.Count(); - for (int i = 0; i < len; ++i) { - Xof_fsdb_itm fsdb = (Xof_fsdb_itm)itms.FetchAt(i); - byte[] fsdb_ttl = fsdb.Lnki_ttl(); - if (rv.Has(fsdb_ttl)) continue; - Xof_orig_itm orig = Find_as_itm(fsdb_ttl); - if (orig == Xof_orig_itm.Null) continue; - rv.Add(fsdb_ttl, orig); - } - } - public Xof_orig_itm Find_as_itm(byte[] ttl) { + public void Find_by_list(Ordered_hash rv, List_adp itms) {Xof_orig_wkr_.Find_by_list(this, rv, itms);} + public Xof_orig_itm Find_as_itm(byte[] ttl, int list_idx, int list_len) { + Xoa_app_.Usr_dlg().Prog_none("", "", Prog_msg(list_idx, list_len, ttl)); boolean found = orig_api.Api_query_size(api_rv, download_wkr, repo_mgr, ttl, Xof_img_size.Null, Xof_img_size.Null); // pass in null size to look for orig; DATE:2015-02-10 if (!found) return Xof_orig_itm.Null; // ttl not found by api; return byte api_repo = Bry_.Eq(api_rv.Orig_wiki(), wiki_domain) ? Xof_orig_itm.Repo_wiki : Xof_orig_itm.Repo_comm; @@ -57,4 +48,7 @@ public class Xof_orig_wkr__wmf_api implements Xof_orig_wkr { int actl_ext_id = is_audio ? Xof_ext_.Id_oga : Xof_ext_.Id_ogv; return Xof_ext_.new_by_id_(actl_ext_id); } + private static String Prog_msg(int idx, int len, byte[] ttl) { + return String_.Format("downloading file {0} of {1}: {2}", idx + List_adp_.Base1, len, ttl); + } } diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__xo_meta.java b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__xo_meta.java new file mode 100644 index 000000000..43e3eefef --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_orig_wkr__xo_meta.java @@ -0,0 +1,50 @@ +/* +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.files.origs; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.flds.*; +import gplx.dbs.*; import gplx.xowa.files.fsdb.*; +public class Xof_orig_wkr__xo_meta implements Xof_orig_wkr { + private final Io_url wiki_meta_dir; private final byte dir_spr_byte; private final Bry_bfr url_bfr = Bry_bfr.new_(255); + private final Gfo_fld_rdr meta_rdr = Gfo_fld_rdr.xowa_(); private final Xof_meta_thumb_parser parser = new Xof_meta_thumb_parser(); + public Xof_orig_wkr__xo_meta(Io_url wiki_meta_dir) {this.wiki_meta_dir = wiki_meta_dir; this.dir_spr_byte = wiki_meta_dir.Info().DirSpr_byte();} + public byte Tid() {return Xof_orig_wkr_.Tid_xowa_meta;} + public void Find_by_list(Ordered_hash rv, List_adp itms) {Xof_orig_wkr_.Find_by_list(this, rv, itms);} + public Xof_orig_itm Find_as_itm(byte[] ttl, int list_idx, int list_len) { + byte[] md5 = Xof_file_wkr_.Md5_(ttl); + url_bfr.Add(wiki_meta_dir.RawBry()) // /xowa/file/#meta/simple.wikipedia.org/ + .Add_byte(md5[0]).Add_byte(dir_spr_byte) // 0/ + .Add_byte(md5[1]).Add_byte(dir_spr_byte) // 6/ + .Add_mid(md5, 0, 3).Add_str_a7(".csv") // 061.csv + ; + Io_url meta_url = Io_url_.new_fil_(url_bfr.Xto_str_and_clear()); + byte[] meta_src = Io_mgr.I.LoadFilBry(meta_url); if (meta_src.length == 0) return Xof_orig_itm.Null; + meta_rdr.Ini(meta_src, 0); + Xof_meta_fil meta_fil = new Xof_meta_fil(null, md5); // NOTE: need to register file before loading it; defect wherein 2 files with same hash prefix would skip one b/c Loaded file was not registered; EX.WS: en.wikiquote.org/The Hitchhiker's Guide to the Galaxy; NMMP_dolphin_with_locator.jpeg, da6f95736ed249f371f30bf5f1205fbd; Hoags_object.jpg, daed4a54e48e4266bd2f2763b7c4018c + meta_fil.Load(meta_rdr, parser); + Xof_meta_itm meta_itm = meta_fil.Get_or_null(ttl); if (meta_itm == null) return Xof_orig_itm.Null; + Xof_orig_itm rv = new Xof_orig_itm(); + rv.Init((byte)meta_itm.Vrtl_repo(), ttl, Xof_ext_.new_by_ttl_(ttl).Id(), meta_itm.Orig_w(), meta_itm.Orig_h(), meta_itm.Ptr_ttl()); + rv.Insert_new_y_(); + return rv; + } + public boolean Add_orig(byte repo, byte[] page, int ext_id, int w, int h, byte[] redirect) { + return false; + } + public void Db_txn_save() {} + public void Db_rls() {} +} diff --git a/400_xowa/src/gplx/xowa/files/origs/Xof_wiki_finder.java b/400_xowa/src/gplx/xowa/files/origs/Xof_wiki_finder.java index 35764d665..0af5ac95c 100644 --- a/400_xowa/src/gplx/xowa/files/origs/Xof_wiki_finder.java +++ b/400_xowa/src/gplx/xowa/files/origs/Xof_wiki_finder.java @@ -32,7 +32,7 @@ class Xof_wiki_finder { // UNUSED private Xoae_page Get_page__by_wiki(Xowe_wiki wiki, int ns_id, byte[] ttl_bry) { Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ns_id, ttl_bry) ; Xoa_url url = Xoa_url.new_(wiki.Domain_bry(), ttl_bry); - return wiki.GetPageByTtl(url, ttl); + return wiki.Load_page_by_ttl(url, ttl); } private int qry_count, qry_count_max = 1000; public boolean Find_page(Xof_wiki_finder_itm itm, int ns_id, byte[] ttl_bry) { diff --git a/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm.java b/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm.java index 3d9cc9b56..3c40b921d 100644 --- a/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm.java +++ b/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm.java @@ -17,93 +17,60 @@ along with this program. If not, see . */ package gplx.xowa.files.repos; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.core.btries.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.files.exts.*; +import gplx.xowa.wikis.*; import gplx.xowa.wikis.domains.*; public class Xof_repo_itm implements GfoInvkAble { - private final Xoa_fsys_mgr app_fsys; private final Xof_rule_mgr ext_rule_mgr; - public Xof_repo_itm(byte[] key, Xoa_fsys_mgr app_fsys, Xof_rule_mgr ext_rule_mgr) { + private final Xoa_fsys_mgr app_fsys; private final Xof_rule_mgr ext_rule_mgr; private final Bry_bfr tmp_bfr = Bry_bfr.reset_(300); + public Xof_repo_itm(byte[] key, Xoa_fsys_mgr app_fsys, Xof_rule_mgr ext_rule_mgr, byte[] wiki_domain) { this.key = key; this.app_fsys = app_fsys; this.ext_rule_mgr = ext_rule_mgr; + Wiki_domain_(wiki_domain); } - public byte[] Key() {return key;} private final byte[] key; - public boolean Wmf_fsys() {return wmf_fsys;} public Xof_repo_itm Wmf_fsys_(boolean v) {wmf_fsys = v; return this;} private boolean wmf_fsys; - public boolean Wmf_api() {return wmf_api;} public Xof_repo_itm Wmf_api_(boolean v) {wmf_api = v; return this;} private boolean wmf_api; - public boolean Tarball() {return tarball;} public Xof_repo_itm Tarball_(boolean v) {tarball = v; return this;} private boolean tarball; - public byte Dir_spr() {return dir_spr;} private byte dir_spr; - public byte[] Root() {return root;} private byte[] root; - public String Root_str() {return root_str;} private String root_str; - public Io_url Root_url() {return root_url;} Io_url root_url; - public boolean Fsys_is_wnt() {return fsys_is_wnt;} public Xof_repo_itm Fsys_is_wnt_(boolean v) {fsys_is_wnt = v; return this;} private boolean fsys_is_wnt; - public byte[] Root_http() {return root_http;} private byte[] root_http = Bry_.Empty; - public byte[] Wiki_key() {return wiki_key;} public Xof_repo_itm Wiki_key_(byte[] v) {wiki_key = v; return this;} private byte[] wiki_key; - public int Ttl_max() {return ttl_max;} public Xof_repo_itm Ttl_max_(int v) {ttl_max = v; return this;} private int ttl_max = 180; - public byte[][] Mode_names() {return mode_names;} private byte[][] mode_names = new byte[][] {Mode_names_key[0], Mode_names_key[1]}; - public static final byte[][] Mode_names_key = new byte[][] {Bry_.new_utf8_("orig"), Bry_.new_utf8_("thumb")}; - public Xof_rule_grp Ext_rules() {return ext_rules;} public Xof_repo_itm Ext_rules_(Xof_rule_grp v) {ext_rules = v; return this;} private Xof_rule_grp ext_rules; - public int Dir_depth() {return dir_depth;} public Xof_repo_itm Dir_depth_(int v) {dir_depth = v; return this;} private int dir_depth = 4; - public boolean Primary() {return primary;} public Xof_repo_itm Primary_(boolean v) {primary = v; return this;} private boolean primary; - public Xof_repo_itm Root_str_(String v) { - this.root_str = v; - root = Bry_.new_utf8_(root_str); - wmf_fsys = String_.HasAtBgn(root_str, "http") || String_.HasAtBgn(root_str, "ftp"); + public byte[] Key() {return key;} private final byte[] key; + public byte[] Wiki_domain() {return wiki_domain;} private byte[] wiki_domain; + public byte[] Wiki_abrv_xo() {return wiki_abrv_xo;} private byte[] wiki_abrv_xo; + public byte[] Root_bry() {return root_bry;} private byte[] root_bry; + public byte[] Root_http() {return root_http;} private byte[] root_http = Bry_.Empty; + public byte Dir_spr() {return dir_spr;} private byte dir_spr; + public boolean Fsys_is_wnt() {return fsys_is_wnt;} public Xof_repo_itm Fsys_is_wnt_(boolean v) {fsys_is_wnt = v; return this;} private boolean fsys_is_wnt; + public boolean Wmf_fsys() {return wmf_fsys;} public Xof_repo_itm Wmf_fsys_(boolean v) {wmf_fsys = v; return this;} private boolean wmf_fsys; + public boolean Wmf_api() {return wmf_api;} public Xof_repo_itm Wmf_api_(boolean v) {wmf_api = v; return this;} private boolean wmf_api; + public boolean Tarball() {return tarball;} public Xof_repo_itm Tarball_(boolean v) {tarball = v; return this;} private boolean tarball; + public byte[][] Mode_names() {return mode_names;} private byte[][] mode_names = new byte[][] {Xof_repo_itm_.Mode_names_key[0], Xof_repo_itm_.Mode_names_key[1]}; + public int Dir_depth() {return dir_depth;} public Xof_repo_itm Dir_depth_(int v) {dir_depth = v; return this;} private int dir_depth = 4; + public Xof_rule_grp Ext_rules() {return ext_rules;} private Xof_rule_grp ext_rules; + public Xof_repo_itm Ext_rules_(byte[] ext_rules_key) {ext_rules = ext_rule_mgr.Get_or_new(ext_rules_key); return this;} + public boolean Primary() {return primary;} public Xof_repo_itm Primary_(boolean v) {primary = v; return this;} private boolean primary; + public void Wiki_domain_(byte[] v) { + this.wiki_domain = v; + Xow_domain domain_itm = Xow_domain_.parse(v); + if (domain_itm == null) { + Xoa_app_.Usr_dlg().Warn_many("", "", "repo:invalid domain; raw=~{0}", v); + this.wiki_abrv_xo = Bry_.Empty; + } + else + this.wiki_abrv_xo = Xow_domain_abrv_xo_.To_bry(v, domain_itm.Lang_itm(), domain_itm.Domain_type()); + } + public Xof_repo_itm Root_str_(String root_str) { + this.wmf_fsys = String_.HasAtBgn(root_str, "http") || String_.HasAtBgn(root_str, "ftp"); if (wmf_fsys) { - root_url = Io_url_.Null; - dir_spr = Byte_ascii.Slash; - wmf_api = true; + this.root_bry = Bry_.new_u8(root_str); + this.dir_spr = Byte_ascii.Slash; + this.wmf_api = true; } else { - root_url = App_cmd_arg.Val_as_url_rel_url_or(root_str, app_fsys.File_dir(), Io_url_.new_dir_(root_str), true); - dir_spr = root_url.Info().DirSpr_byte(); - root_http = root_url.To_http_file_bry(); - root = root_url.RawBry(); + Io_url root_url = App_cmd_arg.Val_as_url_rel_url_or(root_str, app_fsys.File_dir(), Io_url_.new_dir_(root_str), true); + this.root_bry = root_url.RawBry(); + this.dir_spr = root_url.Info().DirSpr_byte(); + this.root_http = root_url.To_http_file_bry(); } return this; } - public static byte[] Ttl_invalid_fsys_chars(byte[] ttl) { - int ttl_len = ttl.length; - for (int i = 0; i < ttl_len; i++) { - byte b = ttl[i]; - Object o = wnt_trie.Match_bgn_w_byte(b, ttl, i, ttl_len); - 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.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; - int exceed_len = rv.length - ttl_max; - if (exceed_len > 0) { - wnt_tmp_bfr.Add_mid(rv, 0, ttl_max - 33); // add truncated title; 33=_.length + md5.length - wnt_tmp_bfr.Add_byte(Byte_ascii.Underline); // add underline; EX: "_" - 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.Xto_bry_and_clear(); - } - return rv; - } public byte[] Gen_name_src(byte[] name) { if (!fsys_is_wnt || wmf_fsys) return name; - int name_len = name.length; - for (int i = 0; i < name_len; i++) { - byte b = name[i]; - Object o = trie.Match_bgn_w_byte(b, name, i, name_len); - if (o == null) tmp_bfr.Add_byte(b); - else tmp_bfr.Add((byte[])o); - } - byte[] rv = tmp_bfr.Xto_bry_and_clear(); - return rv; - } private final Bry_bfr tmp_bfr = Bry_bfr.reset_(300); + return Xof_repo_itm_.Ttl_invalid_fsys_chars(tmp_bfr, name); + } public byte[] Gen_name_trg(byte[] bry, byte[] md5, Xof_ext ext) { byte[] rv = Gen_name_src(bry); - byte[] ext_bry = ext.Ext(); - int exceed_len = rv.length - ttl_max; - if (exceed_len > 0) { - tmp_bfr.Add_mid(rv, 0, ttl_max - 33); // add truncated title; 33=_.length + md5.length - tmp_bfr.Add_byte(Byte_ascii.Underline); // add underline; EX: "_" - tmp_bfr.Add(md5); // add md5; EX: "abcdefghijklmnopqrstuvwxyz0123456" - tmp_bfr.Add_byte(Byte_ascii.Dot); - tmp_bfr.Add(ext_bry); - rv = tmp_bfr.Xto_bry_and_clear(); - } - return rv; + return Xof_repo_itm_.Ttl_shorten_ttl(tmp_bfr, rv, ttl_max_len, md5, ext.Ext()); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_owner)) throw Err_.not_implemented_msg_("deprecated repo_itm.owner"); @@ -114,27 +81,7 @@ public class Xof_repo_itm implements GfoInvkAble { else if (ctx.Match(k, Invk_tarball_)) tarball = m.ReadYn("v"); else return GfoInvkAble_.Rv_unhandled; return this; - } private static final String Invk_owner = "owner", Invk_fsys_ = "fsys_", Invk_ext_rules_ = "ext_rules_", Invk_primary_ = "primary_", Invk_wmf_api_ = "wmf_api_", Invk_tarball_ = "tarball_"; - public Xof_repo_itm Ext_rules_(byte[] ext_rules_key) {ext_rules = ext_rule_mgr.Get_or_new(ext_rules_key); return this;} - public static final int Thumb_default_null = -1; - public static final byte Mode_orig = 0, Mode_thumb = 1, Mode_nil = Byte_.Max_value_127; - public static final byte Repo_remote = 0, Repo_local = 1, Repo_unknown = 126, Repo_null = Byte_.Max_value_127; - public static boolean Repo_is_known(byte repo) { - switch (repo) { - case Repo_remote: - case Repo_local: return true; - default: return false; - } - } - public static final int Dir_depth_null = -1, Dir_depth_wmf = 2, Dir_depth_xowa = 4; - private static final 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(); - byte[] underline = new byte[] {Byte_ascii.Underline}; - int len = invalid.length; - for (int i = 0; i < len; i++) - rv.Add_obj(new byte[] {invalid[i]}, underline); - return rv; } + private static final String Invk_owner = "owner", Invk_fsys_ = "fsys_", Invk_ext_rules_ = "ext_rules_", Invk_primary_ = "primary_", Invk_wmf_api_ = "wmf_api_", Invk_tarball_ = "tarball_"; + private static final int ttl_max_len = 180; } diff --git a/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm_.java b/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm_.java new file mode 100644 index 000000000..d766de5a7 --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/repos/Xof_repo_itm_.java @@ -0,0 +1,56 @@ +/* +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.files.repos; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.btries.*; +public class Xof_repo_itm_ { + public static final int Dir_depth_null = -1, Dir_depth_wmf = 2, Dir_depth_xowa = 4; + public static final byte Mode_orig = 0, Mode_thumb = 1, Mode_nil = Byte_.Max_value_127; + public static byte Mode_by_bool(boolean is_thumb) {return is_thumb ? Mode_thumb : Mode_orig;} + public static final byte[][] Mode_names_key = new byte[][] {Bry_.new_u8("orig"), Bry_.new_u8("thumb")}; + public static final byte Repo_remote = 0, Repo_local = 1, Repo_unknown = 126, Repo_null = Byte_.Max_value_127; + public static byte Repo_by_bool(boolean is_commons) {return is_commons ? Repo_remote : Repo_local;} + public static boolean Repo_is_known(byte repo) { + switch (repo) { + case Repo_remote: + case Repo_local: return true; + default: return false; + } + } + public static byte[] Ttl_invalid_fsys_chars(Bry_bfr bfr, byte[] ttl) { + int ttl_len = ttl.length; + for (int i = 0; i < ttl_len; i++) { + byte b = ttl[i]; + if (Op_sys_.Wnt_invalid_char(b)) b = Byte_ascii.Underline; + bfr.Add_byte(b); + } + return bfr.Xto_bry_and_clear(); + } + public static byte[] Ttl_shorten_ttl(Bry_bfr bfr, byte[] ttl, int ttl_max, byte[] md5, byte[] ext_bry) { + byte[] rv = ttl; + int exceed_len = rv.length - ttl_max; + if (exceed_len > 0) { + bfr.Add_mid(rv, 0, ttl_max - 33); // add truncated title; 33=_.length + md5.length + bfr.Add_byte(Byte_ascii.Underline); // add underline; EX: "_" + bfr.Add(md5); // add md5; EX: "abcdefghijklmnopqrstuvwxyz0123456" + bfr.Add_byte(Byte_ascii.Dot); // add dot; EX: "." + bfr.Add(ext_bry); // add ext; EX: ".png" + rv = bfr.Xto_bry_and_clear(); + } + return rv; + } +} diff --git a/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr.java b/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr.java index ee8620518..082ad7843 100644 --- a/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr.java +++ b/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr.java @@ -18,7 +18,8 @@ along with this program. If not, see . package gplx.xowa.files.repos; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; public interface Xow_repo_mgr { Xof_repo_pair Repos_get_at(int i); - Xof_repo_pair Repos_get_by_id(int id); Xof_repo_pair Repos_get_by_wiki(byte[] wiki); Xof_repo_pair[] Repos_ary(); + Xof_repo_itm Get_trg_by_id_or_null(int id, byte[] lnki_ttl, byte[] page_url); + Xof_repo_itm Get_src_by_id_or_null(int id, byte[] lnki_ttl, byte[] page_url); } diff --git a/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr_.java b/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr_.java new file mode 100644 index 000000000..c2214965e --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/repos/Xow_repo_mgr_.java @@ -0,0 +1,42 @@ +/* +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.files.repos; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.xowa.apps.fsys.*; import gplx.xowa.files.exts.*; import gplx.xowa.wikis.*; +public class Xow_repo_mgr_ { + public static void Assert_repos(Xoae_app app, Xowe_wiki wiki) { + Xoa_repo_mgr repo_mgr = app.File_mgr().Repo_mgr(); + Xoa_fsys_mgr app_fsys_mgr = app.Fsys_mgr(); + Xof_rule_mgr ext_rule_mgr = app.File_mgr().Ext_rules(); + byte[] domain_bry = wiki.Domain_bry(); + Xof_repo_itm repo_itm = repo_mgr.Get_by(domain_bry); + if (repo_itm == null) { // no repo for wiki exists; create it; + repo_itm = new Xof_repo_itm(domain_bry, app_fsys_mgr, ext_rule_mgr, domain_bry); + repo_mgr.Add(repo_itm); + } + Xowe_repo_mgr pair_mgr = wiki.File_mgr().Repo_mgr(); + if (pair_mgr.Repos_len() == 0) { // no pairs defined; add at least 1 + Xof_repo_itm repo_src = repo_mgr.Get_by(File_repo_xowa_null); + if (repo_src == null) { + repo_itm = new Xof_repo_itm(File_repo_xowa_null, app_fsys_mgr, ext_rule_mgr, Xow_domain_type_.Key_bry_home); + repo_mgr.Add(repo_itm); + } + pair_mgr.Add_repo(File_repo_xowa_null, domain_bry); + } + } + private static byte[] File_repo_xowa_null = Bry_.new_a7("xowa_repo_null"); +} diff --git a/400_xowa/src/gplx/xowa/files/repos/Xowe_repo_mgr.java b/400_xowa/src/gplx/xowa/files/repos/Xowe_repo_mgr.java index c42058103..7240fed8c 100644 --- a/400_xowa/src/gplx/xowa/files/repos/Xowe_repo_mgr.java +++ b/400_xowa/src/gplx/xowa/files/repos/Xowe_repo_mgr.java @@ -16,9 +16,9 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files.repos; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.xowa.wikis.*; +import gplx.xowa.wikis.*; import gplx.xowa.files.xfers.*; public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { - private Xowe_wiki wiki; private final ListAdp repos = ListAdp_.new_(); + private Xowe_wiki wiki; private final List_adp repos = List_adp_.new_(); public Xowe_repo_mgr(Xowe_wiki wiki) { this.wiki = wiki; Xoae_app app = wiki.Appe(); @@ -31,22 +31,40 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { public Xof_repo_pair Repos_get_by_wiki(byte[] wiki) { int len = repos.Count(); for (int i = 0; i < len; i++) { - Xof_repo_pair pair = (Xof_repo_pair)repos.FetchAt(i); + Xof_repo_pair pair = (Xof_repo_pair)repos.Get_at(i); if (Bry_.Eq(wiki, pair.Wiki_domain())) return pair; } return null; } - public Xof_repo_pair Repos_get_at(int i) {return (Xof_repo_pair)repos.FetchAt(i);} - public Xof_repo_pair Repos_get_by_id(int id) { + public Xof_repo_pair Repos_get_at(int i) {return (Xof_repo_pair)repos.Get_at(i);} + private Xof_repo_pair Repos_get_by_id(int id) { int len = repos.Count(); for (int i = 0; i < len; i++) { - Xof_repo_pair pair = (Xof_repo_pair)repos.FetchAt(i); + Xof_repo_pair pair = (Xof_repo_pair)repos.Get_at(i); if (pair.Repo_idx() == id) return pair; } return null; } - public Xof_repo_pair[] Repos_ary() {if (repos_ary == null) repos_ary = (Xof_repo_pair[])repos.Xto_ary(Xof_repo_pair.class); return repos_ary;} private Xof_repo_pair[] repos_ary; + public Xof_repo_itm Get_trg_by_id_or_null(int id, byte[] lnki_ttl, byte[] page_url) { + Xof_repo_pair pair = Repos_get_by_id(id); + if (pair == null) { + Xoa_app_.Usr_dlg().Warn_many("", "", "repo_mgr.invalid_repo: repo=~{0} lnki_ttl=~{1} page_url=~{2}", id, lnki_ttl, page_url); + return null; + } + else + return pair.Trg(); + } + public Xof_repo_itm Get_src_by_id_or_null(int id, byte[] lnki_ttl, byte[] page_url) { + Xof_repo_pair pair = Repos_get_by_id(id); + if (pair == null) { + Xoa_app_.Usr_dlg().Warn_many("", "", "repo_mgr.invalid_repo: repo=~{0} lnki_ttl=~{1} page_url=~{2}", id, lnki_ttl, page_url); + return null; + } + else + return pair.Src(); + } + public Xof_repo_pair[] Repos_ary() {if (repos_ary == null) repos_ary = (Xof_repo_pair[])repos.To_ary(Xof_repo_pair.class); return repos_ary;} private Xof_repo_pair[] repos_ary; public boolean Xfer_by_meta(Xof_xfer_itm xfer_itm, Xof_xfer_queue queue) { byte[] ttl = xfer_itm.Lnki_ttl(); Xof_meta_itm meta_itm = xfer_itm.Meta_itm(); @@ -55,19 +73,19 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { if (meta_itm.State_new()) { byte rslt = Xfer_by_meta__find_file(ttl, meta_itm, wiki.Domain_bry()); switch (rslt) { - case Xof_meta_itm.Tid_null: xfer_itm.Trg_repo_idx_(0); chk_all = true; break; // NOTE: src_wiki_key becomes wiki.Key_bry() for sake of simplicity - case Xof_meta_itm.Tid_main: xfer_itm.Trg_repo_idx_(Xof_meta_itm.Repo_same); break; + case Xof_meta_itm.Tid_null: xfer_itm.Orig_repo_id_(0); chk_all = true; break; // NOTE: src_wiki_key becomes wiki.Key_bry() for sake of simplicity + case Xof_meta_itm.Tid_main: xfer_itm.Orig_repo_id_(Xof_meta_itm.Repo_same); break; case Xof_meta_itm.Tid_ptr: src_wiki_key = Xfer_by_meta__find_main_ptr(meta_itm, xfer_itm); break; case Xof_meta_itm.Tid_vrtl: src_wiki_key = Xfer_by_meta__find_main_vrtl(meta_itm, xfer_itm); break; } } else { Xof_repo_itm src_repo = meta_itm.Repo_itm(wiki); - src_wiki_key = src_repo.Wiki_key(); - xfer_itm.Trg_repo_idx_(meta_itm.Vrtl_repo()); // NOTE: set trg_repo_idx b/c xfer_mgr will always set meta_itm.Vrtl_repo() with trg_repo_idx + src_wiki_key = src_repo.Wiki_domain(); + xfer_itm.Orig_repo_id_(meta_itm.Vrtl_repo()); // NOTE: set trg_repo_idx b/c xfer_mgr will always set meta_itm.Vrtl_repo() with trg_repo_idx } if (meta_itm.Ptr_ttl_exists()) - xfer_itm.Set__ttl(meta_itm.Ttl(), meta_itm.Ptr_ttl()); + xfer_itm.Orig_ttl_and_redirect_(meta_itm.Ttl(), meta_itm.Ptr_ttl()); boolean main_exists_unknown = src_wiki_key == null; // WORKAROUND/HACK: SEE:NOTE_1:reset_main_exists boolean rv = Xfer_by_meta__exec(chk_all, xfer_itm, meta_itm, src_wiki_key, queue, false); if (!rv && (!chk_all && !main_exists_unknown)) { // xfer failed even with page found in wiki; try again, but chk all @@ -77,7 +95,7 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { } byte[] Xfer_by_meta__find_main_ptr(Xof_meta_itm meta_itm, Xof_xfer_itm xfer_itm) { byte[] redirect = meta_itm.Ptr_ttl(); int redirect_tries = 0; - byte[] md5 = Xof_xfer_itm_.Md5_(redirect); + byte[] md5 = Xof_file_wkr_.Md5_(redirect); while (true) { boolean found = page_finder.Locate(tmp_rslt, repos, redirect); if (!found) return null; @@ -93,16 +111,16 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { if (redirect_meta.State_new()) { if (repo_idx == Xof_meta_itm.Repo_unknown) { // meta_itm.Vrtl_repo_(Xof_meta_itm.Repo_same); - xfer_itm.Trg_repo_idx_(Xof_meta_itm.Repo_same); + xfer_itm.Orig_repo_id_(Xof_meta_itm.Repo_same); } else { if (!Bry_.Eq(trg_wiki_key, wiki.Domain_bry())) { // meta_itm.Vrtl_repo_(tmp_rslt.Repo_idx()); - xfer_itm.Trg_repo_idx_(tmp_rslt.Repo_idx()); + xfer_itm.Orig_repo_id_(tmp_rslt.Repo_idx()); } else { // meta_itm.Vrtl_repo_(Xof_meta_itm.Repo_same); - xfer_itm.Trg_repo_idx_(Xof_meta_itm.Repo_same); + xfer_itm.Orig_repo_id_(Xof_meta_itm.Repo_same); } } } @@ -116,21 +134,21 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { int repo_idx = meta_itm.Vrtl_repo(); if (repo_idx == Xof_meta_itm.Repo_unknown) return null;; Xof_repo_itm trg_repo = wiki.File_mgr().Repo_mgr().Repos_get_at(repo_idx).Trg(); - xfer_itm.Trg_repo_idx_(repo_idx); - return trg_repo.Wiki_key(); + xfer_itm.Orig_repo_id_(repo_idx); + return trg_repo.Wiki_domain(); } boolean Xfer_by_meta__exec(boolean chk_all, Xof_xfer_itm xfer_itm, Xof_meta_itm meta_itm, byte[] main_wiki_key, Xof_xfer_queue queue, boolean second_chance) { int repos_len = repos.Count(); for (int i = 0; i < repos_len; i++) { // iterate over all repo pairs - Xof_repo_pair pair = (Xof_repo_pair)repos.FetchAt(i); + Xof_repo_pair pair = (Xof_repo_pair)repos.Get_at(i); Xof_repo_itm pair_src = pair.Src(); - boolean main_wiki_key_is_pair_src = Bry_.Eq(main_wiki_key, pair_src.Wiki_key()); + boolean main_wiki_key_is_pair_src = Bry_.Eq(main_wiki_key, pair_src.Wiki_domain()); if ( (chk_all && !main_wiki_key_is_pair_src) // only do chk_all if main_wiki is not pair_src; note that chk_all will only be called in two ways (1) with main_wiki_key as null; (2) with main_key_as val || (!chk_all && main_wiki_key_is_pair_src)) { // pair.Src.Wiki == main.Wiki; note that there can be multiple pairs with same src; EX: have 2 pairs for commons: one for file and another for http xfer_mgr.Atrs_by_itm(xfer_itm, pair_src, pair.Trg()); boolean make = xfer_mgr.Make_file(wiki); if (make) { - xfer_itm.Trg_repo_(pair.Trg()); + xfer_itm.Trg_repo_itm_(pair.Trg()); if (second_chance && xfer_itm.Meta_itm().Vrtl_repo() == 0) // second_chance and item found; change vrtl_repo from commons back to same; EX: tarball and [[Image:Rembrandt De aartsengel verlaat Tobias en zijn gezin. 1637.jpg|120px]] xfer_itm.Meta_itm().Vrtl_repo_(Xof_meta_itm.Repo_same); return true; // file was made; return; if not continue looking at other repos @@ -173,14 +191,14 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { repos_ary = null; // reset repos_ary variable Xoa_repo_mgr repo_mgr = wiki.Appe().File_mgr().Repo_mgr(); Xof_repo_itm src_repo = repo_mgr.Get_by(src_repo_key), trg_repo = repo_mgr.Get_by(trg_repo_key); - byte[] src_wiki_key = src_repo.Wiki_key(), trg_wiki_key = trg_repo.Wiki_key(); - if (!Bry_.Eq(src_wiki_key, trg_wiki_key) && !Bry_.Eq(src_wiki_key, Xow_domain_.Tid_bry_home)) throw Err_mgr._.fmt_(GRP_KEY, "add_repo", "wiki keys do not match: ~{0} ~{1}", String_.new_utf8_(src_wiki_key), String_.new_utf8_(trg_wiki_key)); + byte[] src_wiki_key = src_repo.Wiki_domain(), trg_wiki_key = trg_repo.Wiki_domain(); + if (!Bry_.Eq(src_wiki_key, trg_wiki_key) && !Bry_.Eq(src_wiki_key, Xow_domain_type_.Key_bry_home)) throw Err_mgr._.fmt_(GRP_KEY, "add_repo", "wiki keys do not match: ~{0} ~{1}", String_.new_u8(src_wiki_key), String_.new_u8(trg_wiki_key)); Xof_repo_pair pair = new Xof_repo_pair((byte)repos.Count(), src_wiki_key, src_repo, trg_repo); repos.Add(pair); return pair; } public boolean Xfer_file(Xof_xfer_itm file) { - int repo_idx = file.Trg_repo_idx(); + int repo_idx = file.Orig_repo_id(); boolean wiki_is_unknown = repo_idx == Xof_meta_itm.Repo_unknown; boolean make_pass = false; int len = repos.Count(); @@ -188,7 +206,7 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { if (make_pass) return true; for (int i = 0; i < len; i++) { - Xof_repo_pair pair = (Xof_repo_pair)repos.FetchAt(i); + Xof_repo_pair pair = (Xof_repo_pair)repos.Get_at(i); if (i != repo_idx) { // try other wikis file.Meta_itm().Orig_exists_(Xof_meta_itm.Exists_unknown); // always reset orig exists; this may have been flagged to missing above and should be cleared make_pass = Xfer_file_exec(file, pair, i); diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_mgr.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java similarity index 79% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_mgr.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java index b94ab13d9..e5532050e 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_mgr.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.core.primitives.*; import gplx.gfui.*; import gplx.xowa.files.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.exts.*; import gplx.xowa.files.downloads.*; import gplx.xowa.wmfs.*; import gplx.xowa.wmfs.apis.*; @@ -26,19 +26,19 @@ public class Xof_xfer_mgr { public Xof_xfer_mgr Force_orig_y_() {return Force_orig_(Bool_.Y);} public Xof_xfer_mgr Force_orig_n_() {return Force_orig_(Bool_.N);} public void Atrs_by_itm(Xof_xfer_itm xfer_itm, Xof_repo_itm src_repo, Xof_repo_itm trg_repo) { this.xfer_itm = xfer_itm; - this.lnki_w = xfer_itm.Lnki_w(); this.lnki_h = xfer_itm.Lnki_h(); this.lnki_thumbable = xfer_itm.Img_is_thumbable(); this.lnki_thumbtime = xfer_itm.Lnki_time(); this.lnki_page = xfer_itm.Lnki_page(); + this.lnki_w = xfer_itm.Lnki_w(); this.lnki_h = xfer_itm.Lnki_h(); this.lnki_thumbable = !xfer_itm.File_is_orig(); this.lnki_thumbtime = xfer_itm.Lnki_time(); this.lnki_page = xfer_itm.Lnki_page(); this.lnki_type = xfer_itm.Lnki_type(); lnki_upright = xfer_itm.Lnki_upright(); - this.ttl = xfer_itm.Lnki_ttl(); this.md5 = xfer_itm.Lnki_md5(); this.ext = xfer_itm.Lnki_ext(); + this.orig_ttl = xfer_itm.Orig_ttl(); this.orig_ttl_md5 = xfer_itm.Orig_ttl_md5(); this.orig_ext = xfer_itm.Orig_ext(); this.orig_file_len = xfer_itm.Orig_file_len(); this.src_repo = src_repo; src_repo_is_wmf = src_repo.Wmf_fsys(); this.trg_repo = trg_repo; this.meta_itm = xfer_itm.Meta_itm(); - ext_rule = src_repo.Ext_rules().Get_or_null(ext.Ext()); + ext_rule = src_repo.Ext_rules().Get_or_null(orig_ext.Ext()); orig_w = 0; orig_h = 0; file_w = 0; file_h = 0; } private byte lnki_type; private Xof_xfer_itm xfer_itm; private double lnki_thumbtime = Xof_lnki_time.Null; private boolean lnki_thumbable; private int lnki_w, lnki_h, file_w, file_h; private double lnki_upright; - private Xof_ext ext; private Xof_rule_itm ext_rule; private Xof_repo_itm src_repo, trg_repo; private boolean src_repo_is_wmf; private byte[] ttl, md5; private int orig_w, orig_h, orig_file_len; + private Xof_ext orig_ext; private Xof_rule_itm ext_rule; private Xof_repo_itm src_repo, trg_repo; private boolean src_repo_is_wmf; private byte[] orig_ttl, orig_ttl_md5; private int orig_w, orig_h; private long orig_file_len; private int lnki_page = Xof_lnki_page.Null; public Xof_meta_itm Meta_itm() {return meta_itm;} private Xof_meta_itm meta_itm; public boolean Download_allowed_by_ext() {return orig_file_len < ext_rule.Make_max();} @@ -46,14 +46,14 @@ public class Xof_xfer_mgr { public boolean Make_file(Xowe_wiki wiki) { rslt.Clear(); this.wiki = wiki; if ( src_repo.Wmf_api() // make sure wmf_api enabled - && ( ( ext.Id() == Xof_ext_.Id_ogg // file is ogg; could be audio; DATE:2013-08-03 + && ( ( orig_ext.Id() == Xof_ext_.Id_ogg // file is ogg; could be audio; DATE:2013-08-03 && !meta_itm.Thumbs_indicates_oga()) // check to make sure it hasn't been called before || xfer_itm.Html_elem_tid() == Xof_html_elem.Tid_imap // file is imap ) ) Call_wmf_api(); - if (ext.Id_is_thumbable_img()) Make_img(); - else if (ext.Id_is_video()&& !meta_itm.Thumbs_indicates_oga()) Make_vid(); + if (orig_ext.Id_is_thumbable_img()) Make_img(); + else if (orig_ext.Id_is_video()&& !meta_itm.Thumbs_indicates_oga()) Make_vid(); else Make_other(); return rslt.Pass(); } private Xowe_wiki wiki; Xoapi_orig_rslts rslts = new Xoapi_orig_rslts(); @@ -62,7 +62,7 @@ public class Xof_xfer_mgr { // BLOCK: thumb if (lnki_thumbable) { // lnki is thumb with known width >>> try to do thumb if (lnki_w < 1 && lnki_h < 1) { // NOTE: only give default thumb if both w and h are < 1; if h > 0, then skip; EX:Paris;[[File:IMA-Ile-St-Louis.jpg|thumb|x220]] - wiki.File_mgr().Init_file_mgr_by_load(wiki); + // wiki.File_mgr().Init_file_mgr_by_load(wiki); // commented out; causes tests to fail and (a) should never have been needed by v0; (b) v0 will not be run any more; DATE:2015-05-20 lnki_w = Xof_img_size.Upright_calc(wiki.File_mgr().Patch_upright(), lnki_upright, lnki_w, lnki_w, lnki_h, lnki_type); if (lnki_w < 1) lnki_w = wiki.Html_mgr().Img_thumb_width(); // NOTE: used to be src_repo.Thumb_w() @@ -73,52 +73,52 @@ public class Xof_xfer_mgr { } // BLOCK: orig; get orig for convert; note that Img_download will not download file again if src exists - src_str = this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); + src_str = this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); if (!Img_download(src_str, trg_url, false)) return false; trg_url = rslt.Trg(); // BLOCK: convert thumb - if (lnki_thumbable || ext.Id_is_svg() || ext.Id_is_djvu()) { + if (lnki_thumbable || orig_ext.Id_is_svg() || orig_ext.Id_is_djvu()) { rslt.Clear(); // clear error from failed thumb Io_url src_url = trg_url; - if (ext.Id_is_djvu()) { // NOTE: this block converts djvu -> tiff b/c vanilla imageMagick cannot do djvu -> jpeg - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w).GenNewExt(".tiff"); // NOTE: manually change ext to tiff; note that djvu has view type of jpeg + if (orig_ext.Id_is_djvu()) { // NOTE: this block converts djvu -> tiff b/c vanilla imageMagick cannot do djvu -> jpeg + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w).GenNewExt(".tiff"); // NOTE: manually change orig_ext to tiff; note that djvu has view type of jpeg wiki.Appe().File_mgr().Img_mgr().Wkr_convert_djvu_to_tiff().Exec(src_url, trg_url); if (!Cmd_query_size(trg_url)) return false; // meta_itm.Update_orig_size(file_w, file_h); // NOTE that thumb size is always orig size src_url = trg_url; } - boolean limit = !ext.Id_is_svg(); // do not limit if svg + boolean limit = !orig_ext.Id_is_svg(); // do not limit if svg Xof_xfer_itm_.Calc_xfer_size(calc_size, xfer_itm.Lnki_type(), wiki.Html_mgr().Img_thumb_width(), file_w, file_h, lnki_w, lnki_h, lnki_thumbable, xfer_itm.Lnki_upright(), limit); // NOTE: always recalc w/h; needed for (a) when width < 1 and (b) when w/h are wrong; xfer=160,160, lnki=65,50, actl should be 50,50; PAGE:en.w:[[Image:Gnome-mime-audio-openclipart.svg|65x50px|center|link=|alt=]] lnki_w = calc_size.Val_0(); lnki_h = calc_size.Val_1(); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); if (!Img_convert(src_url, trg_url)) return false; // convert failed; exit - if (ext.Id_is_djvu()) Io_mgr._.DeleteFil(src_url); // convert passed; if djvu, delete intermediary .tiff file; + if (orig_ext.Id_is_djvu()) Io_mgr.I.DeleteFil(src_url); // convert passed; if djvu, delete intermediary .tiff file; } return true; } Int_2_ref calc_size = new Int_2_ref(); boolean Call_wmf_api() { Xof_download_wkr download_wkr = wiki.App().Wmf_mgr().Download_wkr(); Xowe_repo_mgr repo_mgr = wiki.File_mgr().Repo_mgr(); - boolean found = wiki.App().Wmf_mgr().Api_mgr().Api_orig().Api_query_size(rslts, download_wkr, repo_mgr, ttl, lnki_w, lnki_h); + boolean found = wiki.App().Wmf_mgr().Api_mgr().Api_orig().Api_query_size(rslts, download_wkr, repo_mgr, orig_ttl, lnki_w, lnki_h); if (found) { if (rslts.Orig_wiki() != null) { src_repo = wiki.Appe().File_mgr().Repo_mgr().Get_by_wmf_fsys(rslts.Orig_wiki()); trg_repo = wiki.Appe().File_mgr().Repo_mgr().Get_by_primary(rslts.Orig_wiki()); if (Bry_.Eq(rslts.Orig_wiki(), wiki.Domain_bry())) // wmf returned same wiki as current - xfer_itm.Trg_repo_idx_(Xof_meta_itm.Repo_same); // set repo to "same" + xfer_itm.Orig_repo_id_(Xof_meta_itm.Repo_same); // set repo to "same" else { // wmf returned other wiki (which is 99% likely to be commons) Xof_repo_pair trg_repo_pair = wiki.File_mgr().Repo_mgr().Repos_get_by_wiki(rslts.Orig_wiki()); // need to do this b/c commons is not always first; see wikinews; DATE:2013-12-04 int trg_repo_idx = trg_repo_pair == null ? 0 : (int)trg_repo_pair.Repo_idx(); // 0=commons - xfer_itm.Trg_repo_idx_(trg_repo_idx); + xfer_itm.Orig_repo_id_(trg_repo_idx); } - if (!Bry_.Eq(rslts.Orig_page(), ttl)) { - ttl = rslts.Orig_page(); - md5 = Xof_xfer_itm_.Md5_(ttl); - meta_itm.Ptr_ttl_(ttl); + if (!Bry_.Eq(rslts.Orig_page(), orig_ttl)) { + orig_ttl = rslts.Orig_page(); + orig_ttl_md5 = Xof_file_wkr_.Md5_(orig_ttl); + meta_itm.Ptr_ttl_(orig_ttl); } - meta_itm.Vrtl_repo_(xfer_itm.Trg_repo_idx()); - if (ext.Id_is_ogg() && rslts.Orig_w() == 0 && rslts.Orig_h() == 0) // file is ogg, but thumb has size of 0,0; assume audio and mark as oga + meta_itm.Vrtl_repo_(xfer_itm.Orig_repo_id()); + if (orig_ext.Id_is_ogg() && rslts.Orig_w() == 0 && rslts.Orig_h() == 0) // file is ogg, but thumb has size of 0,0; assume audio and mark as oga meta_itm.Update_thumb_oga_(); } meta_itm.Load_orig_(rslts.Orig_w(), rslts.Orig_h()); @@ -138,7 +138,7 @@ public class Xof_xfer_mgr { if (!wmf_api_found) return false; // not found in wmf_api; exit now } else if (src_repo.Tarball()) { - String src_str = this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); + String src_str = this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); meta_itm.Orig_exists_(Xof_meta_itm.Exists_unknown); // mark exists unknown; note need to assertively mark unknown b/c it may have been marked n in previous pass through multiple repos; DATE:20121227 meta_itm.Vrtl_repo_(Xof_meta_itm.Repo_unknown); // mark repo unknown; if (!Cmd_query_size(Io_url_.new_fil_(src_str))) { @@ -147,7 +147,7 @@ public class Xof_xfer_mgr { rslt.Fail("img not found"); return false; } - meta_itm.Vrtl_repo_(xfer_itm.Trg_repo_idx()); + meta_itm.Vrtl_repo_(xfer_itm.Orig_repo_id()); meta_itm.Load_orig_(file_w, file_h); } } @@ -155,15 +155,15 @@ public class Xof_xfer_mgr { } private boolean Make_img_thumb(){ String src_str; Io_url trg_url; - boolean limit = !ext.Id_is_svg(); // do not limit if svg + boolean limit = !orig_ext.Id_is_svg(); // do not limit if svg if (lnki_w > 0) { // if width is -1, don't bother (wmf only has > 0 width); PAGE:en.w:Paris;[[File:IMA-Ile-St-Louis.jpg|thumb|x220]] for (int i = 0; i < 2; i++) { Xof_xfer_itm_.Calc_xfer_size(calc_size, xfer_itm.Lnki_type(), wiki.Html_mgr().Img_thumb_width(), meta_itm.Orig_w(), meta_itm.Orig_h(), lnki_w, lnki_h, lnki_thumbable, lnki_upright, limit); lnki_w = calc_size.Val_0(); if (lnki_h != -1) lnki_h = calc_size.Val_1(); // NOTE: if -1 (no height specified) do not set height; EX:Tokage_2011-07-15.jpg; DATE:2013-06-03 - src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm.Mode_thumb, lnki_w); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm_.Mode_thumb, lnki_w); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); if (Make_img_exec(src_str, trg_url)) { // download passed trg_url = rslt.Trg(); if (lnki_w > 0 && lnki_h > 0) { // lnki specified width and height; check against xfer; needed when w/h are wrong; lnki=65,50 but xfer=160,160; actl should be 50,50; PAGE:en.w:[[Image:Gnome-mime-audio-openclipart.svg|65x50px|center|link=|alt=]]; SEE:NOTE_1 @@ -172,7 +172,7 @@ public class Xof_xfer_mgr { return true; else { // width fails; cleanup invalid thumb trg_url = rslt.Trg(); // NOTE: update url b/c size may have changed; PAGE:en.w:commons/Image:Tempesta.djvu which is 800px, but resized to 799px - Io_mgr._.DeleteFil(trg_url); // delete file + Io_mgr.I.DeleteFil(trg_url); // delete file meta_itm.Thumbs_del(lnki_w); // delete thumb lnki_w = calc_size.Val_0(); lnki_h = calc_size.Val_1(); } @@ -190,23 +190,23 @@ public class Xof_xfer_mgr { Xof_xfer_itm_.Calc_xfer_size(calc_size, xfer_itm.Lnki_type(), wiki.Html_mgr().Img_thumb_width(), meta_itm.Orig_w(), meta_itm.Orig_h(), lnki_w, lnki_h, lnki_thumbable, lnki_upright, limit); lnki_w = calc_size.Val_0(); lnki_h = calc_size.Val_1(); - src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm.Mode_thumb, lnki_w); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm_.Mode_thumb, lnki_w); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); return Make_img_exec(src_str, trg_url); } else { // no orig dimensions; do download if (lnki_w == Xof_img_size.Null) lnki_w = wiki.Html_mgr().Img_thumb_width(); // set lnki_w to default thumb_width (220) - src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm.Mode_thumb, lnki_w); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + src_str = src_repo.Tarball() ? this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null) : this.Src_url(src_repo, Xof_repo_itm_.Mode_thumb, lnki_w); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); if (Make_img_exec(src_str, trg_url)) { // download if (src_repo.Tarball()) return true; // convert worked; no need to download again; int old_lnki_w = lnki_w; lnki_w = (file_w * lnki_h) / file_h; // calculate correct width for specified height; lnki_w = Xof_xfer_itm_.Calc_w(file_w, file_h, lnki_h); if (lnki_w == old_lnki_w) return true; // download at 220 actually worked; this will probably occur very infrequently, but if so, exit - src_str = this.Src_url(src_repo, Xof_repo_itm.Mode_thumb, lnki_w); - trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + src_str = this.Src_url(src_repo, Xof_repo_itm_.Mode_thumb, lnki_w); + trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); if (Make_img_exec(src_str, trg_url)) { // download again trg_url = rslt.Trg(); Xof_xfer_itm_.Calc_xfer_size(calc_size, xfer_itm.Lnki_type(), wiki.Html_mgr().Img_thumb_width(), file_w, file_h, lnki_w, lnki_h, lnki_thumbable, lnki_upright);// calculate again using width and height @@ -214,7 +214,7 @@ public class Xof_xfer_mgr { return true; else { // width fails; cleanup invalid thumb; EX:w:[[File:Upper and Middle Manhattan.jpg|x120px]] trg_url = rslt.Trg(); // NOTE: update url b/c size may have changed; PAGE:en.w:commons/Image:Tempesta.djvu which is 800px, but resized to 799px - Io_mgr._.DeleteFil(trg_url); // delete file + Io_mgr.I.DeleteFil(trg_url); // delete file meta_itm.Thumbs_del(lnki_w); // delete thumb lnki_w = calc_size.Val_0(); lnki_h = calc_size.Val_1(); } @@ -234,8 +234,8 @@ public class Xof_xfer_mgr { boolean thumb_pass = false; Make_other(); // NOTE: must go before thumb b/c rslt.Pass() is modified by both if (src_repo_is_wmf) { // src is wmf >>> copy down thumb; NOTE: thumb not available in tar - String src_str = this.Src_url(src_repo, Xof_repo_itm.Mode_thumb, lnki_w); - Io_url trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_thumb, lnki_w); + String src_str = this.Src_url(src_repo, Xof_repo_itm_.Mode_thumb, lnki_w); + Io_url trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_thumb, lnki_w); thumb_pass = Cmd_download(src_str, trg_url, false); // NOTE: ogg audios may sometimes have thumb, but 0 size; thumb_pass will be true, but will fail on thumb_rename; PAGE:en.w:Beethoven; [[File:Ludwig van Beethoven - Symphonie 5 c-moll - 1. Allegro con brio.ogg]] if (thumb_pass) { thumb_pass = Img_rename_by_size(trg_url); // NOTE: lnki cites view_w which will rarely match file_w; PAGE:en.w:Earth;Northwest coast of United States to Central South America at Night.ogv|250px; which is atually 640 @@ -248,7 +248,7 @@ public class Xof_xfer_mgr { rslt.Clear(); } else // something failed; delete file - Io_mgr._.DeleteFil(trg_url); + Io_mgr.I.DeleteFil(trg_url); } if (!thumb_pass) // NOTE: thumb failed; mark itm as oga meta_itm.Update_thumb_oga_(); @@ -256,8 +256,8 @@ public class Xof_xfer_mgr { } boolean Make_other() { if (!Orig_max_download() && !force_orig) return false; - String src_str = this.Src_url(src_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); - Io_url trg_url = this.Trg_url(trg_repo, Xof_repo_itm.Mode_orig, Xof_img_size.Size_null_deprecated); + String src_str = this.Src_url(src_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); + Io_url trg_url = this.Trg_url(trg_repo, Xof_repo_itm_.Mode_orig, Xof_img_size.Size_null_deprecated); return Cmd_download(src_str, trg_url, true); } boolean Orig_max_download() { @@ -280,7 +280,7 @@ public class Xof_xfer_mgr { meta_itm.Update_thumb_add(file_w, file_h); } else { - if ((orig_w < 1 || orig_h < 1) && !ext.Id_is_djvu()) { // NOTE: imageMagick cannot size djvu xfer_itm so ignore + if ((orig_w < 1 || orig_h < 1) && !orig_ext.Id_is_djvu()) { // NOTE: imageMagick cannot size djvu xfer_itm so ignore if (!Cmd_query_size(trg_url)) return false; meta_itm.Update_orig_size(file_w, file_h); } @@ -290,8 +290,8 @@ public class Xof_xfer_mgr { } String_obj_ref img_convert_rslt = String_obj_ref.null_(); private boolean Img_convert(Io_url src_url, Io_url trg_url) { rslt.Atrs_src_trg_(src_url.Xto_api(), trg_url); // NOTE: must be set at start; Img_rename_by_size may overwrite trg - if (Io_mgr._.ExistsFil(trg_url)) return true; // NOTE: already converted; occurs when same image used twice on same page (EX: flags) - if (!file_mgr.Img_mgr().Wkr_resize_img().Exec(src_url, trg_url, lnki_w, lnki_h, ext.Id(), img_convert_rslt)) { + if (Io_mgr.I.ExistsFil(trg_url)) return true; // NOTE: already converted; occurs when same image used twice on same page (EX: flags) + if (!file_mgr.Img_mgr().Wkr_resize_img().Exec(src_url, trg_url, lnki_w, lnki_h, orig_ext.Id(), img_convert_rslt)) { return rslt.Fail("convert failed|" + src_url.Raw() + "|" + img_convert_rslt.Val()); } if (lnki_w < 1 || lnki_h < 1) { // lnki_w or lnki_h is invalid >>> get real size for thumb @@ -301,7 +301,7 @@ public class Xof_xfer_mgr { else { file_w = lnki_w; file_h = lnki_h; } - meta_itm.Vrtl_repo_(xfer_itm.Trg_repo_idx()); + meta_itm.Vrtl_repo_(xfer_itm.Orig_repo_id()); meta_itm.Orig_exists_(Xof_meta_itm.Exists_y); meta_itm.Update_thumb_add(file_w, file_h); return true; @@ -312,7 +312,7 @@ public class Xof_xfer_mgr { String new_name = Xof_lnki_time.Null_y(lnki_thumbtime) ? file_w + "px" : file_w + "px" + Xof_meta_thumb_parser.Dlm_seek_str + Xof_lnki_time.X_str(lnki_thumbtime); Io_url new_trg = trg_url.GenNewNameOnly(new_name); if (trg_url.Eq(new_trg)) return true; // HACK: io will delete file if moving unto itself; (i.e.: mv A.png A.png is same as del A.png); problem is that this proc is being called too many times - try {Io_mgr._.MoveFil_args(trg_url, new_trg, true).Exec();} + try {Io_mgr.I.MoveFil_args(trg_url, new_trg, true).Exec();} catch (Exception exc) {Err_.Noop(exc); return rslt.Fail("move failed");} rslt.Trg_(new_trg); } @@ -321,7 +321,7 @@ public class Xof_xfer_mgr { private boolean Cmd_download(String src_str, Io_url trg_url, boolean cur_is_orig) { boolean exists = false; if (check_file_exists_before_xfer) { - gplx.ios.IoItmFil fil_itm = Io_mgr._.QueryFil(trg_url); + gplx.ios.IoItmFil fil_itm = Io_mgr.I.QueryFil(trg_url); exists = fil_itm.Exists() && fil_itm.Size() > 0; } boolean pass = false; @@ -341,7 +341,7 @@ public class Xof_xfer_mgr { else meta_itm.Orig_exists_(Xof_meta_itm.Exists_n); } if (pass) - meta_itm.Vrtl_repo_(xfer_itm.Trg_repo_idx()); + meta_itm.Vrtl_repo_(xfer_itm.Orig_repo_id()); else rslt.Fail("download failed|" + src_str); return pass; @@ -352,8 +352,8 @@ public class Xof_xfer_mgr { file_w = file_size.Width(); file_h = file_size.Height(); return true; } - String Src_url(Xof_repo_itm repo, byte mode, int lnki_w) {return url_bldr.Init_for_src_file(mode, repo, ttl, md5, ext, lnki_w, lnki_thumbtime, lnki_page).Xto_str();} - Io_url Trg_url(Xof_repo_itm repo, byte mode, int lnki_w) {return url_bldr.Init_for_trg_file(mode, repo, ttl, md5, ext, lnki_w, lnki_thumbtime, lnki_page).Xto_url();} + String Src_url(Xof_repo_itm repo, byte mode, int lnki_w) {return url_bldr.Init_for_src_file(mode, repo, orig_ttl, orig_ttl_md5, orig_ext, lnki_w, lnki_thumbtime, lnki_page).Xto_str();} + Io_url Trg_url(Xof_repo_itm repo, byte mode, int lnki_w) {return url_bldr.Init_for_trg_file(mode, repo, orig_ttl, orig_ttl_md5, orig_ext, lnki_w, lnki_thumbtime, lnki_page).Xto_url();} private Xof_url_bldr url_bldr = new Xof_url_bldr(); } /* diff --git a/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue.java new file mode 100644 index 000000000..5f43d1d1b --- /dev/null +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue.java @@ -0,0 +1,87 @@ +/* +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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; +import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.origs.*; +import gplx.xowa.files.gui.*; +public class Xof_xfer_queue { + private final List_adp xfer_list = List_adp_.new_(); private final Ordered_hash dirty_meta_mgrs = Ordered_hash_.new_bry_(); + public Int_obj_ref Html_uid() {return html_uid;} private Int_obj_ref html_uid = Int_obj_ref.neg1_(); + public int Count() {return xfer_list.Count();} + public void Clear() { + dirty_meta_mgrs.Clear(); + xfer_list.Clear(); + html_uid.Val_neg1_(); + } + public void Add(Xof_file_itm xfer_itm) {xfer_list.Add(xfer_itm);} + public void Exec(Xowe_wiki wiki, Xoae_page page) { + if (wiki.File_mgr().Version() == Xow_file_mgr.Version_2) + Exec_v2(wiki, page); + else + Exec_v1(wiki, page); + } + private void Exec_v1(Xowe_wiki wiki, Xoae_page page) { + Xof_meta_mgr meta_mgr = null; + int xfer_len = xfer_list.Count(); + Gfo_usr_dlg usr_dlg = Xoa_app_.Usr_dlg(); + for (int i = 0; i < xfer_len; i++) { + if (wiki.Appe().Usr_dlg().Canceled()) break; + Xof_xfer_itm xfer_itm = (Xof_xfer_itm)xfer_list.Get_at(i); + meta_mgr = xfer_itm.Meta_itm().Owner_fil().Owner_mgr(); + byte[] meta_mgr_key = meta_mgr.Wiki().Domain_bry(); + if (!dirty_meta_mgrs.Has(meta_mgr_key)) dirty_meta_mgrs.Add(meta_mgr_key, meta_mgr); // only add if new + String queue_msg = usr_dlg.Prog_many("", "", "downloading ~{0} of ~{1}: ~{2};", i + List_adp_.Base1, xfer_len, xfer_itm.Lnki_ttl()); + wiki.App().Wmf_mgr().Download_wkr().Download_xrg().Prog_fmt_hdr_(queue_msg); + wiki.File_mgr().Repo_mgr().Xfer_by_meta(xfer_itm, this); + xfer_itm.Set__meta(xfer_itm.Meta_itm(), xfer_itm.Meta_itm().Repo_itm(wiki), wiki.Html_mgr().Img_thumb_width()); + xfer_itm.Calc_by_meta(); + if (!xfer_itm.File_exists()) continue; // file not found; don't call Update_img, else invalid src will be passed and caption box will be incorrectly resized; EX:ar.d:جَبَّارَة; DATE:2014-04-13 + if (Bry_.Len_gt_0(xfer_itm.Html_view_url().To_http_file_bry()) // only update images that have been found; otherwise "Undefined" shows up in image box + && xfer_itm.Html_elem_tid() != Xof_html_elem.Tid_none) { // skip updates when downloading orig on File page (there won't be any frame to update) + Xog_js_wkr js_wkr = Env_.Mode_testing() ? Xog_js_wkr_.Noop : page.Tab_data().Tab().Html_itm(); + Js_img_mgr.Update_img(page, js_wkr, xfer_itm); + } + } + for (int i = 0; i < dirty_meta_mgrs.Count(); i++) { + meta_mgr = (Xof_meta_mgr)dirty_meta_mgrs.Get_at(i); + meta_mgr.Save(true); + } + this.Clear(); + } + private void Exec_v2(Xowe_wiki wiki, Xoae_page page) { + wiki.File_mgr().Init_file_mgr_by_load(wiki); + Xog_js_wkr js_wkr = wiki.App().App_type().Uid_is_gui() ? page.Tab_data().Tab().Html_itm() : Xog_js_wkr_.Noop; + wiki.File_mgr().Fsdb_mgr().Fsdb_search_by_list(Xfer_itms_to_fsdb_itms(wiki, page, xfer_list, wiki.File_mgr().Patch_upright()), wiki, page, js_wkr); + } + private List_adp Xfer_itms_to_fsdb_itms(Xowe_wiki cur_wiki, Xoae_page page, List_adp xfer_list, int upright_patch) { + List_adp rv = List_adp_.new_(); + int list_len = xfer_list.Count(); + for (int i = 0; i < list_len; i++) { + Xof_file_itm xfer = (Xof_file_itm)xfer_list.Get_at(i); + Xof_fsdb_itm fsdb = new Xof_fsdb_itm(); + fsdb.Init_at_lnki(xfer.Lnki_exec_tid(), xfer.Lnki_wiki_abrv(), xfer.Lnki_ttl(), xfer.Lnki_type(), xfer.Lnki_upright(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_time(), xfer.Lnki_page(), upright_patch); + fsdb.Init_at_hdoc(xfer.Html_uid(), xfer.Html_elem_tid()); + fsdb.Html_gallery_mgr_h_(xfer.Html_gallery_mgr_h()); + fsdb.Html_img_wkr_(xfer.Html_img_wkr()); + fsdb.File_exists_(xfer.File_exists()); + rv.Add(fsdb); + } + this.Clear(); + return rv; + } +} diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_base_fxt.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_base_fxt.java similarity index 82% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_base_fxt.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_base_fxt.java index f74303a7e..75e7dc305 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_base_fxt.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_base_fxt.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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.ios.*; import gplx.xowa.wikis.*; import gplx.xowa.files.cnvs.*; import gplx.xowa.files.repos.*; import gplx.xowa.wmfs.apis.*; import gplx.xowa.files.exts.*; import gplx.xowa.files.imgs.*; public class Xof_xfer_queue_base_fxt { @@ -23,7 +23,7 @@ public class Xof_xfer_queue_base_fxt { public Xof_repo_itm Src_commons_repo() {return src_commons_repo;} private Xof_repo_itm src_commons_repo; public Xof_repo_itm Src_en_wiki_repo() {return src_en_wiki_repo;} private Xof_repo_itm src_en_wiki_repo; @gplx.Virtual public void Clear(boolean src_repo_is_wmf) { - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); if (app == null) { app = Xoa_app_fxt.app_(); en_wiki = Xoa_app_fxt.wiki_(app, Xow_domain_.Domain_str_enwiki); @@ -36,10 +36,10 @@ public class Xof_xfer_queue_base_fxt { file_mgr.Img_mgr().Wkr_query_img_size_(new Xof_img_wkr_query_img_size_test()); app.Wmf_mgr().Api_mgr().Api_orig_(api_size); - byte[] src_commons = Bry_.new_ascii_("src_commons"); - byte[] src_en_wiki = Bry_.new_ascii_("src_en_wiki"); - byte[] trg_commons = Bry_.new_ascii_("trg_commons"); - byte[] trg_en_wiki = Bry_.new_ascii_("trg_en_wiki"); + byte[] src_commons = Bry_.new_a7("src_commons"); + byte[] src_en_wiki = Bry_.new_a7("src_en_wiki"); + byte[] trg_commons = Bry_.new_a7("trg_commons"); + byte[] trg_en_wiki = Bry_.new_a7("trg_en_wiki"); src_commons_repo = Ini_repo_add(file_mgr, src_commons, "mem/src/commons.wikimedia.org/", Xow_domain_.Domain_str_commons, false); src_en_wiki_repo = Ini_repo_add(file_mgr, src_en_wiki, "mem/src/en.wikipedia.org/" , Xow_domain_.Domain_str_enwiki, false); Ini_repo_add(file_mgr, trg_commons, "mem/trg/commons.wikimedia.org/", Xow_domain_.Domain_str_commons, true).Primary_(true); @@ -57,7 +57,7 @@ public class Xof_xfer_queue_base_fxt { en_wiki.Clear_for_tests(); commons.Clear_for_tests(); src_fils = trg_fils = Io_fil.Ary_empty; - html_src = null; + html_view_str = null; html_w = html_h = -1; } public Xoae_app App() {return app;} private Xoae_app app; @@ -68,45 +68,45 @@ public class Xof_xfer_queue_base_fxt { public void ini_page_create_en_wiki(String ttl) {Init_page_create(en_wiki, ttl, "");} public void ini_page_create_en_wiki_redirect(String ttl, String redirect) {Init_page_create(en_wiki, ttl, "#REDIRECT [[" + redirect + "]]");} public void Init_page_create(Xowe_wiki wiki, String ttl, String txt) { - Xoa_ttl page_ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(ttl)); - byte[] page_raw = Bry_.new_utf8_(txt); + Xoa_ttl page_ttl = Xoa_ttl.parse_(wiki, Bry_.new_u8(ttl)); + byte[] page_raw = Bry_.new_u8(txt); wiki.Db_mgr().Save_mgr().Data_create(page_ttl, page_raw); } Xof_repo_itm Ini_repo_add(Xof_file_mgr file_mgr, byte[] key, String root, String wiki, boolean trg) { - Xof_repo_itm repo = file_mgr.Repo_mgr().Set(String_.new_utf8_(key), root, wiki).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); + Xof_repo_itm repo = file_mgr.Repo_mgr().Set(String_.new_u8(key), root, wiki).Ext_rules_(Xof_rule_grp.Grp_app_default).Dir_depth_(2); if (trg) { byte[][] ary = repo.Mode_names(); - ary[0] = Bry_.new_ascii_("raw"); - ary[1] = Bry_.new_ascii_("fit"); + ary[0] = Bry_.new_a7("raw"); + ary[1] = Bry_.new_a7("fit"); } return repo; } public Xof_xfer_queue_base_fxt Src_base(Io_fil... v) {src_fils = v; return this;} Io_fil[] src_fils = Io_fil.Ary_empty; public Xof_xfer_queue_base_fxt Trg_base(Io_fil... v) {trg_fils = v; return this;} Io_fil[] trg_fils = Io_fil.Ary_empty; - public String Html_view_src() {return html_src;} protected Xof_xfer_queue_base_fxt Html_src_base_(String v) {html_src = v; return this;} private String html_src; + public String Html_view_src() {return html_view_str;} protected Xof_xfer_queue_base_fxt Html_src_base_(String v) {html_view_str = v; return this;} private String html_view_str; public int Html_w() {return html_w;} public Xof_xfer_queue_base_fxt Html_w_(int v) {html_w = v; return this;} private int html_w = -1; public int Html_h() {return html_h;} public Xof_xfer_queue_base_fxt Html_h_(int v) {html_h = v; return this;} private int html_h = -1; public void ini_src_fils() { if (src_fils != null) { for (int i = 0; i < src_fils.length; i++) { Io_fil src_fil = src_fils[i]; - Io_mgr._.SaveFilStr(src_fil.Url(), src_fil.Data()); + Io_mgr.I.SaveFilStr(src_fil.Url(), src_fil.Data()); } } } public void tst_trg_fils() { for (int i = 0; i < trg_fils.length; i++) { Io_fil trg_fil = trg_fils[i]; - String data = Io_mgr._.LoadFilStr(trg_fil.Url()); + String data = Io_mgr.I.LoadFilStr(trg_fil.Url()); Tfds.Eq_str_lines(trg_fil.Data(), data, trg_fil.Url().Raw()); } } - public void save_(Io_fil v) {Io_mgr._.SaveFilStr(v.Url(), v.Data());} + public void save_(Io_fil v) {Io_mgr.I.SaveFilStr(v.Url(), v.Data());} public Io_fil reg_(String url, String... v) {return new Io_fil(Io_url_.mem_fil_(url), String_.Concat_lines_nl(v));} public Io_fil img_(String url_str, int w, int h) {return file_(url_str, file_img(w, h));} public Io_fil svg_(String url_str, int w, int h) {return file_(url_str, file_svg(w, h));} public Io_fil ogg_(String url_str) {return file_(url_str, "");} - public void fil_absent(String url) {Tfds.Eq_false(Io_mgr._.ExistsFil(Io_url_.mem_fil_(url)), "fil should not exist: {0}", url);} + public void fil_absent(String url) {Tfds.Eq_false(Io_mgr.I.ExistsFil(Io_url_.mem_fil_(url)), "fil should not exist: {0}", url);} Io_fil file_(String url_str, String data) {return new Io_fil(Io_url_.mem_fil_(url_str), data);} String file_img(int w, int h) {return String_.Format("{0},{1}", w, h);} String file_svg(int w, int h) {return String_.Format("", w, h);} diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_basic_tst.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_basic_tst.java similarity index 96% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_basic_tst.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_basic_tst.java index df89f3961..8fd79c512 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_basic_tst.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import org.junit.*; import gplx.ios.*; import gplx.gfui.*; import gplx.xowa.files.*; public class Xof_xfer_queue_html_basic_tst { diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_cases_tst.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_cases_tst.java similarity index 97% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_cases_tst.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_cases_tst.java index 56a8b7042..917d63d69 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_cases_tst.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_cases_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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import org.junit.*; import gplx.xowa.files.*; import gplx.xowa.files.imgs.*; public class Xof_xfer_queue_html_cases_tst { @@ -232,7 +232,7 @@ public class Xof_xfer_queue_html_cases_tst { } @Test public void Ogv_width_seek_again_should_dirty() { // PURPOSE: outlier case wherein (a) downloading thumb then (b) downloading thumb seek; (b) does not dirty file since (a) exists; PAGE:en.w:Wikipedia fxt.Src_en_wiki_repo().Ext_rules().Get_or_new(Xof_ext_.Bry_ogv).View_max_(0); - Io_mgr._.SaveFilStr("mem/xowa/file/#meta/en.wikipedia.org/d/d0.csv", "A.ogv|0||2?0,0|1?300,40\n"); // simulate (a) + Io_mgr.I.SaveFilStr("mem/xowa/file/#meta/en.wikipedia.org/d/d0.csv", "A.ogv|0||2?0,0|1?300,40\n"); // simulate (a) fxt .Lnki_("A.ogv", true, -1, -1, -1, 5) .Src( fxt.img_("mem/src/commons.wikimedia.org/thumb/d/d0/A.ogv/seek%3D5-A.ogv.jpg", 300, 40) ) diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_fxt.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_fxt.java similarity index 83% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_fxt.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_fxt.java index 1ee8eb29a..295415468 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_fxt.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_fxt.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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.core.primitives.*; import gplx.dbs.*; import gplx.ios.*; import gplx.xowa.wikis.*; import gplx.xowa.files.*; public class Xof_xfer_queue_html_fxt extends Xof_xfer_queue_base_fxt { @@ -30,10 +30,10 @@ public class Xof_xfer_queue_html_fxt extends Xof_xfer_queue_base_fxt { public Xof_xfer_queue_html_fxt Lnki_thumb_(String lnki_ttl, int lnki_w, int lnki_h) {return Lnki_(lnki_ttl, Bool_.Y, lnki_w, lnki_h, Xop_lnki_tkn.Upright_null, Xof_lnki_time.Null_as_int);} public Xof_xfer_queue_html_fxt Lnki_(String lnki_ttl, boolean thumb, int lnki_w, int lnki_h, double upright, int seek_time) { // NOTE: only one xfer_itm; supports one Lnki_ per test only Xowe_wiki wiki = this.En_wiki(); - xfer_itm = wiki.Html_mgr().Html_wtr().Lnki_wtr().File_wtr().Lnki_eval(wiki.Ctx(), queue, Bry_.new_utf8_(lnki_ttl), thumb ? Xop_lnki_type.Id_thumb : Xop_lnki_type.Id_null, lnki_w, lnki_h, upright, Xof_lnki_time.X_int(seek_time), Xof_lnki_page.Null, false, queue_add_ref); + xfer_itm = wiki.Html_mgr().Html_wtr().Lnki_wtr().File_wtr().Lnki_eval(Xof_exec_tid.Tid_wiki_page, wiki.Ctx(), wiki.Ctx().Cur_page(), queue, Bry_.new_u8(lnki_ttl), thumb ? Xop_lnki_type.Id_thumb : Xop_lnki_type.Id_null, upright, lnki_w, lnki_h, Xof_lnki_time.X_int(seek_time), Xof_lnki_page.Null, false); return this; - } private Xof_xfer_itm xfer_itm = new Xof_xfer_itm(); Bool_obj_ref queue_add_ref = Bool_obj_ref.n_(); - public Xof_xfer_itm Xfer_itm() {return xfer_itm;} + } + public Xof_file_itm Xfer_itm() {return xfer_itm;} private Xof_file_itm xfer_itm; public Xof_xfer_queue_html_fxt Src(Io_fil... v) {return (Xof_xfer_queue_html_fxt)Src_base(v);} public Xof_xfer_queue_html_fxt Trg(Io_fil... v) {return (Xof_xfer_queue_html_fxt)Trg_base(v);} public Xof_xfer_queue_html_fxt Html_src_(String v) {return (Xof_xfer_queue_html_fxt)Html_src_base_(v);} @@ -50,12 +50,12 @@ public class Xof_xfer_queue_html_fxt extends Xof_xfer_queue_base_fxt { ini_src_fils(); wiki.Appe().File_mgr().Wmf_mgr().Enabled_(true); wiki.File_mgr().Cfg_download().Enabled_(true); - queue.Exec(Xof_exec_tid.Tid_wiki_page, usr_dlg, wiki, Xoae_page.new_(wiki, wiki.Ttl_parse(Bry_.new_ascii_("A")))); + queue.Exec(wiki, Xoae_page.new_(wiki, wiki.Ttl_parse(Bry_.new_a7("A")))); tst_trg_fils(); - if (this.html_orig_src != null) Tfds.Eq(this.html_orig_src , String_.new_utf8_(xfer_itm.Html_orig_url())); - if (this.Html_view_src() != null) Tfds.Eq(this.Html_view_src(), String_.new_utf8_(xfer_itm.Html_view_url())); + if (this.html_orig_src != null) Tfds.Eq(this.html_orig_src , xfer_itm.Html_orig_url().To_http_file_str()); + if (this.Html_view_src() != null) Tfds.Eq(this.Html_view_src(), xfer_itm.Html_view_url().To_http_file_str()); if (this.Html_w() != -1) Tfds.Eq(this.Html_w(), xfer_itm.Html_w()); if (this.Html_h() != -1) Tfds.Eq(this.Html_h(), xfer_itm.Html_h()); queue.Clear(); - } private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Noop; + } } diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_offline_tst.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_offline_tst.java similarity index 92% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_offline_tst.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_offline_tst.java index 8bd28ee0e..d4c1d26a6 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_offline_tst.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_offline_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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import org.junit.*; import gplx.xowa.files.*; public class Xof_xfer_queue_html_offline_tst { diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_wmf_api_tst.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_wmf_api_tst.java similarity index 97% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_wmf_api_tst.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_wmf_api_tst.java index 1b662cfcd..bb29145d5 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_queue_html_wmf_api_tst.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_queue_html_wmf_api_tst.java @@ -15,9 +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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import org.junit.*; -import gplx.xowa.files.*; public class Xof_xfer_queue_html_wmf_api_tst { private final Xof_xfer_queue_html_fxt fxt = new Xof_xfer_queue_html_fxt(); @Before public void init() {fxt.Clear(true); fxt.Src_commons_repo().Wmf_api_(true); fxt.Src_en_wiki_repo().Wmf_api_(true);} @@ -168,4 +167,4 @@ public class Xof_xfer_queue_html_wmf_api_tst { fxt.tst(); } } -// Tfds.Write_bry(Xof_xfer_itm_.Md5_calc(Bry_.new_ascii_("A~.png"))); + diff --git a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_rslt.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_rslt.java similarity index 90% rename from 400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_rslt.java rename to 400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_rslt.java index ab7acf5a9..406dfd1e8 100644 --- a/400_xowa/src_162_xfer/gplx/xowa/Xof_xfer_rslt.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_rslt.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.files.xfers; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; public class Xof_xfer_rslt { public boolean Pass() {return pass;} private boolean pass = true; public String Err_msg() {return err_msg;} private String err_msg = String_.Empty; @@ -27,5 +27,5 @@ public class Xof_xfer_rslt { err_msg = msg; return false; } - public void Clear() {pass = true; err_msg = src = String_.Empty; trg = Io_url_.Null;} + public void Clear() {pass = true; err_msg = src = String_.Empty; trg = Io_url_.Empty;} } 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 55e56eccc..cb586f5f3 100644 --- a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java +++ b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm.java @@ -40,7 +40,7 @@ public class Xoa_fmtr_itm implements GfoInvkAble { public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_src)) return src; else if (ctx.Match(k, Invk_src_)) src = m.ReadStr("v"); - else if (ctx.Match(k, Invk_fmt)) return String_.new_utf8_(fmt); + else if (ctx.Match(k, Invk_fmt)) return String_.new_u8(fmt); else if (ctx.Match(k, Invk_fmt_)) fmt = m.ReadBry("v"); else if (ctx.Match(k, Invk_sorter)) return this.Sorter(); else if (ctx.Match(k, Invk_run)) return Run(); @@ -59,7 +59,7 @@ class Bfmtr_eval_invk implements Bry_fmtr_eval_mgr { public Bfmtr_eval_invk Invk_(GfoInvkAble invk) {this.invk = invk; return this;} private GfoInvkAble invk; public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = true; public byte[] Eval(byte[] cmd) { - Object rslt = app.Gfs_mgr().Run_str_for(invk, String_.new_utf8_(cmd)); - return Bry_.new_utf8_(Object_.Xto_str_strict_or_null_mark(rslt)); + Object rslt = app.Gfs_mgr().Run_str_for(invk, String_.new_u8(cmd)); + return Bry_.new_u8(Object_.Xto_str_strict_or_null_mark(rslt)); } } diff --git a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm_tst.java b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm_tst.java index b85d9ad48..a0527e739 100644 --- a/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm_tst.java +++ b/400_xowa/src/gplx/xowa/fmtrs/Xoa_fmtr_itm_tst.java @@ -34,7 +34,7 @@ class Xoa_fmtr_itm_fxt { GfsCore._.MsgParser_(gplx.gfs.Gfs_msg_bldr._); } public Xoa_fmtr_itm_fxt Init_src(String v) {itm.Src_(v); return this;} - public Xoa_fmtr_itm_fxt Init_fmt(String v) {itm.Fmt_(Bry_.new_ascii_(v)); return this;} + public Xoa_fmtr_itm_fxt Init_fmt(String v) {itm.Fmt_(Bry_.new_a7(v)); return this;} public void Test_run(String expd) { String actl = itm.Run(); Tfds.Eq(expd, actl); 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 8e52cc268..430d118ab 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 @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.fmtrs; import gplx.*; import gplx.xowa.*; public class Xoa_fmtr_sort_mgr implements GfoInvkAble { - private OrderedHash itms = OrderedHash_.new_(); + private Ordered_hash itms = Ordered_hash_.new_(); private Xoa_fmtr_sort_wkr wkr = new Xoa_fmtr_sort_wkr(); private Gfo_sort_able sort_able; public Xoa_fmtr_sort_mgr(Gfo_sort_able sort_able) {this.sort_able = sort_able;} @@ -26,11 +26,11 @@ public class Xoa_fmtr_sort_mgr implements GfoInvkAble { int keys_len = keys.length; for (int i = 0; i < keys_len; i++) { Xoa_fmtr_sort_itm itm = new Xoa_fmtr_sort_itm(keys[i], true); - itms.Add_if_new(itm.Key(), itm); + itms.Add_if_dupe_use_1st(itm.Key(), itm); } } public void Exec() { - wkr.Itms_((Xoa_fmtr_sort_itm[])itms.Xto_ary(Xoa_fmtr_sort_itm.class)); + wkr.Itms_((Xoa_fmtr_sort_itm[])itms.To_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 36e16f48c..52540669b 100644 --- a/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java @@ -65,10 +65,10 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble { layout.Init(browser_win); cmd_mgr.Init_by_kit(app); app.Api_root().Init_by_kit(app); - menu_mgr.Menu_bldr().Init_by_kit(app, kit, app.User().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "menu")); + menu_mgr.Menu_bldr().Init_by_kit(app, kit, app.Usere().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "menu")); menu_mgr.Init_by_kit(); bnd_mgr.Init_by_kit(app); - GfoEvMgr_.SubSame_many(app.User(), this, Xou_user.Evt_lang_changed); + GfoEvMgr_.SubSame_many(app.Usere(), this, Xoue_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 } public void Lang_changed(Xol_lang lang) { @@ -91,7 +91,7 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble { else if (ctx.Match(k, Invk_menus)) return menu_mgr; else if (ctx.Match(k, Invk_cmds)) return cmd_mgr; else if (ctx.Match(k, Invk_url_macros)) return url_macro_mgr; - else if (ctx.Match(k, Xou_user.Evt_lang_changed)) Lang_changed((Xol_lang)m.ReadObj("v", ParseAble_.Null)); + else if (ctx.Match(k, Xoue_user.Evt_lang_changed)) Lang_changed((Xol_lang)m.ReadObj("v", ParseAble_.Null)); else throw Err_mgr._.unhandled_(k); return this; } diff --git a/400_xowa/src/gplx/xowa/gui/Xog_resizer.java b/400_xowa/src/gplx/xowa/gui/Xog_resizer.java index b4e7b450e..eec2eecca 100644 --- a/400_xowa/src/gplx/xowa/gui/Xog_resizer.java +++ b/400_xowa/src/gplx/xowa/gui/Xog_resizer.java @@ -49,7 +49,7 @@ public class Xog_resizer { Exec_win_resize_elem(layout.Search_box() , search_box , new Rect_ref(0, 0, 190 , txt_dim ), url_exec_btn, Xog_resizer.Layout_right_top); Exec_win_resize_elem(layout.Search_exec_btn() , search_exec_btn , new Rect_ref(0, 0, btn_dim , btn_dim ), search_box, Xog_resizer.Layout_right_top); Exec_win_resize_elem(layout.Html_box() , tab_mgr , new Rect_ref(0, 0, main_w , main_h + -(bar_dim * 2) - menu_bar_adj), go_bwd_btn, Xog_resizer.Layout_below_left); // -40:btn_dim(url bar) + btn_dim (find box) - Xoc_layout_mgr layout_mgr = app.User().Cfg_mgr().Layout_mgr(); + Xoc_layout_mgr layout_mgr = app.Usere().Cfg_mgr().Layout_mgr(); switch (layout_mgr.Html_box_adj_type()) { case Xoc_layout_mgr.Html_box_adj_type_none_byte: break; case Xoc_layout_mgr.Html_box_adj_type_abs_byte: tab_mgr.Rect_set(layout_mgr.Html_box_adj_rect()); break; diff --git a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_box.java b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_box.java index b00b9cd86..ec49d17f9 100644 --- a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_box.java +++ b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_box.java @@ -17,13 +17,13 @@ along with this program. If not, see . */ package gplx.xowa.gui.bnds; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_bnd_box { - private OrderedHash bnds = OrderedHash_.new_(); + private Ordered_hash bnds = Ordered_hash_.new_(); public Xog_bnd_box(int tid, String key) {this.tid = tid; this.key = key;} public int Tid() {return tid;} private int tid; public String Key() {return key;} private String key; public int Len() {return bnds.Count();} - public void Add(Xog_bnd_itm itm) {bnds.AddReplace(itm.Key(), itm);} // AddReplace, else Xou_user_tst.Run fails; DATE:2014-05-15 + public void Add(Xog_bnd_itm itm) {bnds.Add_if_dupe_use_nth(itm.Key(), itm);} // Add_if_dupe_use_nth, else Xou_user_tst.Run fails; DATE:2014-05-15 public void Del(String key) {bnds.Del(key);} - public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)bnds.FetchAt(i);} - public Xog_bnd_itm Get(String key) {return (Xog_bnd_itm)bnds.Fetch(key);} + public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)bnds.Get_at(i);} + public Xog_bnd_itm Get(String key) {return (Xog_bnd_itm)bnds.Get_by(key);} } diff --git a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr.java b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr.java index dc4a50b26..983232296 100644 --- a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr.java @@ -21,13 +21,13 @@ import gplx.xowa.gui.cmds.*; import gplx.xowa.gui.menus.dom.*; public class Xog_bnd_mgr { private Xog_win_itm win; private Xog_cmd_mgr_invk invk_mgr; private Xog_bnd_box[] boxs = Xog_bnd_box_.Ary(); - private ListAdp startup_itms = ListAdp_.new_(); - private OrderedHash regy = OrderedHash_.new_(); + private List_adp startup_itms = List_adp_.new_(); + private Ordered_hash regy = Ordered_hash_.new_(); public Xog_bnd_mgr(Xog_win_itm win) {this.win = win; invk_mgr = win.Gui_mgr().Cmd_mgr().Invk_mgr();} public Gfui_bnd_parser Bnd_parser() {if (bnd_parser == null) bnd_parser = Gfui_bnd_parser.new_en_(); return bnd_parser;} private Gfui_bnd_parser bnd_parser; public int Len() {return regy.Count();} - public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)regy.FetchAt(i);} - public Xog_bnd_itm Get_or_null(String v) {return (Xog_bnd_itm)regy.Fetch(v);} + public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)regy.Get_at(i);} + public Xog_bnd_itm Get_or_null(String v) {return (Xog_bnd_itm)regy.Get_by(v);} public void Init_by_kit(Xoae_app app) { Add_system_bnds(); Add_custom_bnds(); // NOTE: should go after Add_system_bnds in case user overrides any; @@ -47,7 +47,7 @@ public class Xog_bnd_mgr { } public void Del(Xog_bnd_itm itm, IptArg new_ipt) { boolean itm_has_ipt = !IptArg_.Is_null_or_none(new_ipt); - ListAdp deleted = ListAdp_.new_(); + List_adp deleted = List_adp_.new_(); for (int i = 0; i < Xog_bnd_box_.Ary_len; i++) { Xog_bnd_box old_box = boxs[i]; int old_itms_len = old_box.Len(); @@ -66,7 +66,7 @@ public class Xog_bnd_mgr { } int deleted_len = deleted.Count(); for (int j = 0; j < deleted_len; j++) { - String deleted_key = (String)deleted.FetchAt(j); + String deleted_key = (String)deleted.Get_at(j); old_box.Del(deleted_key); } deleted.Clear(); @@ -124,8 +124,8 @@ public class Xog_bnd_mgr { Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_read , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.r"); Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_edit , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.e"); Init_itm(Xog_cmd_itm_.Key_gui_page_view_mode_html , Xog_bnd_box_.Tid_browser , "mod.c+key.m,mod.c+key.h", "mod.c+key.u"); - Init_itm(Xog_cmd_itm_.Key_gui_page_view_reload , Xog_bnd_box_.Tid_browser , "mod.s+key.f5"); - Init_itm(Xog_cmd_itm_.Key_gui_page_view_refresh , Xog_bnd_box_.Tid_browser , "key.f5"); + Init_itm(Xog_cmd_itm_.Key_gui_page_view_reload , Xog_bnd_box_.Tid_browser , "key.f5"); + Init_itm(Xog_cmd_itm_.Key_gui_page_view_refresh , Xog_bnd_box_.Tid_browser , "mod.s+key.f5"); Init_itm(Xog_cmd_itm_.Key_gui_page_view_save_as , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_gui_page_view_print , Xog_bnd_box_.Tid_browser , ""); @@ -209,7 +209,7 @@ public class Xog_bnd_mgr { } private void Init_itm(String cmd, int idx, int box, String ipt) {Init_itm(cmd, idx, box, IptArg_.parse_or_none_(ipt));} private void Init_itm(String cmd, int idx, int box, IptArg ipt) { - String key = cmd + "-" + Int_.Xto_str(idx + ListAdp_.Base1); // EX: xowa.widgets.url.focus-1 xowa.widgets.url.focus-2 + String key = cmd + "-" + Int_.Xto_str(idx + List_adp_.Base1); // EX: xowa.widgets.url.focus-1 xowa.widgets.url.focus-2 Xog_bnd_itm itm = new Xog_bnd_itm(key, Bool_.Y, cmd, box, ipt); boxs[box].Add(itm); regy.Add(itm.Key(), itm); @@ -228,9 +228,9 @@ public class Xog_bnd_mgr { private void Add_custom_bnds() { // NOTE: custom bnds are stored in cfg; cfg executes before Init_by_kit when all windows elements are null; run cfg now, while Init_by_kit is called and elems are now created int len = startup_itms.Count(); for (int i = 0; i < len; i++) { - Xog_bnd_itm new_itm = (Xog_bnd_itm)startup_itms.FetchAt(i); + Xog_bnd_itm new_itm = (Xog_bnd_itm)startup_itms.Get_at(i); try { - Xog_bnd_itm cur_itm = (Xog_bnd_itm)regy.Fetch(new_itm.Key()); + Xog_bnd_itm cur_itm = (Xog_bnd_itm)regy.Get_by(new_itm.Key()); if (cur_itm == null) {win.Usr_dlg().Warn_many("", "", "binding no longer exists; key=~{0}", new_itm.Key());} // could happen when breaking backward compatibility cur_itm.Init_by_set(new_itm.Box(), new_itm.Ipt()); } catch (Exception e) {win.Usr_dlg().Warn_many("", "", "failed to set custom binding; key=~{0} err=~{1}", new_itm.Key(), Err_.Message_gplx_brief(e));} diff --git a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java index adb2588c2..319992633 100644 --- a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java +++ b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java @@ -40,23 +40,23 @@ public class Xog_bnd_mgr_srl extends Dsv_wkr_base { } } private void Init() { - uids = OrderedHash_.new_(); + uids = Ordered_hash_.new_(); int len = bnd_mgr.Len(); for (int i = 0; i < len; i++) { Xog_bnd_itm bnd = (Xog_bnd_itm)bnd_mgr.Get_at(i); uids.Add(Int_obj_val.new_(bnd.Uid()), bnd); } bnd_parser = bnd_mgr.Bnd_parser(); - } private OrderedHash uids; private Gfui_bnd_parser bnd_parser; + } private Ordered_hash uids; private Gfui_bnd_parser bnd_parser; @Override public void Commit_itm(Dsv_tbl_parser parser, int pos) { if (uid == -1) throw parser.Err_row_bgn("bnd missing uid", pos); if (box_bry == null) throw parser.Err_row_bgn("bnd missing box", pos); if (ipt_bry == null) throw parser.Err_row_bgn("bnd missing ipt", pos); if (uids == null) Init(); - Xog_bnd_itm bnd = (Xog_bnd_itm)uids.Fetch(Int_obj_val.new_(uid)); - int box = Xog_bnd_box_.Xby_gui_str(String_.new_utf8_(box_bry)); - IptArg ipt = IptArg_.parse_or_none_(bnd_parser.Xto_gfui(String_.new_utf8_(ipt_bry))); + Xog_bnd_itm bnd = (Xog_bnd_itm)uids.Get_by(Int_obj_val.new_(uid)); + int box = Xog_bnd_box_.Xby_gui_str(String_.new_u8(box_bry)); + IptArg ipt = IptArg_.parse_or_none_(bnd_parser.Xto_gfui(String_.new_u8(ipt_bry))); bnd_mgr.Del(bnd, ipt); Xog_bnd_mgr_srl.Update_cfg(app, bnd, box, ipt); uid = -1; box_bry = ipt_bry = null; diff --git a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_ctg.java b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_ctg.java index 8915f57d3..4191ff115 100644 --- a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_ctg.java +++ b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_ctg.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.gui.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_cmd_ctg { - public Xog_cmd_ctg(int tid, String key_str) {this.tid = tid; this.key_str = key_str; this.key_bry = Bry_.new_utf8_(key_str);} + public Xog_cmd_ctg(int tid, String key_str) {this.tid = tid; this.key_str = key_str; this.key_bry = Bry_.new_u8(key_str);} public int Tid() {return tid;} private int tid; public String Key_str() {return key_str;} private String key_str; public byte[] Key_bry() {return key_bry;} private byte[] key_bry; diff --git a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm.java b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm.java index 2d33f6b03..9c75361e6 100644 --- a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm.java +++ b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm.java @@ -19,7 +19,7 @@ package gplx.xowa.gui.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa. public class Xog_cmd_itm { public Xog_cmd_itm(String key, Xog_cmd_ctg ctg, String cmd) { this.key = key; this.ctg = ctg; this.cmd = cmd; - this.key_bry = Bry_.new_utf8_(key); + this.key_bry = Bry_.new_u8(key); this.uid = ++Uid_next; } public int Uid() {return uid;} private int uid; diff --git a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm_.java b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm_.java index 5021d8fbf..1a69c7eea 100644 --- a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm_.java +++ b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_itm_.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.gui.cmds; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_cmd_itm_ { - private static final OrderedHash regy = OrderedHash_.new_(); // NOTE: must be defined at top + private static final Ordered_hash regy = Ordered_hash_.new_(); // NOTE: must be defined at top public static final String Key_app_exit = new_dflt_(Xog_ctg_itm_.Tid_app , "xowa.app.exit") @@ -157,15 +157,15 @@ public class Xog_cmd_itm_ { return key; } public static int Regy_len() {return regy.Count();} - public static Xog_cmd_itm Regy_get_at(int i) {return (Xog_cmd_itm)regy.FetchAt(i);} - public static Xog_cmd_itm Regy_get_or_null(String key) {return (Xog_cmd_itm)regy.Fetch(key);} + public static Xog_cmd_itm Regy_get_at(int i) {return (Xog_cmd_itm)regy.Get_at(i);} + public static Xog_cmd_itm Regy_get_or_null(String key) {return (Xog_cmd_itm)regy.Get_by(key);} public static void Regy_add(Xog_cmd_itm itm) {regy.Add(itm.Key(), itm);} public static final byte[] - Msg_pre_api = Bry_.new_ascii_("api-") - , Msg_pre_ctg = Bry_.new_ascii_("api.ctg-") - , Msg_suf_name = Bry_.new_ascii_("-name") - , Msg_suf_tip = Bry_.new_ascii_("-tip") - , Msg_suf_letter = Bry_.new_ascii_("-letter") - , Msg_suf_image = Bry_.new_ascii_("-image") + Msg_pre_api = Bry_.new_a7("api-") + , Msg_pre_ctg = Bry_.new_a7("api.ctg-") + , Msg_suf_name = Bry_.new_a7("-name") + , Msg_suf_tip = Bry_.new_a7("-tip") + , Msg_suf_letter = Bry_.new_a7("-letter") + , Msg_suf_image = Bry_.new_a7("-image") ; } diff --git a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_mgr.java b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_mgr.java index fac3f7be0..60480b3ba 100644 --- a/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/cmds/Xog_cmd_mgr.java @@ -27,7 +27,7 @@ public class Xog_cmd_mgr { private void Load_ctg_msgs(Xoae_app app) { Xog_cmd_ctg[] ary = Xog_ctg_itm_.Ary; int len = ary.length; - Xol_lang lang = app.User().Lang(); + Xol_lang lang = app.Usere().Lang(); for (int i = 0; i < len; i++) { Xog_cmd_ctg itm = ary[i]; itm.Name_(Xol_msg_mgr_.Get_msg_val_gui_or_null(app.Lang_mgr(), lang, Xog_cmd_itm_.Msg_pre_ctg, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name)); @@ -35,7 +35,7 @@ public class Xog_cmd_mgr { } private void Load_cmd_msgs(Xoae_app app) { int len = this.Len(); - Xol_lang lang = app.User().Lang(); + Xol_lang lang = app.Usere().Lang(); for (int i = 0; i < len; i++) { Xog_cmd_itm itm = this.Get_at(i); itm.Name_(Xol_msg_mgr_.Get_msg_val_gui_or_null(app.Lang_mgr(), lang, Xog_cmd_itm_.Msg_pre_api, itm.Key_bry(), Xog_cmd_itm_.Msg_suf_name)); diff --git a/400_xowa/src/gplx/xowa/gui/history/Xog_history_itm.java b/400_xowa/src/gplx/xowa/gui/history/Xog_history_itm.java index f3487004e..dd1caea00 100644 --- a/400_xowa/src/gplx/xowa/gui/history/Xog_history_itm.java +++ b/400_xowa/src/gplx/xowa/gui/history/Xog_history_itm.java @@ -38,14 +38,14 @@ public class Xog_history_itm { ; } public void Srl_save(Bry_bfr bfr) { - byte[] bmk_bry = Bry_.Replace(Bry_.new_utf8_(bmk_pos), Byte_ascii.Pipe, Byte_ascii.Tilde); // replace | with ~; EX: "0|1|2" -> "0~1~2" + byte[] bmk_bry = Bry_.Replace(Bry_.new_u8(bmk_pos), Byte_ascii.Pipe, Byte_ascii.Tilde); // replace | with ~; EX: "0|1|2" -> "0~1~2" bfr.Add(key).Add_byte_pipe().Add(bmk_bry).Add_byte_nl(); } public static Xog_history_itm Srl_load(byte[] raw) { byte[][] atrs = Bry_.Split(raw, Byte_ascii.Pipe); byte[] bmk_bry = atrs.length == 6 ? atrs[5] : Bry_.Empty; bmk_bry = Bry_.Replace(bmk_bry, Byte_ascii.Tilde, Byte_ascii.Pipe); - return new Xog_history_itm(atrs[0], atrs[1], atrs[2], atrs[3], atrs[4] == Bool_.Y_bry, String_.new_ascii_(bmk_bry)); + return new Xog_history_itm(atrs[0], atrs[1], atrs[2], atrs[3], atrs[4] == Bool_.Y_bry, String_.new_a7(bmk_bry)); } public static final String Html_doc_pos_toc = "top"; public static final Xog_history_itm Null = new Xog_history_itm(null, null, null, null, false, null); diff --git a/400_xowa/src/gplx/xowa/gui/history/Xog_history_mgr.java b/400_xowa/src/gplx/xowa/gui/history/Xog_history_mgr.java index 0a4d37af2..8118773cd 100644 --- a/400_xowa/src/gplx/xowa/gui/history/Xog_history_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/history/Xog_history_mgr.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.gui.history; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_history_mgr { - private final OrderedHash hash = OrderedHash_.new_bry_(); private final Xog_history_stack stack = new Xog_history_stack(); + private final Ordered_hash hash = Ordered_hash_.new_bry_(); private final Xog_history_stack stack = new Xog_history_stack(); public int Count() {return hash.Count();} public Xoae_page Cur_page(Xowe_wiki wiki) {return Get_or_fetch(wiki, stack.Cur_itm());} public Xoae_page Go_bwd(Xowe_wiki wiki) {return Go_by_dir(wiki, Bool_.N);} @@ -57,7 +57,7 @@ public class Xog_history_mgr { } private Xoae_page Get_or_fetch(Xowe_wiki wiki, Xog_history_itm itm) { byte[] page_key = Build_page_key(itm.Wiki(), itm.Page(), itm.Qarg()); - Xoae_page rv = (Xoae_page)hash.Fetch(page_key); + Xoae_page rv = (Xoae_page)hash.Get_by(page_key); if (rv != null) return rv; Xoa_ttl ttl = Xoa_ttl.parse_(wiki, itm.Page()); return wiki.Data_mgr().Get_page(ttl, false); diff --git a/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack.java b/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack.java index 986531505..78f455e27 100644 --- a/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack.java +++ b/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack.java @@ -17,12 +17,12 @@ along with this program. If not, see . */ package gplx.xowa.gui.history; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_history_stack { - private final ListAdp list = ListAdp_.new_(); + private final List_adp list = List_adp_.new_(); public int Len() {return list.Count();} public void Clear() {list.Clear(); cur_pos = 0;} - public Xog_history_itm Get_at(int i) {return (Xog_history_itm)list.FetchAt(i);} + public Xog_history_itm Get_at(int i) {return (Xog_history_itm)list.Get_at(i);} public int Cur_pos() {return cur_pos;} private int cur_pos = 0; - public Xog_history_itm Cur_itm() {return list.Count() == 0 ? Xog_history_itm.Null : (Xog_history_itm)list.FetchAt(cur_pos);} + public Xog_history_itm Cur_itm() {return list.Count() == 0 ? Xog_history_itm.Null : (Xog_history_itm)list.Get_at(cur_pos);} public void Add(Xog_history_itm new_itm) { Xog_history_itm cur_itm = this.Cur_itm(); if (cur_itm != Xog_history_itm.Null && cur_itm.Eq_wo_bmk_pos(new_itm)) return; // do not add if last itm is same; @@ -51,7 +51,7 @@ public class Xog_history_stack { public void Srl_save(Bry_bfr bfr) { int len = list.Count(); for (int i = 0; i < len; ++i) { - Xog_history_itm itm = (Xog_history_itm)list.FetchAt(i); + Xog_history_itm itm = (Xog_history_itm)list.Get_at(i); itm.Srl_save(bfr); } } diff --git a/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack_tst.java b/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack_tst.java index 9bbadb2d1..684b888af 100644 --- a/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack_tst.java +++ b/400_xowa/src/gplx/xowa/gui/history/Xog_history_stack_tst.java @@ -50,13 +50,13 @@ class Xog_history_stack_fxt { } private Xoae_app app; private Xowe_wiki wiki; private Xog_history_stack stack = new Xog_history_stack(); private Xoa_url_parser url_parser; public Xog_history_stack_fxt Test_cur(String expd) { Xog_history_itm page = stack.Cur_itm(); - String actl = page == null ? null : String_.new_utf8_(page.Page()); + String actl = page == null ? null : String_.new_u8(page.Page()); Tfds.Eq(expd, actl, "cur"); return this; } public Xog_history_stack_fxt Test_cur_qargs(String expd) { Xog_history_itm page = stack.Cur_itm(); - String actl = page == null ? null : String_.new_utf8_(page.Qarg()); + String actl = page == null ? null : String_.new_u8(page.Qarg()); Tfds.Eq(expd, actl, "cur_qargs"); return this; } @@ -71,11 +71,11 @@ class Xog_history_stack_fxt { return this; } public Xog_history_stack_fxt Exec_add_one(String ttl_str, String arg_str) { - byte[] ttl_bry = Bry_.new_utf8_(ttl_str); + byte[] ttl_bry = Bry_.new_u8(ttl_str); Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); Xoae_page page = Xoae_page.test_(wiki, ttl); byte[] url_bry = ttl_bry; - if (arg_str != null) url_bry = Bry_.Add(url_bry, Bry_.new_utf8_(arg_str)); + if (arg_str != null) url_bry = Bry_.Add(url_bry, Bry_.new_u8(arg_str)); Xoa_url url = url_parser.Parse(url_bry); page.Url_(url); // set url b/c history_mgr.Add uses url stack.Add(Xog_history_mgr.new_(page)); diff --git a/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mgr.java b/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mgr.java index 04afcab4f..eea6eb75d 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/menus/Xog_menu_mgr.java @@ -38,7 +38,7 @@ public class Xog_menu_mgr implements GfoInvkAble { if (!app.App_type().Uid_is_gui()) return; // NOTE: do not try to initialize menu if http_server; will fail in headless mode when it tries to load SWT images; DATE:2015-03-27 popup_mnu_mgr.Init_by_kit(); window_mnu_mgr.Init_by_kit(); - Lang_changed(app.User().Lang()); + Lang_changed(app.Usere().Lang()); } catch (Exception e) { // ignore errors while loading custom menus, else fatal error; DATE:2014-07-01 app.Usr_dlg().Warn_many("", "", "error while loading menus; err=~{0}", Err_.Message_gplx(e)); 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 cd0059a90..8f7ca5f74 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 @@ -236,12 +236,12 @@ class Xog_menu_bldr { return this; } private static final byte[] - Const_spr = Bry_.new_ascii_("add_spr;\n") - , Const_itm_btn_bgn_lhs = Bry_.new_ascii_("add_btn_default('") - , Const_itm_btn_bgn_rhs = Bry_.new_ascii_("');\n") - , Const_itm_grp_bgn_lhs = Bry_.new_ascii_("add_grp_default('") - , Const_itm_grp_bgn_rhs = Bry_.new_ascii_("') {\n") - , Const_itm_grp_end = Bry_.new_ascii_("}\n") + Const_spr = Bry_.new_a7("add_spr;\n") + , Const_itm_btn_bgn_lhs = Bry_.new_a7("add_btn_default('") + , Const_itm_btn_bgn_rhs = Bry_.new_a7("');\n") + , Const_itm_grp_bgn_lhs = Bry_.new_a7("add_grp_default('") + , Const_itm_grp_bgn_rhs = Bry_.new_a7("') {\n") + , Const_itm_grp_end = Bry_.new_a7("}\n") ; public static final Xog_menu_bldr _ = new Xog_menu_bldr(); Xog_menu_bldr() {} } diff --git a/400_xowa/src/gplx/xowa/gui/menus/Xog_popup_mnu_mgr.java b/400_xowa/src/gplx/xowa/gui/menus/Xog_popup_mnu_mgr.java index 0f480e804..ea8012627 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/Xog_popup_mnu_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/menus/Xog_popup_mnu_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.gui.menus; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.dom.*; public class Xog_popup_mnu_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_(); + private Ordered_hash hash = Ordered_hash_.new_(); private Xoa_gui_mgr gui_mgr; private Xog_mnu_grp[] mnus = new Xog_mnu_grp[6]; public Xog_popup_mnu_mgr(Xoa_gui_mgr gui_mgr, Xog_menu_mgr menu_mgr) { @@ -45,7 +45,7 @@ public class Xog_popup_mnu_mgr implements GfoInvkAble { Xog_mnu_base.Update_grp_by_lang(gui_mgr.Menu_mgr().Menu_bldr(), lang, mnus[i]); } public Xog_mnu_grp Get_or_new(String key) { - Xog_mnu_grp rv = (Xog_mnu_grp)hash.Fetch(key); + Xog_mnu_grp rv = (Xog_mnu_grp)hash.Get_by(key); if (rv == null) { rv = new Xog_mnu_grp(gui_mgr, true, key); hash.Add(key, rv); diff --git a/400_xowa/src/gplx/xowa/gui/menus/Xog_window_mnu_mgr.java b/400_xowa/src/gplx/xowa/gui/menus/Xog_window_mnu_mgr.java index 5d6546917..a8dd4ca6d 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/Xog_window_mnu_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/menus/Xog_window_mnu_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.gui.menus; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.dom.*; public class Xog_window_mnu_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_(); + private Ordered_hash hash = Ordered_hash_.new_(); public Xog_mnu_grp Browser() {return browser;} private Xog_mnu_grp browser; public Xog_window_mnu_mgr(Xoa_gui_mgr gui_mgr, Xog_menu_mgr menu_mgr) { this.gui_mgr = gui_mgr; @@ -28,7 +28,7 @@ public class Xog_window_mnu_mgr implements GfoInvkAble { browser.Source_exec(gui_mgr.App().Gfs_mgr()); // NOTE: build menu now; NOTE: do not set default here, or else will override user setting } public Xog_mnu_grp Get_or_new(String key) { - Xog_mnu_grp rv = (Xog_mnu_grp)hash.Fetch(key); + Xog_mnu_grp rv = (Xog_mnu_grp)hash.Get_by(key); if (rv == null) { rv = new Xog_mnu_grp(gui_mgr, false, key); hash.Add(key, rv); diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_base.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_base.java index f1a255647..45caf4de7 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_base.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_base.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.gui.menus.dom; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.*; import gplx.gfui.*; import gplx.xowa.langs.*; import gplx.xowa.gui.cmds.*; public abstract class Xog_mnu_base implements GfoInvkAble { - private ListAdp list = ListAdp_.new_(); + private List_adp list = List_adp_.new_(); public Xog_mnu_base() {evt_mgr = new Xog_mnu_evt_mgr(this);} public Xog_mnu_evt_mgr Evt_mgr() {return evt_mgr;} private Xog_mnu_evt_mgr evt_mgr; public void Evt_mgr_(Xog_mnu_evt_mgr v) {this.evt_mgr = v;} @@ -28,13 +28,13 @@ public abstract class Xog_mnu_base implements GfoInvkAble { public void Clear() { int len = list.Count(); for (int i = 0; i < len; i++) { - Xog_mnu_itm itm = (Xog_mnu_itm)list.FetchAt(i); + Xog_mnu_itm itm = (Xog_mnu_itm)list.Get_at(i); itm.Clear(); } list.Clear(); } public int Len() {return list.Count();} - public Xog_mnu_itm Get_at(int i) {return (Xog_mnu_itm)list.FetchAt(i);} + public Xog_mnu_itm Get_at(int i) {return (Xog_mnu_itm)list.Get_at(i);} public Xog_mnu_itm Add_btn_default(String key) {return Add_itm_default(Xog_mnu_itm.Tid_btn, key);} public Xog_mnu_itm Add_chk_default(String key) {return Add_itm_default(Xog_mnu_itm.Tid_chk, key);} public Xog_mnu_itm Add_rdo_default(String key) {return Add_itm_default(Xog_mnu_itm.Tid_rdo, key);} diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_bldr.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_bldr.java index 107ad62e3..e2a9cfbec 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_bldr.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_bldr.java @@ -50,8 +50,8 @@ public class Xog_mnu_bldr { } } public ImageAdp Get_img(String[] img_nest) { - Io_url img_url = img_nest.length == 0 ? Io_url_.Null : img_dir.GenSubFil_nest(img_nest); - return Io_mgr._.ExistsFil(img_url) ? kit.New_img_load(img_url) : ImageAdp_null._; // NOTE: must check if file exists else swt exception; NOTE: must use ImageAdp_null._, not ImageAdp_.Null, else error in non-X11 environments + Io_url img_url = img_nest.length == 0 ? Io_url_.Empty : img_dir.GenSubFil_nest(img_nest); + return Io_mgr.I.ExistsFil(img_url) ? kit.New_img_load(img_url) : ImageAdp_null._; // NOTE: must check if file exists else swt exception; NOTE: must use ImageAdp_null._, not ImageAdp_.Null, else error in non-X11 environments } private Gfui_mnu_itm Add_btn(Gfui_mnu_grp owner_gui, Xog_mnu_itm sub, String sub_text, String sub_shortcut) { String cmd_text = "app.api.exec('" + sub.Key() + "');"; diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_evt_mgr.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_evt_mgr.java index 60a9b659e..2f3aa725f 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_evt_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_evt_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.gui.menus.dom; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.*; import gplx.gfui.*; import gplx.xowa.gui.cmds.*; public class Xog_mnu_evt_mgr implements GfoEvObj { - private OrderedHash itms = OrderedHash_.new_(); + private Ordered_hash itms = Ordered_hash_.new_(); public Xog_mnu_evt_mgr(Xog_mnu_base owner) {this.ev_mgr = GfoEvMgr.new_(this);} public GfoEvMgr EvMgr() {return ev_mgr;} private GfoEvMgr ev_mgr; public void Sub(Gfui_mnu_itm mnu_itm) { @@ -28,7 +28,7 @@ public class Xog_mnu_evt_mgr implements GfoEvObj { if (ctx.Match(k, Evt_selected_changed)) { int len = itms.Count(); for (int i = 0; i < len; i++) { - Gfui_mnu_itm itm = (Gfui_mnu_itm)itms.FetchAt(i); + Gfui_mnu_itm itm = (Gfui_mnu_itm)itms.Get_at(i); itm.Selected_(m.ReadBool("v")); } } diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_grp.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_grp.java index 92c5de8ca..4fca6745e 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_grp.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_grp.java @@ -70,7 +70,7 @@ public class Xog_mnu_grp extends Xog_mnu_base { } Xog_mnu_bldr bldr = gui_mgr.Menu_mgr().Menu_bldr(); bldr.Build(under_mnu, this); - Xog_mnu_base.Update_grp_by_lang(bldr, app.User().Lang(), this); // NOTE: always set lang after rebuild; else changes in Help:Options/Menus will show blank captions; DATE:2014-06-05 + Xog_mnu_base.Update_grp_by_lang(bldr, app.Usere().Lang(), this); // NOTE: always set lang after rebuild; else changes in Help:Options/Menus will show blank captions; DATE:2014-06-05 if (mnu_is_popup) { boolean rebind_to_win = false; if (String_.Eq(key, Xog_popup_mnu_mgr.Root_key_tabs_btns)) { diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_itm.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_itm.java index f507e0e60..13f8c1826 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_itm.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_itm.java @@ -20,7 +20,7 @@ import gplx.gfui.*; import gplx.xowa.langs.*; import gplx.xowa.gui.cmds.*; impor public class Xog_mnu_itm extends Xog_mnu_base { private Xoa_gui_mgr gui_mgr; public Xog_mnu_itm(Xoa_gui_mgr gui_mgr, String key) { - this.gui_mgr = gui_mgr; this.key = key; this.key_bry = Bry_.new_utf8_(key); + this.gui_mgr = gui_mgr; this.key = key; this.key_bry = Bry_.new_u8(key); this.Ctor(gui_mgr); } public byte Tid() {return tid;} public Xog_mnu_itm Tid_(byte v) {tid = v; return this;} private byte tid; diff --git a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_regy.java b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_regy.java index 9e3b17c6b..0620a808b 100644 --- a/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_regy.java +++ b/400_xowa/src/gplx/xowa/gui/menus/dom/Xog_mnu_regy.java @@ -18,13 +18,13 @@ along with this program. If not, see . package gplx.xowa.gui.menus.dom; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.xowa.gui.menus.*; import gplx.xowa.gui.cmds.*; public class Xog_mnu_regy { - private OrderedHash hash; + private Ordered_hash hash; private Xoa_gui_mgr gui_mgr; public Xog_mnu_regy(Xoa_gui_mgr gui_mgr) { this.gui_mgr = gui_mgr; } public void Init_by_app(Xoae_app app) { - hash = OrderedHash_.new_(); + hash = Ordered_hash_.new_(); Xog_cmd_mgr cmd_mgr = app.Gui_mgr().Cmd_mgr(); int len = cmd_mgr.Len(); for (int i = 0; i < len; i++) { @@ -36,7 +36,7 @@ public class Xog_mnu_regy { Init_obsolete(hash, gui_mgr); } public Xog_mnu_itm Get_or_make(String key) { - Xog_mnu_itm rv = (Xog_mnu_itm)hash.Fetch(key); + Xog_mnu_itm rv = (Xog_mnu_itm)hash.Get_by(key); if (rv == null) { rv = new Xog_mnu_itm(gui_mgr, key); hash.Add(key, rv); @@ -45,7 +45,7 @@ public class Xog_mnu_regy { rv = rv.Clone(); return rv; } - private static void Init_obsolete(OrderedHash hash, Xoa_gui_mgr gui_mgr) { + private static void Init_obsolete(Ordered_hash hash, Xoa_gui_mgr gui_mgr) { Init_obsolete_itm(hash, gui_mgr, "xowa.file" , Xog_cmd_itm_.Key_gui_menus_group_file); Init_obsolete_itm(hash, gui_mgr, "xowa.tabs.new_dflt__at_dflt__focus_y" , Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y); Init_obsolete_itm(hash, gui_mgr, "xowa.tabs.close_cur" , Xog_cmd_itm_.Key_gui_browser_tabs_close_cur); @@ -96,7 +96,7 @@ public class Xog_mnu_regy { Init_obsolete_itm(hash, gui_mgr, "xowa.file.save_file_as" , Xog_cmd_itm_.Key_gui_page_selection_save_file_as); Init_obsolete_itm(hash, gui_mgr, "xowa.widgets.prog_log.show" , Xog_cmd_itm_.Key_gui_browser_prog_log_show); } - private static void Init_obsolete_itm(OrderedHash hash, Xoa_gui_mgr gui_mgr, String old, String cur) { + private static void Init_obsolete_itm(Ordered_hash hash, Xoa_gui_mgr gui_mgr, String old, String cur) { Xog_mnu_itm rv = new Xog_mnu_itm(gui_mgr, cur); hash.Add(old, rv); } diff --git a/400_xowa/src/gplx/xowa/gui/urls/Xof_orig_file_downloader.java b/400_xowa/src/gplx/xowa/gui/urls/Xof_orig_file_downloader.java new file mode 100644 index 000000000..b98f4ce2a --- /dev/null +++ b/400_xowa/src/gplx/xowa/gui/urls/Xof_orig_file_downloader.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.gui.urls; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; +import gplx.xowa.files.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.origs.*; +public class Xof_orig_file_downloader { + public static Xof_fsdb_itm Make_fsdb(Xowe_wiki wiki, byte[] lnki_ttl, Xof_img_size img_size, Xof_url_bldr url_bldr) { + Xof_fsdb_itm fsdb = new Xof_fsdb_itm(); + lnki_ttl = Xoa_ttl.Replace_spaces(Xoa_app_.Utl__encoder_mgr().Http_url().Decode(lnki_ttl)); + fsdb.Init_at_lnki(Xof_exec_tid.Tid_viewer_app, wiki.Domain_itm().Abrv_xo(), lnki_ttl, Xop_lnki_type.Id_none, Xop_lnki_tkn.Upright_null, Xof_img_size.Size_null_deprecated, Xof_img_size.Size_null_deprecated, Xof_lnki_time.Null, Xof_lnki_page.Null, Xof_patch_upright_tid_.Tid_all); + fsdb.Init_at_hdoc(Int_.MaxValue, Xof_html_elem.Tid_img);// NOTE: set elem_id to "impossible" number, otherwise it will auto-update an image on the page with a super-large size; [[File:Alfred Sisley 062.jpg]] + Xof_orig_itm orig = wiki.File__orig_mgr().Find_by_ttl_or_null(lnki_ttl); if (orig == Xof_orig_itm.Null) return null; // orig not found; need orig in order to get repo + Xof_repo_itm repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), lnki_ttl, Bry_.Empty); if (repo == null) return null; // repo not found + fsdb.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); + fsdb.Init_at_html(Xof_exec_tid.Tid_viewer_app, img_size, repo, url_bldr); + fsdb.File_is_orig_(true); + return fsdb; + } +} 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 c19fabdc3..fbc4f1a8b 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 @@ -16,14 +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.gui.urls; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; -import gplx.xowa.files.*; import gplx.xowa.gui.views.*; +import gplx.xowa.files.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.origs.*; +import gplx.xowa.gui.views.*; public class Xog_url_wkr { private Xoh_href href = new Xoh_href(); private Xoae_app app; private Xog_win_itm win; private Xowe_wiki wiki; private Xoae_page page; + private final Xof_img_size img_size = new Xof_img_size(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); public byte Href_tid() {return href.Tid();} public Xog_url_wkr Parse(Xog_win_itm win, String href_str) { if (href_str == null) return this; // text is not link; return; - byte[] href_bry = Bry_.new_utf8_(href_str); + byte[] href_bry = Bry_.new_u8(href_str); this.win = win; this.app = win.App(); this.page = win.Active_page(); this.wiki = win.Active_tab().Wiki(); @@ -44,7 +46,7 @@ public class Xog_url_wkr { } private Xoa_url Exec_url_xowa(Xoae_app app) { // EX: xowa:app.version // NOTE: must catch exception else it will bubble to SWT browser and raise secondary exception of xowa is not a registered protocol - try {app.Gfs_mgr().Run_str(String_.new_utf8_(href.Page()));} + try {app.Gfs_mgr().Run_str(String_.new_u8(href.Page()));} catch (Exception e) {app.Gui_mgr().Kit().Ask_ok("", "", Err_.Message_gplx_brief(e));} return Rslt_handled; } @@ -53,7 +55,7 @@ public class Xog_url_wkr { return Rslt_handled; } private Xoa_url Exec_url_anchor(Xog_win_itm win) { // EX: #anchor - win.Active_html_itm().Scroll_page_by_id_gui(String_.new_utf8_(href.Anchor())); // NOTE: was originally directly; changed to call on thread; DATE:2014-05-03 + win.Active_html_itm().Scroll_page_by_id_gui(String_.new_u8(href.Anchor())); // NOTE: was originally directly; changed to call on thread; DATE:2014-05-03 return Rslt_handled; } private Xoa_url Exec_url_xcmd(Xog_win_itm win) { // EX: /xcmd/ @@ -61,34 +63,35 @@ public class Xog_url_wkr { int xowa_href_bry_len = xowa_href_bry.length; int slash_pos = Bry_finder.Find_fwd(xowa_href_bry, Byte_ascii.Slash); if (slash_pos == Bry_.NotFound) slash_pos = xowa_href_bry_len; byte[] xowa_cmd_bry = Bry_.Mid(xowa_href_bry, 0, slash_pos); - String xowa_cmd_str = String_.new_utf8_(xowa_cmd_bry); + String xowa_cmd_str = String_.new_u8(xowa_cmd_bry); GfoMsg m = GfoMsg_.new_cast_(xowa_cmd_str); if (String_.Eq(xowa_cmd_str, Xog_win_itm.Invk_eval)) - m.Add("cmd", String_.new_utf8_(xowa_href_bry, slash_pos + 1, xowa_href_bry_len)); + m.Add("cmd", String_.new_u8(xowa_href_bry, slash_pos + 1, xowa_href_bry_len)); win.Invk(GfsCtx.new_(), 0, xowa_cmd_str, m); return Rslt_handled; } - private Xoa_url Exec_url_file(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xog_win_itm win, byte[] href_bry) { // EX: file:///xowa/A.png - href_bry = Xoa_app_.Utl__encoder_mgr().Url().Decode(href_bry); - Io_url href_url = Io_url_.http_any_(String_.new_utf8_(href_bry), Op_sys.Cur().Tid_is_wnt()); + private Xoa_url Exec_url_file(Xoae_app app, Xowe_wiki cur_wiki, Xoae_page page, Xog_win_itm win, byte[] href_bry) { // EX: file:///xowa/A.png + Xowe_wiki wiki = (Xowe_wiki)page.Commons_mgr().Source_wiki_or(cur_wiki); + Io_url href_url = Io_url_.http_any_(String_.new_u8(Xoa_app_.Utl__encoder_mgr().Http_url().Decode(href_bry)), Op_sys.Cur().Tid_is_wnt()); gplx.gfui.Gfui_html html_box = win.Active_html_box(); String xowa_ttl = wiki.Gui_mgr().Cfg_browser().Content_editable() ? html_box.Html_active_atr_get_str(gplx.xowa.html.Xoh_consts.Atr_xowa_title_str, null) - : Xoh_dom_.Title_by_href(Xoa_app_.Utl__encoder_mgr().Comma(), app.Utl__bfr_mkr().Get_b512().Mkr_rls(), href_bry, Bry_.new_utf8_(html_box.Html_doc_html())); - if (!Io_mgr._.ExistsFil(href_url)) { - Xof_xfer_itm xfer_itm = new Xof_xfer_itm(); - byte[] title = Xoa_app_.Utl__encoder_mgr().Url().Decode(Bry_.new_utf8_(xowa_ttl)); - xfer_itm.Init_by_lnki(title, Bry_.Empty, Xop_lnki_type.Id_none, -1, -1, -1, Xof_lnki_time.Null, Xof_lnki_page.Null); - wiki.File_mgr().Find_meta(xfer_itm); - page.File_queue().Clear(); - page.File_queue().Add(xfer_itm); // NOTE: set elem_id to "impossible" number, otherwise it will auto-update an image on the page with a super-large size; [[File:Alfred Sisley 062.jpg]] - wiki.File_mgr().Repo_mgr().Xfer_mgr().Force_orig_y_(); - page.File_queue().Exec(Xof_exec_tid.Tid_viewer_app, win.Usr_dlg(), wiki, page); - wiki.File_mgr().Repo_mgr().Xfer_mgr().Force_orig_n_(); + : Xoh_dom_.Title_by_href(href_bry, Bry_.new_u8(html_box.Html_doc_html())); + byte[] lnki_ttl = Xoa_app_.Utl__encoder_mgr().Http_url().Decode(Xoa_ttl.Replace_spaces(Bry_.new_u8(xowa_ttl))); + Xof_fsdb_itm fsdb = Xof_orig_file_downloader.Make_fsdb(wiki, lnki_ttl, img_size, url_bldr); + if (!Io_mgr.I.ExistsFil(href_url)) { +// if (!Xof_orig_file_downloader.Get_to_url(fsdb, href_url, wiki, lnki_ttl, url_bldr)) + if (!Xof_file_wkr.Show_img(fsdb, Xoa_app_.Usr_dlg(), wiki.File__bin_mgr(), wiki.File__mnt_mgr(), wiki.App().User().File__cache_mgr(), wiki.File__repo_mgr(), gplx.xowa.files.gui.Xog_js_wkr_.Noop, img_size, url_bldr, page)) + return Rslt_handled; } - if (Io_mgr._.ExistsFil(href_url)) { + gplx.ios.IoItmFil fil = Io_mgr.I.QueryFil(href_url); + if (fil.Exists()) { ProcessAdp media_player = app.Prog_mgr().App_by_ext(href_url.Ext()); media_player.Run(href_url); + fsdb.File_size_(fil.Size()); + gplx.xowa.files.caches.Xou_cache_mgr cache_mgr = wiki.Appe().User().File__cache_mgr(); + cache_mgr.Update(fsdb); + cache_mgr.Db_save(); } return Rslt_handled; } diff --git a/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr_tst.java b/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr_tst.java index 983c7349b..1b974dfbf 100644 --- a/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr_tst.java +++ b/400_xowa/src/gplx/xowa/gui/urls/Xog_url_wkr_tst.java @@ -39,7 +39,7 @@ public class Xog_url_wkr_tst { fxt.Init_exec("file:///wiki/Category:A?pagefrom=A#mw-pages").Expd_tid_(Xoh_href.Tid_wiki).Expd_page_("Category:A").Expd_qargs_("?pagefrom=A").Expd_anchor_("mw-pages").Test(); } @Test public void Xwiki() { - Xow_ns_mgr ns_mgr = fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_ascii_("en.wiktionary.org")).Ns_mgr(); + Xow_ns_mgr ns_mgr = fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_a7("en.wiktionary.org")).Ns_mgr(); ns_mgr.Ns_main().Case_match_(Xow_ns_case_.Id_all); fxt.Init_exec("file:///site/en.wiktionary.org/wiki/a").Expd_tid_(Xoh_href.Tid_site).Expd_wiki_("en.wiktionary.org").Expd_page_("a").Test(); @@ -58,10 +58,10 @@ public class Xog_url_wkr_tst { fxt.Init_exec("file:///site/en.wikipedia.org/").Expd_tid_(Xoh_href.Tid_site).Expd_wiki_("en.wikipedia.org").Expd_page_("Main_Page").Test(); } @Test public void Main_page() {// PURPOSE: Main_page does not update to use Main_page of xwiki; DATE:2014-02-23 - fxt.App().User().Wiki().Xwiki_mgr().Add_full("zh.wikipedia.org", "zh.wikipedia.org"); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full("zh.wikipedia.org", "zh.wikipedia.org"); gplx.xowa.wikis.Xoa_wiki_regy.Make_wiki_dir(fxt.App(), "zh.wikipedia.org"); - fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_ascii_("zh.wikipedia.org")).Props().Main_page_(Bry_.new_ascii_("Zh_Main_Page")); - fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_ascii_("en.wikipedia.org")).Props().Main_page_(Bry_.new_ascii_("En_Main_Page")); + fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_a7("zh.wikipedia.org")).Props().Main_page_(Bry_.new_a7("Zh_Main_Page")); + fxt.App().Wiki_mgr().Get_by_key_or_make(Bry_.new_a7("en.wikipedia.org")).Props().Main_page_(Bry_.new_a7("En_Main_Page")); fxt.Init_exec("file:///site/zh.wikipedia.org/").Expd_tid_(Xoh_href.Tid_site).Expd_wiki_("zh.wikipedia.org").Expd_page_("Zh_Main_Page").Test(); fxt.Init_exec("file:///site/en.wikipedia.org/").Expd_tid_(Xoh_href.Tid_site).Expd_wiki_("en.wikipedia.org").Expd_page_("En_Main_Page").Test(); // still stuck at Zh } @@ -82,7 +82,7 @@ class Xog_url_wkr_fxt { wiki = Xoa_app_fxt.wiki_tst_(app); Xoa_app_fxt.Init_gui(app, wiki); win = app.Gui_mgr().Browser_win(); - win.Active_page_(Xoae_page.test_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_utf8_("test")))); // TODO: remove unnecessary page init + win.Active_page_(Xoae_page.test_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_u8("test")))); // TODO: remove unnecessary page init expd_wiki = expd_page = expd_qargs = expd_anchor = null; } public Xog_url_wkr_fxt Init_exec(String raw) { @@ -92,9 +92,9 @@ class Xog_url_wkr_fxt { public void Test() { Xoa_url url = url_wkr.Parse(win, init_raw).Exec(); Tfds.Eq(expd_tid, url_wkr.Href_tid()); - Tfds.Eq(expd_page, String_.new_utf8_(url.Page_bry())); - if (expd_wiki != null) Tfds.Eq(expd_wiki , String_.new_utf8_(url.Wiki_bry())); - if (expd_anchor != null) Tfds.Eq(expd_anchor , String_.new_utf8_(url.Anchor_bry())); - if (expd_qargs != null) Tfds.Eq(expd_qargs , String_.new_utf8_(url.Args_all_as_bry())); + Tfds.Eq(expd_page, String_.new_u8(url.Page_bry())); + if (expd_wiki != null) Tfds.Eq(expd_wiki , String_.new_u8(url.Wiki_bry())); + if (expd_anchor != null) Tfds.Eq(expd_anchor , String_.new_u8(url.Anchor_bry())); + if (expd_qargs != null) Tfds.Eq(expd_qargs , String_.new_u8(url.Args_all_as_bry())); } } 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 484faa331..009972aad 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 @@ -20,7 +20,7 @@ import gplx.core.btries.*; public class Xog_url_macro_grp implements GfoInvkAble { public Btrie_slim_mgr Trie() {return trie;} private Btrie_slim_mgr trie = Btrie_slim_mgr.cs_(); public void Del(byte[] abrv) {trie.Del(abrv);} - public void Set(String abrv, String fmt) {Set(Bry_.new_utf8_(abrv), Bry_.new_utf8_(fmt));} + public void Set(String abrv, String fmt) {Set(Bry_.new_u8(abrv), Bry_.new_u8(fmt));} public void Set(byte[] abrv, byte[] fmt) {trie.Add_obj(abrv, new Xog_url_macro_itm(abrv, fmt));} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_clear)) trie.Clear(); diff --git a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr.java b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr.java index 427f818df..05bd8578f 100644 --- a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr.java @@ -21,7 +21,7 @@ public class Xog_url_macro_mgr { public Xog_url_macro_mgr() { this.Init(); } - public void Lang_default_(byte[] v) {lang_default = v;} private byte[] lang_default = Bry_.new_ascii_("en"); + public void Lang_default_(byte[] v) {lang_default = v;} private byte[] lang_default = Bry_.new_a7("en"); public Xog_url_macro_grp Types_mgr() {return types_mgr;} private Xog_url_macro_grp types_mgr = new Xog_url_macro_grp(); public Xog_url_macro_grp Custom_mgr() {return custom_mgr;} private Xog_url_macro_grp custom_mgr = new Xog_url_macro_grp(); public byte[] Fmt_or_null(byte[] raw) { @@ -80,7 +80,7 @@ public class Xog_url_macro_mgr { custom_mgr.Set("?" , "Special:Search/~{0}?fulltext=y"); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_lang_default)) return String_.new_utf8_(lang_default); + if (ctx.Match(k, Invk_lang_default)) return String_.new_u8(lang_default); else if (ctx.Match(k, Invk_lang_default_)) lang_default = m.ReadBry("v"); else if (ctx.Match(k, Invk_types)) return types_mgr; else if (ctx.Match(k, Invk_custom)) return custom_mgr; diff --git a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr_tst.java b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr_tst.java index 828ee27cc..32fc9eadc 100644 --- a/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/gui/urls/url_macros/Xog_url_macro_mgr_tst.java @@ -29,7 +29,7 @@ public class Xog_url_macro_mgr_tst { @Test public void Type_custom() {fxt.Test("wd.q:123" , "www.wikidata.org/wiki/Q123");} @Test public void Type_del() { fxt.Test("w:A", "en.wikipedia.org/wiki/A"); - fxt.Abrv_mgr().Types_mgr().Del(Bry_.new_utf8_("w")); + fxt.Abrv_mgr().Types_mgr().Del(Bry_.new_u8("w")); fxt.Test("w:A", null); } @Test public void Type_set() { @@ -37,7 +37,7 @@ public class Xog_url_macro_mgr_tst { fxt.Test("w.A", null); } @Test public void Lang_default() { - fxt.Abrv_mgr().Lang_default_(Bry_.new_ascii_("fr")); + fxt.Abrv_mgr().Lang_default_(Bry_.new_a7("fr")); fxt.Test("w:Page", "fr.wikipedia.org/wiki/Page"); } @Test public void Precedence() { // PURPOSE: Custom should take precedence over type @@ -51,6 +51,6 @@ class Xog_url_macro_mgr_fxt { } public Xog_url_macro_mgr Abrv_mgr() {return abrv_mgr;} private Xog_url_macro_mgr abrv_mgr; public void Test(String raw, String expd) { - Tfds.Eq(expd, String_.new_ascii_(abrv_mgr.Fmt_or_null(Bry_.new_ascii_(raw)))); + Tfds.Eq(expd, String_.new_a7(abrv_mgr.Fmt_or_null(Bry_.new_a7(raw)))); } } diff --git a/400_xowa/src/gplx/xowa/gui/views/Load_page_wkr.java b/400_xowa/src/gplx/xowa/gui/views/Load_page_wkr.java index 614051e39..ded6da0eb 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Load_page_wkr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Load_page_wkr.java @@ -54,7 +54,7 @@ public class Load_page_wkr implements Gfo_thread_wkr { app.Free_mem(false); // clear caches (which will clear bry_bfr_mk) else // not low in memory app.Utl__bfr_mkr().Clear(); // clear bry_bfr_mk only; NOTE: call before page parse, not when page is first added, else threading errors; DATE:2014-05-30 - this.page = wiki.GetPageByTtl(url, ttl, wiki.Lang(), tab, false); + this.page = wiki.Load_page_by_ttl(url, ttl, wiki.Lang(), tab, false); int html_db_id = page.Revision_data().Html_db_id(); if (wiki.Html__hdump_enabled()) hdump_enabled = true; 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 31162b91d..744d08ed3 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 @@ -52,7 +52,7 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { private String Html_extract_text(String v) { Xoae_page page = owner_tab.Page(); String site = owner_tab.Wiki().Domain_str(); - String ttl = String_.new_utf8_(page.Ttl().Full_db()); + String ttl = String_.new_u8(page.Ttl().Full_db()); return Xog_html_itm__href_extractor.Html_extract_text(site, ttl, v); } public void Show(Xoae_page page) { @@ -65,9 +65,9 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { } } private void Html_src_(Xoae_page page, byte[] html_bry) { - String html_str = String_.new_utf8_(html_bry); + String html_str = String_.new_u8(html_bry); if (owner_tab.Tab_mgr().Html_load_tid__url()) { - Io_url html_url = app.User().Fsys_mgr().App_temp_html_dir().GenSubFil_ary(owner_tab.Tab_key(), ".html"); + Io_url html_url = app.Usere().Fsys_mgr().App_temp_html_dir().GenSubFil_ary(owner_tab.Tab_key(), ".html"); try {html_box.Html_doc_html_load_by_url(html_url.Xto_api(), html_str);} catch (Exception e) { app.Usr_dlg().Warn_many("", "", "failed to write html to file; writing directly by memory: page=~{0} file=~{1} err=~{2}", page.Url().Xto_full_str_safe(), html_url.Raw(), Err_.Message_gplx(e)); @@ -88,7 +88,7 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { src_itm.js_cbk = trg_js_cbk; trg_itm.js_cbk = src_js_cbk; } - public byte[] Get_elem_value_for_edit_box_as_bry() {return Bry_.new_utf8_(this.Get_elem_value_for_edit_box());} + public byte[] Get_elem_value_for_edit_box_as_bry() {return Bry_.new_u8(this.Get_elem_value_for_edit_box());} public String Get_elem_value_for_edit_box() {return html_box.Html_elem_atr_get_str(Elem_id__xowa_edit_data_box, Gfui_html.Atr_value);} public String Get_elem_value(String elem_id) {return html_box.Html_elem_atr_get_str(elem_id, Gfui_html.Atr_value);} public void Html_img_update(String elem_id, String elem_src, int elem_width, int elem_height) { @@ -215,7 +215,7 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { class Xog_html_itm__href_extractor { private static final byte Text_tid_none = 0, Text_tid_text = 1, Text_tid_href = 2; private static final byte Href_tid_wiki = 1, Href_tid_site = 2, Href_tid_anchor = 3; - private static final byte[] File_protocol_bry = Bry_.new_ascii_("file://"); + private static final byte[] File_protocol_bry = Bry_.new_a7("file://"); private static final int File_protocol_len = File_protocol_bry.length; private static final Btrie_slim_mgr href_trie = Btrie_slim_mgr.cs_() .Add_str_byte("/site/" , Href_tid_site) @@ -223,12 +223,12 @@ class Xog_html_itm__href_extractor { .Add_str_byte("#" , Href_tid_anchor) ; public static String Html_extract_text(String site, String page, String text_str) { - byte[] text_bry = Bry_.new_utf8_(text_str); + byte[] text_bry = Bry_.new_u8(text_str); int text_tid = Byte_ascii.Xto_digit(text_bry[0]); int text_len = text_bry.length; switch (text_tid) { case Text_tid_none: return ""; - case Text_tid_text: return String_.new_utf8_(text_bry, 2, text_len); // 2 to skip "1|" + case Text_tid_text: return String_.new_u8(text_bry, 2, text_len); // 2 to skip "1|" case Text_tid_href: break; // fall through to below default: throw Err_.unhandled(text_tid); } @@ -239,12 +239,12 @@ class Xog_html_itm__href_extractor { Byte_obj_val href_tid = (Byte_obj_val)href_trie.Match_bgn(text_bry, href_bgn, text_len); if (href_tid != null) { switch (href_tid.Val()) { - case Href_tid_wiki: return site + String_.new_utf8_(text_bry, href_bgn, text_len); - case Href_tid_site: return String_.new_utf8_(text_bry, href_bgn + 6, text_len); // +6 to skip "site/" - case Href_tid_anchor: return site + "/wiki/" + page + String_.new_utf8_(text_bry, href_bgn, text_len); + case Href_tid_wiki: return site + String_.new_u8(text_bry, href_bgn, text_len); + case Href_tid_site: return String_.new_u8(text_bry, href_bgn + 6, text_len); // +6 to skip "site/" + case Href_tid_anchor: return site + "/wiki/" + page + String_.new_u8(text_bry, href_bgn, text_len); } } - return String_.new_utf8_(text_bry, 2, text_len); // 2 to skip "2|"; handles "http://" text as well as any fall-thru from above + return String_.new_u8(text_bry, 2, text_len); // 2 to skip "2|"; handles "http://" text as well as any fall-thru from above } public static final Xog_html_itm__href_extractor _ = new Xog_html_itm__href_extractor(); Xog_html_itm__href_extractor() {} } 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 087e3be98..dc27b6798 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 @@ -28,7 +28,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { bfr.Add_str(m.Key()); 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()); + bfr.Add_str_a7("|").Add_str(m.Args_getAt(i).Val_to_str_or_empty()); 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 @@ -44,7 +44,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { Xowe_wiki wiki = html_itm.Owner_tab().Wiki(); Xop_ctx ctx = wiki.Ctx(); boolean old_para_enabled = ctx.Para().Enabled(); - byte[] raw = Bry_.new_utf8_(m.Args_getAt(0).Val_to_str_or_empty()); + byte[] raw = Bry_.new_u8(m.Args_getAt(0).Val_to_str_or_empty()); boolean para_enabled = m.Args_count() < 2 ? false : Bool_.parse_(m.Args_getAt(1).Val_to_str_or_empty()); try { wiki.Ctx().Para().Enabled_(para_enabled); @@ -62,7 +62,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { try { Xoa_ttl ttl = Xoa_ttl.parse_(wiki, m.Args_getAt(0).Val_to_bry()); Xoae_page page = wiki.Data_mgr().Get_page(ttl, false); - return String_.new_utf8_(page.Data_raw()); + return String_.new_u8(page.Data_raw()); } catch (Exception e) {Err_.Noop(e); return null;} } private String Popups_get_async_bgn(GfoMsg m) { @@ -86,12 +86,12 @@ public class Xog_html_js_cbk implements GfoInvkAble { Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); wiki.Db_mgr().Load_mgr().Load_by_ttl(tmp_page, ttl.Ns(), ttl.Page_db()); } - return String_.Ary(tmp_page.Exists() ? "1" : "0", Int_.Xto_str(tmp_page.Id()), Int_.Xto_str(tmp_page.Ns_id()), String_.new_utf8_(tmp_page.Ttl_page_db()), Bool_.Xto_str_lower(tmp_page.Redirected()), tmp_page.Modified_on().XtoStr_fmt("yyyy-MM-dd HH:mm:ss"), Int_.Xto_str(tmp_page.Text_len())); + return String_.Ary(tmp_page.Exists() ? "1" : "0", Int_.Xto_str(tmp_page.Id()), Int_.Xto_str(tmp_page.Ns_id()), String_.new_u8(tmp_page.Ttl_page_db()), Bool_.Xto_str_lower(tmp_page.Redirected()), tmp_page.Modified_on().XtoStr_fmt("yyyy-MM-dd HH:mm:ss"), Int_.Xto_str(tmp_page.Text_len())); } private static final Xowd_page_itm tmp_page = Xowd_page_itm.new_tmp(); private String[][] Get_titles_meta(GfoMsg m) { Xowe_wiki wiki = html_itm.Owner_tab().Wiki(); try { - byte[][] ttls = Bry_.Split(Bry_.new_utf8_((String)m.ReadValAt(0)), Byte_ascii.NewLine); + byte[][] ttls = Bry_.Split(Bry_.new_u8((String)m.ReadValAt(0)), Byte_ascii.NewLine); int ttls_len = ttls.length; String[][] rv = new String[ttls_len][]; for (int i = 0; i < ttls_len; i++) { @@ -119,8 +119,8 @@ public class Xog_html_js_cbk implements GfoInvkAble { } private String Get_search_suggestions(GfoMsg m) { Xowe_wiki wiki = html_itm.Owner_tab().Wiki(); - byte[] search_str = Bry_.new_utf8_((String)m.ReadValAt(0)); - byte[] cbk_func = Bry_.new_utf8_((String)m.ReadValAt(1)); + byte[] search_str = Bry_.new_u8((String)m.ReadValAt(0)); + byte[] cbk_func = Bry_.new_u8((String)m.ReadValAt(1)); app.Gui_mgr().Search_suggest_mgr().Search(wiki, search_str, cbk_func); return ""; } @@ -149,7 +149,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { val_bry = page.Label_list_get(lang_key); } if (val_bry == null) continue; - rv[i - 1] = String_.new_utf8_(val_bry); + rv[i - 1] = String_.new_u8(val_bry); break; } } catch (Exception e) {Err_.Noop(e); rv[i] = null;} @@ -166,7 +166,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { catch (Exception e) {Err_.Noop(e); return null;} return Object_.Xto_str_strict_or_empty(rv); } - private static final byte[] Wikidata_get_label_xowa_ui_lang = Bry_.new_ascii_("xowa_ui_lang"), Wikidata_get_label_xowa_title = Bry_.new_ascii_("xowa_title"); + private static final byte[] Wikidata_get_label_xowa_ui_lang = Bry_.new_a7("xowa_ui_lang"), Wikidata_get_label_xowa_title = Bry_.new_a7("xowa_title"); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_parse_to_html)) return Parse_to_html(m); else if (ctx.Match(k, Invk_wikidata_get_label)) return Wikidata_get_label(m); @@ -178,7 +178,7 @@ public class Xog_html_js_cbk implements GfoInvkAble { else if (ctx.Match(k, Invk_get_search_suggestions)) return Get_search_suggestions(m); else if (ctx.Match(k, Invk_get_titles_meta)) return Get_titles_meta(m); else if (ctx.Match(k, Invk_get_titles_exists)) return Get_titles_exists(m); - else if (ctx.Match(k, Invk_get_current_url)) return String_.new_utf8_(html_itm.Owner_tab().Page().Url().Raw()); + else if (ctx.Match(k, Invk_get_current_url)) return String_.new_u8(html_itm.Owner_tab().Page().Url().Raw()); else if (ctx.Match(k, Invk_xowa_exec_test)) return Xowa_exec_test(m); else if (ctx.Match(k, Invk_xowa_exec_test_as_array)) return Xowa_exec_test_as_array(m); else return GfoInvkAble_.Rv_unhandled; diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_tst.java b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_tst.java index 56cfcd863..b89e992bf 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_tst.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_tst.java @@ -34,7 +34,7 @@ class Xog_html_js_cbk_fxt { public void Test_get_title(String ttl, Object... expd) { Xoae_app app = fxt.App(); Xowe_wiki wiki = fxt.Wiki(); - Xoae_page page = Xoae_page.test_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_ascii_("mock_page"))); + Xoae_page page = Xoae_page.test_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_a7("mock_page"))); Xog_tab_itm tab = app.Gui_mgr().Browser_win().Active_tab(); tab.Page_(page); Xog_html_js_cbk exec = tab.Html_itm().Js_cbk(); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_wdata_labels_tst.java b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_wdata_labels_tst.java index f21698587..dc721eed0 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_wdata_labels_tst.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_html_js_cbk_wdata_labels_tst.java @@ -47,7 +47,7 @@ public class Xog_html_js_cbk_wdata_labels_tst { private Wdata_doc doc_(String qid, String src) { gplx.json.Json_doc doc = gplx.json.Json_doc.new_apos_(src); Xoae_app app = Xoa_app_fxt.app_(); - Wdata_doc rv = new Wdata_doc(Bry_.new_ascii_(qid), app.Wiki_mgr().Wdata_mgr(), doc); + Wdata_doc rv = new Wdata_doc(Bry_.new_a7(qid), app.Wiki_mgr().Wdata_mgr(), doc); return rv; } private void Tst_wikidata_label_get(String[] args, String[] expd) { diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java b/400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java index 37f5ed0d3..a7d15a893 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_launcher_tabs.java @@ -20,9 +20,9 @@ class Xog_launcher_tabs { public void Launch(Xog_win_itm win) { Xoae_app app = win.App(); Gfo_log_bfr log_bfr = app.Log_bfr(); log_bfr.Add("app.launch.page.bgn"); - Io_fil_marker fil_marker = new Io_fil_marker().Usr_dlg_(app.Usr_dlg()).Url_(app.User().Fsys_mgr().App_temp_dir().GenSubFil_nest("session", "launch.tabs.marker")); + Io_fil_marker fil_marker = new Io_fil_marker().Usr_dlg_(app.Usr_dlg()).Url_(app.Usere().Fsys_mgr().App_temp_dir().GenSubFil_nest("session", "launch.tabs.marker")); boolean tabs_restored = false; - Xowe_wiki home_wiki = app.User().Wiki(); + Xowe_wiki home_wiki = app.Usere().Wiki(); if (fil_marker.Bgn()) tabs_restored = Restore_tabs(app, home_wiki, win, fil_marker); if (!tabs_restored) @@ -76,15 +76,15 @@ class Io_fil_marker { boolean rv = false; synchronized (this) { try { - rv = !Io_mgr._.ExistsFil(url); // exists = fail; !exists = pass; + rv = !Io_mgr.I.ExistsFil(url); // exists = fail; !exists = pass; if (rv) // pass: file does not exist; - Io_mgr._.SaveFilStr(url, ""); // create + Io_mgr.I.SaveFilStr(url, ""); // create else // file exists from previous run - Io_mgr._.DeleteFil(url); // delete + Io_mgr.I.DeleteFil(url); // delete } catch (Exception exc) { // something unexpected happened usr_dlg.Warn_many("", "", "marker.bgn failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx(exc)); - Io_mgr._.DeleteFil(url); // try to delete it again + Io_mgr.I.DeleteFil(url); // try to delete it again } } return rv; @@ -92,11 +92,11 @@ class Io_fil_marker { public void End() { synchronized (this) { try { - Io_mgr._.DeleteFil(url); // delete + Io_mgr.I.DeleteFil(url); // delete } catch (Exception exc) { usr_dlg.Warn_many("", "", "marker.end failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx(exc)); - Io_mgr._.DeleteFil(url); // try to delete it again + Io_mgr.I.DeleteFil(url); // try to delete it again } } } diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_close_mgr.java b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_close_mgr.java index be43a1abb..0f83be3d9 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_close_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_close_mgr.java @@ -17,11 +17,11 @@ along with this program. If not, see . */ package gplx.xowa.gui.views; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; public class Xog_tab_close_mgr { - private ListAdp list = ListAdp_.new_(); + private List_adp list = List_adp_.new_(); public void Clear() {list.Clear();} public void Add(Xog_tab_close_lnr lnr) {list.Add(lnr);} public int Len() {return list.Count();} - public Xog_tab_close_lnr Get_at(int i) {return (Xog_tab_close_lnr)list.FetchAt(i);} + public Xog_tab_close_lnr Get_at(int i) {return (Xog_tab_close_lnr)list.Get_at(i);} public boolean When_close(Xog_tab_itm tab, Xoa_url url) { int len = list.Count(); for (int i = 0; i < len; ++i) { diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm.java b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm.java index eab6064eb..0617fcdd9 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm.java @@ -86,7 +86,7 @@ public class Xog_tab_itm implements GfoInvkAble { public void Tab_name_() { byte[] tab_name = page.Html_data().Custom_name(); if (tab_name == null) tab_name = page.Ttl().Full_txt(); - Tab_name_(String_.new_utf8_(tab_name)); + Tab_name_(String_.new_u8(tab_name)); } public void Tab_name_(String tab_name) { Xocfg_tab_btn_mgr cfg_tab_btn_mgr = cfg_tab_mgr.Btn_mgr(); @@ -117,9 +117,9 @@ public class Xog_tab_itm implements GfoInvkAble { this.wiki = app.Wiki_mgr().Get_by_key_or_null(url.Wiki_bry()); // NOTE: must update wiki wiki.Init_assert(); // NOTE: assert wiki.Init before parsing; needed b/c lang (with lang-specific ns) is only loaded on init, and parse Xoa_ttl.parse_ will fail below; EX:pt.wikipedia.org/wiki/Wikipedia:P�gina principal Xoa_ttl ttl = Xoa_ttl.parse_(wiki, url.Page_bry()); - if (ttl == null) {usr_dlg.Prog_one("", "", "title is invalid: ~{0}", String_.new_utf8_(url.Raw())); return;} - Tab_name_(String_.new_utf8_(ttl.Full_txt())); - usr_dlg.Prog_one("", "", "loading: ~{0}", String_.new_utf8_(ttl.Raw())); + if (ttl == null) {usr_dlg.Prog_one("", "", "title is invalid: ~{0}", String_.new_u8(url.Raw())); return;} + Tab_name_(String_.new_u8(ttl.Full_txt())); + usr_dlg.Prog_one("", "", "loading: ~{0}", String_.new_u8(ttl.Raw())); if (app.Api_root().Html().Modules().Popups().Enabled()) this.Html_box().Html_js_eval_script("if (window.xowa_popups_hide_all != null) window.xowa_popups_hide_all();"); // should be more configurable; DATE:2014-07-09 app.Thread_mgr().Page_load_mgr().Add_at_end(new Load_page_wkr(this, wiki, url, ttl)).Run(); @@ -140,12 +140,12 @@ public class Xog_tab_itm implements GfoInvkAble { } else { if (page.Redirected_ttls().Count() > 0) - usr_dlg.Prog_many("", "", "could not find: ~{0} (redirected from ~{1})", String_.new_utf8_(page.Url().Page_bry()), String_.new_utf8_((byte[])page.Redirected_ttls().FetchAt(0))); + usr_dlg.Prog_many("", "", "could not find: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), String_.new_u8((byte[])page.Redirected_ttls().Get_at(0))); else { if (ttl.Ns().Id_file()) - usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[Help:Wikis/Commons]]: ~{0}", String_.new_utf8_(url.Raw())); + usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[Help:Wikis/Commons]]: ~{0}", String_.new_u8(url.Raw())); else - usr_dlg.Prog_one("", "", "could not find: ~{0}", String_.new_utf8_(url.Raw())); + usr_dlg.Prog_one("", "", "could not find: ~{0}", String_.new_u8(url.Raw())); } } app.Log_wtr().Queue_enabled_(false); @@ -156,8 +156,8 @@ public class Xog_tab_itm implements GfoInvkAble { history_mgr.Add(page); Xog_tab_itm_read_mgr.Show_page(this, page, true); if (app.Api_root().Usr().History().Enabled()) { - app.User().History_mgr().Add(page); - app.User().Data_mgr().History_mgr().Update_async(app.Async_mgr(), ttl, url); + app.Usere().History_mgr().Add(page); + app.Usere().Data_mgr().History_mgr().Update_async(app.Async_mgr(), ttl, url); } usr_dlg.Prog_none("", "", "rendering html"); // html_itm.Html_box().Size_(tab_mgr.Tab_mgr().Size()); // COMMENTED: causes clicks on macosx to be off by 4 px; NOTE: must resize tab here, else scrolling to anchor in background tab doesn't work (html_box has size of 0, 0) DATE:2015-05-03 @@ -166,7 +166,7 @@ public class Xog_tab_itm implements GfoInvkAble { if (wkr.Hdump_enabled()) { wiki.File_mgr().Init_file_mgr_by_load(wiki); Xof_fsdb_mgr fsdb_mgr = wiki.File_mgr().Fsdb_mgr(); - async_wkr = new Xof_file_wkr(wiki.File__orig_mgr(), fsdb_mgr.Bin_mgr(), fsdb_mgr.Mnt_mgr(), app.File__cache_mgr(), wiki.File__repo_mgr(), html_itm, page, page.Hdump_data().Imgs(), gplx.xowa.files.Xof_exec_tid.Tid_wiki_page); + async_wkr = new Xof_file_wkr(wiki.File__orig_mgr(), fsdb_mgr.Bin_mgr(), fsdb_mgr.Mnt_mgr(), app.Usere().File__cache_mgr(), wiki.File__repo_mgr(), html_itm, page, page.Hdump_data().Imgs()); if (wiki.Html__hdump_enabled() && page.Revision_data().Html_db_id() == -1) { wiki.Html__hdump_wtr().Save(page); } @@ -181,12 +181,12 @@ public class Xog_tab_itm implements GfoInvkAble { this.tab_is_loading = false; } } - public void Exec_async_hdump(Xoa_app app, Xow_wiki wiki, gplx.xowa.files.gui.Xog_js_wkr js_wkr, gplx.core.threads.Gfo_thread_pool thread_pool, Xoa_page page, ListAdp imgs, int[] redlink_ary) { + public void Exec_async_hdump(Xoa_app app, Xow_wiki wiki, gplx.xowa.files.gui.Xog_js_wkr js_wkr, gplx.core.threads.Gfo_thread_pool thread_pool, Xoa_page page, List_adp imgs, int[] redlink_ary) { if (imgs.Count() > 0) { Xof_file_wkr file_thread = new Xof_file_wkr ( wiki.File__orig_mgr(), wiki.File__bin_mgr(), wiki.File__mnt_mgr() - , app.File__cache_mgr(), wiki.File__repo_mgr(), html_itm, page, imgs - , gplx.xowa.files.Xof_exec_tid.Tid_wiki_page); + , app.User().File__cache_mgr(), wiki.File__repo_mgr(), html_itm, page, imgs + ); thread_pool.Add_at_end(file_thread); thread_pool.Run(); } if (redlink_ary.length > 0) { @@ -209,11 +209,11 @@ public class Xog_tab_itm implements GfoInvkAble { if (usr_dlg.Canceled()) {usr_dlg.Prog_none("", "", ""); app.Log_wtr().Queue_enabled_(false); return;} int xfer_len = 0; xfer_len = page.File_queue().Count(); - String page_ttl_str = String_.new_utf8_(page.Ttl().Raw()); + String page_ttl_str = String_.new_u8(page.Ttl().Raw()); if (xfer_len > 0){ usr_dlg.Prog_one("", "", "downloading images: ~{0}", xfer_len); try { - page.File_queue().Exec(gplx.xowa.files.Xof_exec_tid.Tid_wiki_page, usr_dlg, wiki, page); + page.File_queue().Exec(wiki, page); if (page.Html_data().Xtn_gallery_packed_exists()) // packed_gallery exists; fire js once; PAGE:en.w:National_Sculpture_Museum_(Valladolid); DATE:2014-07-21 html_itm.Html_gallery_packed_exec(); if ( page.Html_data().Xtn_imap_exists() // imap exists; DATE:2014-08-07 @@ -229,8 +229,8 @@ public class Xog_tab_itm implements GfoInvkAble { usr_dlg.Prog_one("", "", "generating math: ~{0}", xfer_len); for (int i = 0; i < xfer_len; i++) { if (usr_dlg.Canceled()) {usr_dlg.Prog_none("", "", ""); app.Log_wtr().Queue_enabled_(false); return;} - gplx.xowa.xtns.math.Xof_math_itm itm = (gplx.xowa.xtns.math.Xof_math_itm)page.File_math().FetchAt(i); - String queue_msg = usr_dlg.Prog_many("", "", "generating math ~{0} of ~{1}: ~{2}", i + ListAdp_.Base1, xfer_len, String_.new_utf8_(itm.Math())); + gplx.xowa.xtns.math.Xof_math_itm itm = (gplx.xowa.xtns.math.Xof_math_itm)page.File_math().Get_at(i); + String queue_msg = usr_dlg.Prog_many("", "", "generating math ~{0} of ~{1}: ~{2}", i + List_adp_.Base1, xfer_len, String_.new_u8(itm.Math())); app.File_mgr().Math_mgr().MakePng(itm.Math(), itm.Hash(), itm.Png_url(), queue_msg); gplx.gfui.SizeAdp size = app.File_mgr().Img_mgr().Wkr_query_img_size().Exec(itm.Png_url()); html_itm.Html_img_update("xowa_math_img_" + itm.Id(), itm.Png_url().To_http_file_str(), size.Width(), size.Height()); @@ -246,13 +246,14 @@ public class Xog_tab_itm implements GfoInvkAble { } try { if (page.Tab_data().Tab() != null) { // needed b/c Preview has page.Tab of null which causes null_ref error in redlinks - Xog_redlink_mgr redlinks_wkr = new Xog_redlink_mgr(win_itm, page, app.User().Cfg_mgr().Log_mgr().Log_redlinks()); + Xog_redlink_mgr redlinks_wkr = new Xog_redlink_mgr(win_itm, page, app.Usere().Cfg_mgr().Log_mgr().Log_redlinks()); Thread_adp_.invk_(gplx.xowa.apps.Xoa_thread_.Key_page_redlink, redlinks_wkr, gplx.xowa.parsers.lnkis.redlinks.Xog_redlink_mgr.Invk_run).Start(); usr_dlg.Prog_none("", "imgs.done", ""); } } catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.redlinks: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));} try {app.File_mgr().Cache_mgr().Compress_check();} catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cache: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));} + app.Usere().File__cache_mgr().Page_end(app.Wiki_mgr()); app.Log_wtr().Queue_enabled_(false); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { 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 d44399ac1..6255fb7b3 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 @@ -31,7 +31,7 @@ public class Xog_tab_itm_edit_mgr { Invalidate(wiki); page.Data_raw_(new_text); wiki.ParsePage_root(page, true); // refresh html - win_itm.Usr_dlg().Prog_one("", "", "saved page ~{0}", String_.new_utf8_(page.Ttl().Full_txt_raw())); // NOTE: show message after ParsePage_root, b/c ParsePage_root will flash "Loading page"; DATE:2014-05-17 + win_itm.Usr_dlg().Prog_one("", "", "saved page ~{0}", String_.new_u8(page.Ttl().Full_txt_raw())); // NOTE: show message after ParsePage_root, b/c ParsePage_root will flash "Loading page"; DATE:2014-05-17 if (!quick_save) { // full_save; save page and go to read mode page.Html_data().Edit_preview_(Bry_.Empty); Xoae_page stack_page = tab.History_mgr().Cur_page(wiki); // NOTE: must be to CurPage() else changes will be lost when going Bwd,Fwd @@ -74,7 +74,7 @@ public class Xog_tab_itm_edit_mgr { win_itm.Kit().Ask_ok("", "", "The Main Page cannot be renamed"); return; } - byte[] new_text = Bry_.new_utf8_(tab.Html_itm().Get_elem_value(Xog_html_itm.Elem_id__xowa_edit_rename_box)); + byte[] new_text = Bry_.new_u8(tab.Html_itm().Get_elem_value(Xog_html_itm.Elem_id__xowa_edit_rename_box)); if (Bry_.Len_eq_0(new_text)) return; // no ttl given; exit new_text = Xoa_ttl.Replace_spaces(new_text); // ttls cannot have spaces; only underscores Xoa_ttl new_ttl = Xoa_ttl.parse_(wiki, new_text); @@ -86,7 +86,7 @@ public class Xog_tab_itm_edit_mgr { wiki.Db_mgr().Save_mgr().Data_rename(page, new_ns_id, new_text); page.Ttl_(Xoa_ttl.parse_(wiki, Bry_.Add(page.Ttl().Ns().Name_db_w_colon(), new_text))); win_itm.Page__mode_(Xopg_view_mode.Tid_read); - win_itm.Usr_dlg().Prog_one("", "", "renamed page to {0}", String_.new_utf8_(page.Ttl().Full_txt_raw())); + win_itm.Usr_dlg().Prog_one("", "", "renamed page to {0}", String_.new_u8(page.Ttl().Full_txt_raw())); } public static void Focus(Xog_win_itm win, String elem_focus_id) { Gfui_html html_box = win.Active_html_box(); diff --git a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_read_mgr.java b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_read_mgr.java index 6e208ab33..e280d547d 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_read_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/views/Xog_tab_itm_read_mgr.java @@ -64,17 +64,17 @@ public class Xog_tab_itm_read_mgr { if (url != null && ttl != null) { try {url_str = url_parser.Build_str(url);} catch (Exception e) { // HACK: failed pages will have a null wiki; for now, catch and ignore; DATE:2014-06-22 - Gfo_usr_dlg_.I.Warn_many("", "", "failed to build url: url=~{0}, err=~{1}", String_.new_utf8_(url.Raw()), Err_.Message_gplx(e)); - url_str = String_.new_utf8_(ttl.Full_txt()); + Gfo_usr_dlg_.I.Warn_many("", "", "failed to build url: url=~{0}, err=~{1}", String_.new_u8(url.Raw()), Err_.Message_gplx(e)); + url_str = String_.new_u8(ttl.Full_txt()); } - win_str = String_.new_utf8_(Bry_.Add(ttl.Full_txt(), Win_text_suffix_page)); + win_str = String_.new_u8(Bry_.Add(ttl.Full_txt(), Win_text_suffix_page)); } win.Url_box().Text_(url_str); win.Win_box().Text_(win_str); } - private static final byte[] Win_text_suffix_page = Bry_.new_ascii_(" - XOWA"); private static final String Win_text_blank = "XOWA"; + private static final byte[] Win_text_suffix_page = Bry_.new_a7(" - XOWA"); private static final String Win_text_blank = "XOWA"; public static void Show_page_err(Xog_win_itm win, Xog_tab_itm tab, Xowe_wiki wiki, Xoa_url url, Xoa_ttl ttl, Exception e) { - String err_msg = String_.Format("page_load fail: page={0} err={1}", String_.new_utf8_(url.Raw()), Err_.Message_gplx(e)); + String err_msg = String_.Format("page_load fail: page={0} err={1}", String_.new_u8(url.Raw()), Err_.Message_gplx(e)); win.Usr_dlg().Warn_many("", "", err_msg); win.App().Log_wtr().Queue_enabled_(false); Xoae_page fail_page = wiki.Data_mgr().Get_page(ttl, 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 403c5d9a0..8cf77cf4b 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 @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.gui.views; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; import gplx.gfui.*; import gplx.xowa.cfgs2.*; import gplx.xowa.apis.xowa.gui.browsers.*; import gplx.xowa.specials.*; public class Xog_tab_mgr implements GfoEvObj { - private OrderedHash tab_regy = OrderedHash_.new_(); private int tab_uid = 0; + private Ordered_hash tab_regy = Ordered_hash_.new_(); private int tab_uid = 0; public Xog_tab_mgr(Xog_win_itm win) { this.win = win; ev_mgr = GfoEvMgr.new_(this); @@ -71,11 +71,11 @@ public class Xog_tab_mgr implements GfoEvObj { } public int Tabs_len() {return tab_regy.Count();} public Xog_tab_itm Tabs_new_init(Xowe_wiki wiki, Xoae_page page) {return this.Tabs_new(true, true, wiki, page);} - public Xog_tab_itm Tabs_get_at(int i) {return (Xog_tab_itm)tab_regy.FetchAt(i);} + public Xog_tab_itm Tabs_get_at(int i) {return (Xog_tab_itm)tab_regy.Get_at(i);} public Xog_tab_itm Tabs_new_dflt() {return Tabs_new_dflt(false);} public Xog_tab_itm Tabs_new_dflt(boolean focus) { boolean active_tab_is_null = this.Active_tab_is_null(); - Xowe_wiki cur_wiki = active_tab_is_null ? win.App().User().Wiki() : active_tab.Wiki(); + Xowe_wiki cur_wiki = active_tab_is_null ? win.App().Usere().Wiki() : active_tab.Wiki(); Xoa_ttl ttl = Xoa_ttl.parse_(cur_wiki, Xows_special_meta_.Itm__default_tab.Ttl_bry()); Xoa_url url = Xoa_url_parser.Parse_from_url_bar(win.App(), cur_wiki, ttl.Full_db_as_str()); Xog_tab_itm rv = Tabs_new(focus, active_tab_is_null, cur_wiki, Xoae_page.new_(cur_wiki, ttl)); @@ -153,11 +153,11 @@ public class Xog_tab_mgr implements GfoEvObj { } public void Tabs_close_undo() { if (closed_undo_list.Count() == 0) return; - String url = (String)ListAdp_.Pop(closed_undo_list); + String url = (String)List_adp_.Pop(closed_undo_list); Tabs_new_dflt(true); win.Page__navigate_by_url_bar(url); } - private ListAdp closed_undo_list = ListAdp_.new_(); + private List_adp closed_undo_list = List_adp_.new_(); private void Tabs_closed(String key) { Xog_tab_itm itm = Tabs_get_by_key_or_warn(key); if (itm == null) return; itm.Html_box().Html_dispose(); @@ -172,11 +172,11 @@ public class Xog_tab_mgr implements GfoEvObj { Tabs_hide_if_one_chk(); } private Xog_tab_itm Tabs_get_by_key_or_warn(String key) { - Xog_tab_itm rv = (Xog_tab_itm)tab_regy.Fetch(key); if (rv == null) win.App().Usr_dlg().Warn_many("", "", "tab.selected could not find tab; key={0}", key); + Xog_tab_itm rv = (Xog_tab_itm)tab_regy.Get_by(key); if (rv == null) win.App().Usr_dlg().Warn_many("", "", "tab.selected could not find tab; key={0}", key); return rv; } private Xog_tab_itm Tabs_get_by_idx_or_warn(int idx) { - Xog_tab_itm rv = (Xog_tab_itm)tab_regy.FetchAt(idx); if (rv == null) win.App().Usr_dlg().Warn_many("", "", "tab.selected could not find tab; idx={0}", idx); + Xog_tab_itm rv = (Xog_tab_itm)tab_regy.Get_at(idx); if (rv == null) win.App().Usr_dlg().Warn_many("", "", "tab.selected could not find tab; idx={0}", idx); return rv; } private void Tabs_recalc_idx() { 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 a9559cdc7..e014e2118 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 @@ -75,7 +75,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()); + else if (ctx.Match(k, Invk_page_goto_recent)) Page__navigate_by_url_bar(app.Usere().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")); @@ -121,7 +121,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { int pos = String_.FindFwd(url, gplx.html.Html_tag_.Anchor_str); if (pos != Bry_.NotFound) url = String_.Mid(url, 0, pos); String anchor_str = Parse_evt_location_changing(anchor_raw); - byte[] anchor_bry = Bry_.new_utf8_(anchor_str); + byte[] anchor_bry = Bry_.new_u8(anchor_str); Xog_tab_itm tab = tab_mgr.Active_tab(); Xoae_page page = tab.Page(); if (anchor_str != null) { // link has anchor url_box.Text_(url + "#" + anchor_str); // update url box @@ -130,7 +130,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { page.Url().Anchor_bry_(anchor_bry); // update url } tab.History_mgr().Add(page); - app.User().History_mgr().Add(page.Url(), page.Ttl(), Bry_.Add_w_dlm(Byte_ascii.Hash, page.Url().Page_bry(), anchor_bry)); + app.Usere().History_mgr().Add(page.Url(), page.Ttl(), Bry_.Add_w_dlm(Byte_ascii.Hash, page.Url().Page_bry(), anchor_bry)); } public void App__exit() { kit.Kit_term(); // NOTE: Kit_term calls shell.close() which in turn is hooked up to app.Term_cbk() event; DATE:2014-09-09 @@ -181,7 +181,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { Xoae_page new_page = tab.History_mgr().Go_by_dir(cur_wiki, fwd); if (new_page.Missing()) return; if (Xows_special_meta_.Itm__search.Match_ttl(new_page.Ttl())) // if Special:Search, reload page; needed for async loading; DATE:2015-04-19 - new_page = new_page.Wikie().GetPageByTtl(new_page.Url(), new_page.Ttl()); // NOTE: must reparse page if (a) Edit -> Read; or (b) "Options" save + new_page = new_page.Wikie().Load_page_by_ttl(new_page.Url(), new_page.Ttl()); // NOTE: must reparse page if (a) Edit -> Read; or (b) "Options" save byte history_nav_type = fwd ? Xog_history_stack.Nav_fwd : Xog_history_stack.Nav_bwd; boolean new_page_is_same = Bry_.Eq(cur_page.Ttl().Full_txt(), new_page.Ttl().Full_txt()); Xog_tab_itm_read_mgr.Show_page(tab, new_page, true, new_page_is_same, false, history_nav_type); @@ -246,8 +246,8 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { public byte[] App__retrieve_by_url(String url_str, String output_str) { synchronized (App__retrieve__lock) { boolean output_html = String_.Eq(output_str, "html"); - byte[] url_bry = Bry_.new_utf8_(url_str); - Xowe_wiki home_wiki = app.User().Wiki(); + byte[] url_bry = Bry_.new_u8(url_str); + Xowe_wiki home_wiki = app.Usere().Wiki(); Xoa_ttl ttl = Xoa_ttl.parse_(home_wiki, Xoa_page_.Main_page_bry); // NOTE: must be Main_Page, not "" else Firefox Addon will fail; DATE:2014-03-13 Xoae_page new_page = Xoae_page.new_(home_wiki, ttl); gplx.xowa.servers.Gxw_html_server.Assert_tab(app, new_page); // HACK: assert at least 1 tab for Firefox addon; DATE:2015-01-23 @@ -260,10 +260,10 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { } private Object App__retrieve__lock = new Object(); public byte[] App__retrieve_by_href(String href, boolean output_html) {return App__retrieve_by_href(Xog_url_wkr.Exec_url(this, href), output_html);} // NOTE: used by drd private byte[] App__retrieve_by_href(Xoa_url url, boolean output_html) { - if (url == null) return Bry_.new_ascii_("missing"); + if (url == null) return Bry_.new_a7("missing"); Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_null(url.Wiki_bry()); Xoa_ttl ttl = Xoa_ttl.parse_(wiki, url.Page_bry()); - Xoae_page new_page = wiki.GetPageByTtl(url, ttl); + Xoae_page new_page = wiki.Load_page_by_ttl(url, ttl); if (new_page.Missing()) {return Bry_.Empty;} Xog_tab_itm tab = tab_mgr.Active_tab(); tab.Page_(new_page); @@ -280,7 +280,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { this.kit = kit; win_box = kit.New_win_app("win"); sync_cmd = win_box.Kit().New_cmd_sync(this); - Io_url img_dir = app.User().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "chrome"); + Io_url img_dir = app.Usere().Fsys_mgr().App_img_dir().GenSubDir_nest("window", "chrome"); FontAdp ui_font = app.Gui_mgr().Win_cfg().Font().XtoFontAdp(); go_bwd_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "go_bwd_btn", "go_bwd.png" ); go_fwd_btn = Xog_win_itm_.new_btn(app, kit, win_box, img_dir, "go_fwd_btn", "go_fwd.png" ); @@ -295,7 +295,7 @@ public class Xog_win_itm implements GfoInvkAble, GfoEvObj { prog_box = Xog_win_itm_.new_txt(app, kit, win_box, ui_font, "prog_box" , false); info_box = Xog_win_itm_.new_txt(app, kit, win_box, ui_font, "note_box" , false); tab_mgr.Init_by_kit(kit); - this.Lang_changed(app.User().Lang()); + this.Lang_changed(app.Usere().Lang()); GfoEvMgr_.SubSame_many(this, this, Gfui_html.Evt_location_changed, Gfui_html.Evt_location_changing, Gfui_html.Evt_link_hover); GfoEvMgr_.SubSame(win_box, Gfui_html.Evt_win_resized, this); 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 3010ca36a..a57c569e4 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 @@ -25,10 +25,10 @@ public class Xog_win_itm_ { win_box.BackColor_(ColorAdp_.White); win.Tab_mgr().Tab_mgr().BackColor_(ColorAdp_.White); - app.User().Cfg_mgr().Startup_mgr().Window_mgr().Init_window(win_box); + app.Usere().Cfg_mgr().Startup_mgr().Window_mgr().Init_window(win_box); win.Resizer().Exec_win_resize(app, win_box.Width(), win_box.Height()); - IconAdp.regy_loadDir_shallow(app.User().Fsys_mgr().Root_dir().GenSubDir_nest("app", "img", "win")); + IconAdp.regy_loadDir_shallow(app.Usere().Fsys_mgr().Root_dir().GenSubDir_nest("app", "img", "win")); win_box.Icon_(IconAdp.regy_("xowa.app")); } public static GfuiBtn new_btn(Xoae_app app, Gfui_kit kit, GfuiWin win, Io_url img_dir, String id, String file) { @@ -54,5 +54,5 @@ public class Xog_win_itm_ { win.Tab_mgr().Tab_mgr().TextMgr().Font_(new_font); } } - public static String new_tiptext(Xoae_app app, int id) {return String_.new_utf8_(app.User().Lang().Msg_mgr().Val_by_id(app.User().Wiki(), id));} + public static String new_tiptext(Xoae_app app, int id) {return String_.new_u8(app.Usere().Lang().Msg_mgr().Val_by_id(app.Usere().Wiki(), id));} } diff --git a/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java index 1b49e33ab..a17bf240b 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java @@ -19,7 +19,7 @@ package gplx.xowa.html; import gplx.*; import gplx.xowa.*; public class Xoh_cmd_mgr { public int Count() {return cmds.Count();} public void Clear() {cmds.Clear();} - public void Add(Xoh_cmd_itm itm) {cmds.Add(itm);} ListAdp cmds = ListAdp_.new_(); + public void Add(Xoh_cmd_itm itm) {cmds.Add(itm);} List_adp cmds = List_adp_.new_(); public void Exec(Xoae_app app, Xoae_page page) { int len = cmds.Count(); if (len == 0) return; @@ -29,7 +29,7 @@ public class Xoh_cmd_mgr { if (usr_dlg.Canceled()) {usr_dlg.Prog_none(GRP_KEY, "cmds.done", ""); app.Log_wtr().Queue_enabled_(false); return;} Xoh_cmd_itm itm = null; try { - itm = (Xoh_cmd_itm)cmds.FetchAt(i); + itm = (Xoh_cmd_itm)cmds.Get_at(i); itm.Hcmd_exec(app, usr_dlg, page); itm.Hcmd_write(app, usr_dlg, page); } catch (Exception e) {throw Err_.err_(e, "failed to execute html cmd: name={0}", itm == null ? "unknown" : itm.Hcmd_id());} diff --git a/400_xowa/src/gplx/xowa/html/Xoh_consts.java b/400_xowa/src/gplx/xowa/html/Xoh_consts.java index 0af3e5d0d..6b7b4ab8c 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_consts.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_consts.java @@ -19,37 +19,39 @@ package gplx.xowa.html; import gplx.*; import gplx.xowa.*; public class Xoh_consts { public static final String Atr_xowa_title_str = "xowa_title" + , Img_w_str = "width" + , Img_h_str = "height" ; public static final byte[] - __end = Bry_.new_ascii_(">") - , __end_quote = Bry_.new_ascii_("\">") - , __inline_quote = Bry_.new_ascii_("\"/>") - , Space_2 = Bry_.new_ascii_(" ") + __end = Bry_.new_a7(">") + , __end_quote = Bry_.new_a7("\">") + , __inline_quote = Bry_.new_a7("\"/>") + , Space_2 = Bry_.new_a7(" ") - , A_bgn = Bry_.new_ascii_("") + , A_bgn = Bry_.new_a7("") - , Div_bgn_open = Bry_.new_ascii_("
    ") + , Div_bgn_open = Bry_.new_a7("
    ") - , Img_bgn = Bry_.new_ascii_("") - , Span_bgn = Bry_.new_ascii_("") + , Img_bgn = Bry_.new_a7("") + , Span_bgn = Bry_.new_a7("") - , Pre_bgn = Bry_.new_ascii_("
    "), Pre_end = Bry_.new_ascii_("
    ") - , Pre_bgn_open = Bry_.new_ascii_("") + , Pre_bgn = Bry_.new_a7("
    "), Pre_end = Bry_.new_a7("
    ") + , Pre_bgn_open = Bry_.new_a7("") - , Code_bgn_closed = Bry_.new_ascii_("") - , Code_bgn_open = Bry_.new_ascii_("") - , Title_atr = Bry_.new_ascii_("\" title=\"") - , Id_atr = Bry_.new_ascii_(" id=\"") - , Style_atr = Bry_.new_ascii_(" style=\"") - , Atr_xowa_title_bry = Bry_.new_ascii_(Atr_xowa_title_str) + , Code_bgn_closed = Bry_.new_a7("") + , Code_bgn_open = Bry_.new_a7("") + , Title_atr = Bry_.new_a7("\" title=\"") + , Id_atr = Bry_.new_a7(" id=\"") + , Style_atr = Bry_.new_a7(" style=\"") + , Atr_xowa_title_bry = Bry_.new_a7(Atr_xowa_title_str) ; public static final int Nbsp_int = 160; 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 40eb60a8d..54da801f3 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java @@ -104,7 +104,7 @@ public class Xoh_html_wtr { else tkn.Print_ncr(bfr); } - private static final byte[] Bry_hdr_bgn = Bry_.new_ascii_(""); + bfr.Add_str_a7("
    ");
     				Xox_mgr_base.Xtn_write_escape(app, bfr, src, xnde.Tag_open_end(), xnde.Tag_close_bgn());	// NOTE: do not embed  tag inside pre, else timeline will render in black; EX:
    a
    will fail; DATE:2014-05-22 - bfr.Add_str("
    "); + bfr.Add_str_a7(""); break; } case Xop_xnde_tag_.Tid_source: { // convert to
    ;
    @@ -418,7 +418,7 @@ public class Xoh_html_wtr {
     			default:	// unknown tag
     				if (tag.Restricted()) {	// a; img; script; etc..
     					if (	!page.Html_data().Html_restricted()							// page is not marked restricted (only [[Special:]])
    -						||	page.Wiki().Domain_tid() == Xow_domain_.Tid_int_home) {		// page is in home wiki
    +						||	page.Wiki().Domain_tid() == Xow_domain_type_.Tid_home) {		// page is in home wiki
     						bfr.Add_mid(src, xnde.Src_bgn(), xnde.Src_end());
     						return;
     					}
    @@ -562,7 +562,6 @@ public class Xoh_html_wtr {
     			}
     		}
     	}
    -	public Bool_obj_ref Queue_add_ref() {return queue_add_ref;} Bool_obj_ref queue_add_ref = Bool_obj_ref.n_();
     	public void Tblw(Xop_ctx ctx, Xoh_wtr_ctx hctx, Bry_bfr bfr, byte[] src, Xop_tblw_tkn tkn, byte[] bgn, byte[] end, boolean tblw_bgn) {
     		if (hctx.Mode_is_alt())			// add \s for each \n
     			bfr.Add_byte_space();
    @@ -595,23 +594,23 @@ public class Xoh_html_wtr {
     //				bfr.Add_byte_nl();
     		}
     	}
    -	public static final byte[] Tag__end_quote = Bry_.new_ascii_("\">"), Tag__end_bgn = Bry_.new_ascii_(""), Tag_br = Bry_.new_ascii_("
    ") - , Tag_list_grp_ul_bgn = Bry_.new_ascii_("
      "), Tag_list_grp_ul_end = Bry_.new_ascii_("
    ") - , Tag_list_grp_ol_bgn = Bry_.new_ascii_("
      "), Tag_list_grp_ol_end = Bry_.new_ascii_("
    ") - , Tag_list_itm_li_bgn = Bry_.new_ascii_("
  • "), Tag_list_itm_li_end = Bry_.new_ascii_("
  • ") - , Tag_list_itm_dt_bgn = Bry_.new_ascii_("
    "), Tag_list_itm_dt_end = Bry_.new_ascii_("
    ") - , Tag_list_itm_dd_bgn = Bry_.new_ascii_("
    "), Tag_list_itm_dd_end = Bry_.new_ascii_("
    ") - , Tag_list_grp_dl_bgn = Bry_.new_ascii_("
    "), Tag_list_grp_dl_end = Bry_.new_ascii_("
    ") - , File_divider = Bry_.new_ascii_("---------------------------------") - , Tag_tblw_tb_bgn = Bry_.new_ascii_(""), Tag_tblw_tb_bgn_atr = Bry_.new_ascii_("") - , Tag_tblw_tr_bgn = Bry_.new_ascii_(""), Tag_tblw_tr_bgn_atr = Bry_.new_ascii_("") - , Tag_tblw_td_bgn = Bry_.new_ascii_("
    "), Tag_tblw_td_bgn_atr = Bry_.new_ascii_("") - , Tag_tblw_th_bgn = Bry_.new_ascii_(""), Tag_tblw_th_bgn_atr = Bry_.new_ascii_("") - , Tag_tblw_tc_bgn = Bry_.new_ascii_("
    "), Tag_tblw_tc_bgn_atr = Bry_.new_ascii_("") - , Ary_escape_bgn = Bry_.new_ascii_("<"), Ary_escape_end = Bry_.new_ascii_(">"), Ary_escape_end_bgn = Bry_.new_ascii_("</") - , Tag_para_bgn = Bry_.new_ascii_("

    "), Tag_para_end = Bry_.new_ascii_("

    "), Tag_para_mid = Bry_.new_ascii_("

    \n\n

    ") - , Tag_pre_bgn = Bry_.new_ascii_("

    "), Tag_pre_end = Bry_.new_ascii_("
    ") + public static final byte[] Tag__end_quote = Bry_.new_a7("\">"), Tag__end_bgn = Bry_.new_a7(""), Tag_br = Bry_.new_a7("
    ") + , Tag_list_grp_ul_bgn = Bry_.new_a7("
      "), Tag_list_grp_ul_end = Bry_.new_a7("
    ") + , Tag_list_grp_ol_bgn = Bry_.new_a7("
      "), Tag_list_grp_ol_end = Bry_.new_a7("
    ") + , Tag_list_itm_li_bgn = Bry_.new_a7("
  • "), Tag_list_itm_li_end = Bry_.new_a7("
  • ") + , Tag_list_itm_dt_bgn = Bry_.new_a7("
    "), Tag_list_itm_dt_end = Bry_.new_a7("
    ") + , Tag_list_itm_dd_bgn = Bry_.new_a7("
    "), Tag_list_itm_dd_end = Bry_.new_a7("
    ") + , Tag_list_grp_dl_bgn = Bry_.new_a7("
    "), Tag_list_grp_dl_end = Bry_.new_a7("
    ") + , File_divider = Bry_.new_a7("---------------------------------") + , Tag_tblw_tb_bgn = Bry_.new_a7(""), Tag_tblw_tb_bgn_atr = Bry_.new_a7("") + , Tag_tblw_tr_bgn = Bry_.new_a7(""), Tag_tblw_tr_bgn_atr = Bry_.new_a7("") + , Tag_tblw_td_bgn = Bry_.new_a7("
    "), Tag_tblw_td_bgn_atr = Bry_.new_a7("") + , Tag_tblw_th_bgn = Bry_.new_a7(""), Tag_tblw_th_bgn_atr = Bry_.new_a7("") + , Tag_tblw_tc_bgn = Bry_.new_a7("
    "), Tag_tblw_tc_bgn_atr = Bry_.new_a7("") + , Ary_escape_bgn = Bry_.new_a7("<"), Ary_escape_end = Bry_.new_a7(">"), Ary_escape_end_bgn = Bry_.new_a7("</") + , Tag_para_bgn = Bry_.new_a7("

    "), Tag_para_end = Bry_.new_a7("

    "), Tag_para_mid = Bry_.new_a7("

    \n\n

    ") + , Tag_pre_bgn = Bry_.new_a7("

    "), Tag_pre_end = Bry_.new_a7("
    ") ; public static final byte Tag__bgn = Byte_ascii.Lt, Tag__end = Byte_ascii.Gt; public static final byte Dir_spr_http = Byte_ascii.Slash; @@ -620,8 +619,8 @@ public class Xoh_html_wtr { } class Xoh_display_ttl_wtr { private static final byte[] - Atr_key_style = Bry_.new_ascii_("style") - , Msg_style_restricted = Bry_.new_ascii_(" style='/* attempt to bypass $wgRestrictDisplayTitle */'") + Atr_key_style = Bry_.new_a7("style") + , Msg_style_restricted = Bry_.new_a7(" style='/* attempt to bypass $wgRestrictDisplayTitle */'") ; private Btrie_slim_mgr style_trie = Btrie_slim_mgr.ci_ascii_() .Add_str_byte__many(Byte_.By_int(0), "display", "user-select", "visibility"); // if ( preg_match( '/(display|user-select|visibility)\s*:/i', $decoded['style'] ) ) { 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 a09700fa8..a5f8c5a56 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 @@ -116,7 +116,7 @@ public class Xoh_html_wtr_escaper { return end_gt; } catch (Exception e) { - Xoa_app_.Usr_dlg().Warn_many("", "", "unknown error in escape.nowiki: ~{0} ~{1}", Err_.Message_gplx_brief(e), String_.new_utf8_(src, bgn, end)); + Xoa_app_.Usr_dlg().Warn_many("", "", "unknown error in escape.nowiki: ~{0} ~{1}", Err_.Message_gplx_brief(e), String_.new_u8(src, bgn, end)); return Bry_.NotFound; } } diff --git a/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java index 6a630ce42..97666849e 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java @@ -19,7 +19,7 @@ package gplx.xowa.html; import gplx.*; import gplx.xowa.*; import gplx.core.primitives.*; import gplx.xowa.wikis.*; public class Xoh_imgs_mgr implements GfoInvkAble { - public Xoh_imgs_mgr(Xow_html_mgr html_mgr) {wiki_is_default = html_mgr.Wiki().Domain_tid() == Xow_domain_.Tid_int_home;} private boolean wiki_is_default; + public Xoh_imgs_mgr(Xow_html_mgr html_mgr) {wiki_is_default = html_mgr.Wiki().Domain_tid() == Xow_domain_type_.Tid_home;} private boolean wiki_is_default; public Bool_obj_ref Alt_in_caption() {return alt_in_caption;} Bool_obj_ref alt_in_caption = Bool_obj_ref.y_(); public Bool_obj_ref Alt_defaults_to_caption() {return alt_defaults_to_caption;} Bool_obj_ref alt_defaults_to_caption = Bool_obj_ref.y_(); public void Copy_cfg(Xoh_imgs_mgr copy) {this.alt_in_caption = copy.alt_in_caption;} diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_page_mgr.java index f25c98f9c..5db942988 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_mgr.java @@ -45,11 +45,11 @@ public class Xoh_page_mgr implements GfoInvkAble { else if (ctx.Match(k, Invk_font_name_)) {font_name = m.ReadStr("v"); this.Font_css_bry_update();} else if (ctx.Match(k, Invk_font_size)) return font_size; else if (ctx.Match(k, Invk_font_size_)) {font_size = m.ReadFloat("v"); this.Font_css_bry_update();} - else if (ctx.Match(k, Invk_font_css_fmt)) return String_.new_utf8_(font_css_fmtr.Fmt()); + else if (ctx.Match(k, Invk_font_css_fmt)) return String_.new_u8(font_css_fmtr.Fmt()); else if (ctx.Match(k, Invk_font_css_fmt_)) Font_css_fmtr_(m.ReadBry("v")); else if (ctx.Match(k, Invk_font_enabled)) return Yn.Xto_str(font_enabled); else if (ctx.Match(k, Invk_font_enabled_)) font_enabled = m.ReadYn("v"); - else if (ctx.Match(k, Invk_content_code_fmt)) return String_.new_utf8_(content_code_fmtr.Fmt()); + else if (ctx.Match(k, Invk_content_code_fmt)) return String_.new_u8(content_code_fmtr.Fmt()); else if (ctx.Match(k, Invk_content_code_fmt_)) content_code_fmtr.Fmt_(m.ReadBry("v")); else return GfoInvkAble_.Rv_unhandled; return this; diff --git a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr_tst.java b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr_tst.java index 6e9dada8e..cdbc511d4 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_page_wtr_mgr_tst.java @@ -24,10 +24,10 @@ public class Xoh_page_wtr_mgr_tst { Xoae_app app = Xoa_app_fxt.app_(); Xowe_wiki wiki = Xoa_app_fxt.wiki_tst_(app); Xow_portal_mgr portal_mgr = wiki.Html_mgr().Portal_mgr(); - GfoInvkAble_.InvkCmd_val(portal_mgr, Xow_portal_mgr.Invk_div_logo_, Bry_.new_ascii_("~{portal_nav_main_href}")); + GfoInvkAble_.InvkCmd_val(portal_mgr, Xow_portal_mgr.Invk_div_logo_, Bry_.new_a7("~{portal_nav_main_href}")); portal_mgr.Init_assert(); Xohe_page_wtr_mgr page_wtr_mgr = new Xohe_page_wtr_mgr(true); page_wtr_mgr.Gen(wiki.Ctx().Cur_page(), Xopg_view_mode.Tid_read); - Tfds.Eq(String_.new_ascii_(portal_mgr.Div_logo_bry()), "/site/en.wikipedia.org/wiki/"); + Tfds.Eq(String_.new_a7(portal_mgr.Div_logo_bry()), "/site/en.wikipedia.org/wiki/"); } } 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 1e422b46b..a5c38234a 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 @@ -102,7 +102,7 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { case Xow_page_tid.Tid_json: app.Wiki_mgr().Wdata_mgr().Write_json_as_html(bfr, page_ttl.Page_db(), data_raw); break; } } - if ( wiki.Domain_tid() != Xow_domain_.Tid_int_home // allow home wiki to use javascript + if ( wiki.Domain_tid() != Xow_domain_type_.Tid_home // allow home wiki to use javascript && !page_tid_uses_pre) { // if .js, .css or .lua, skip test; may have js fragments, but entire text is escaped and put in pre; don't show spurious warning; DATE:2013-11-21 app.Html_mgr().Js_cleaner().Clean_bfr(wiki, page_ttl, bfr, bfr_page_bgn); } @@ -122,7 +122,7 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { // vnt_mgr.Convert_ttl } if (ns_id == Xow_ns_.Id_file) // if [[File]], add boilerplate header - app.File_main_wkr().Bld_html(wiki, ctx, bfr, page.Ttl(), wiki.Cfg_file_page(), page.File_queue()); + app.Ns_file_page_mgr().Bld_html(wiki, ctx, page, bfr, page.Ttl(), wiki.Cfg_file_page(), page.File_queue()); gplx.xowa.html.tidy.Xoh_tidy_mgr tidy_mgr = app.Html_mgr().Tidy_mgr(); boolean tidy_enabled = tidy_mgr.Enabled(); Bry_bfr hdom_bfr = tidy_enabled ? app.Utl__bfr_mkr().Get_m001() : bfr; // if tidy, then write to tidy_bfr; note that bfr already has and written to it, so this can't be passed to tidy; DATE:2014-06-11 @@ -165,5 +165,5 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { if (data_raw_len > 0) // do not add nl if empty String bfr.Add_byte_nl(); // per MW:EditPage.php: "Ensure there's a newline at the end, otherwise adding lines is awkward." } - private static final byte[] Content_editable_bry = Bry_.new_ascii_(" contenteditable=\"true\""); + private static final byte[] Content_editable_bry = Bry_.new_a7(" contenteditable=\"true\""); } 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 2e386f881..600856e6e 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 @@ -48,15 +48,15 @@ class Xoh_page_wtr_wkr_fxt { } private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); private Xowe_wiki wiki; public Xoae_app App() {return app;} private Xoae_app app; public void Test_page_name_by_display(String ttl, String display, String expd) { - Tfds.Eq(expd, String_.new_ascii_(Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, Xoa_ttl.parse_(wiki, Bry_.new_ascii_(ttl)), Bry_.new_ascii_(display)))); + Tfds.Eq(expd, String_.new_a7(Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, Xoa_ttl.parse_(wiki, Bry_.new_a7(ttl)), Bry_.new_a7(display)))); } public void Test_page_name_by_ttl(String raw, String expd) { - Tfds.Eq(expd, String_.new_ascii_(Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, Xoa_ttl.parse_(wiki, Bry_.new_ascii_(raw)), null))); + Tfds.Eq(expd, String_.new_a7(Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, Xoa_ttl.parse_(wiki, Bry_.new_a7(raw)), null))); } public void Test_edit(String raw, String expd) { wiki.Html_mgr().Page_wtr_mgr().Html_capable_(true); Xoae_page page = wiki.Ctx().Cur_page(); - page.Data_raw_(Bry_.new_utf8_(raw)); + page.Data_raw_(Bry_.new_u8(raw)); Xohe_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); @@ -65,8 +65,8 @@ class Xoh_page_wtr_wkr_fxt { public void Test_read(String page_name, String page_text, String expd) { wiki.Html_mgr().Page_wtr_mgr().Html_capable_(true); Xoae_page page = wiki.Ctx().Cur_page(); - page.Ttl_(Xoa_ttl.parse_(wiki, Bry_.new_ascii_(page_name))); - page.Data_raw_(Bry_.new_utf8_(page_text)); + page.Ttl_(Xoa_ttl.parse_(wiki, Bry_.new_a7(page_name))); + page.Data_raw_(Bry_.new_u8(page_text)); Xohe_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); 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 415dc3c35..75efb8474 100644 --- a/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java @@ -24,11 +24,11 @@ public class Xow_html_mgr implements GfoInvkAble { html_wtr = new Xoh_html_wtr(wiki, this); Xoae_app app = wiki.Appe(); page_wtr_mgr = new Xohe_page_wtr_mgr(app.Gui_mgr().Kit().Tid() != gplx.gfui.Gfui_kit_.Swing_tid); // reverse logic to handle swt,drd but not mem - Io_url file_dir = app.User().Fsys_mgr().App_img_dir().GenSubDir_nest("file"); + Io_url file_dir = app.Usere().Fsys_mgr().App_img_dir().GenSubDir_nest("file"); img_media_play_btn = Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(file_dir.GenSubFil("play.png")); img_media_info_btn = Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(file_dir.GenSubFil("info.png")); img_thumb_magnify = Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(file_dir.GenSubFil("magnify-clip.png")); - img_xowa_protocol = Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(app.User().Fsys_mgr().App_img_dir().GenSubFil_nest("xowa", "protocol.png")); + img_xowa_protocol = Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(app.Usere().Fsys_mgr().App_img_dir().GenSubFil_nest("xowa", "protocol.png")); portal_mgr = new Xow_portal_mgr(wiki); imgs_mgr = new Xoh_imgs_mgr(this); module_mgr = new Xow_module_mgr(wiki); diff --git a/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr.java b/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr.java index 1009692f4..f6807bf7c 100644 --- a/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr.java +++ b/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr.java @@ -20,7 +20,7 @@ import gplx.dbs.*; import gplx.xowa.wikis.data.tbls.*; public class Xowd_css_core_mgr { public static void Set(Xowd_css_core_tbl core_tbl, Xowd_css_file_tbl file_tbl, Io_url css_dir, String key) { Db_conn conn = core_tbl.Conn(); - Io_url[] file_list = Io_mgr._.QueryDir_args(css_dir).Recur_().ExecAsUrlAry(); + Io_url[] file_list = Io_mgr.I.QueryDir_args(css_dir).Recur_().ExecAsUrlAry(); try { conn.Txn_bgn(); int css_id = core_tbl.Select_id_by_key(key); @@ -33,7 +33,7 @@ public class Xowd_css_core_mgr { } for (Io_url file : file_list) { String path = Op_sys.Fsys_path_to_lnx(file.GenRelUrl_orEmpty(css_dir)); - byte[] data = Io_mgr._.LoadFilBry(file); + byte[] data = Io_mgr.I.LoadFilBry(file); file_tbl.Insert(css_id, path, data); } conn.Txn_end(); @@ -43,12 +43,12 @@ public class Xowd_css_core_mgr { public static void Get(Xowd_css_core_tbl core_tbl, Xowd_css_file_tbl file_tbl, Io_url css_dir, String key) { int css_id = core_tbl.Select_id_by_key(key); if (css_id == Xowd_css_core_tbl.Id_null) throw Err_.new_("skin:unknown key: {0}", key); Xowd_css_file_itm[] file_list = file_tbl.Select_by_owner(css_id); - // Io_mgr._.DeleteDirDeep(css_dir); // NOTE: do not delete existing files; just overwrite; + // Io_mgr.I.DeleteDirDeep(css_dir); // NOTE: do not delete existing files; just overwrite; int len = file_list.length; for (int i = 0; i < len; ++i) { Xowd_css_file_itm file = file_list[i]; Io_url file_url = Io_url_.new_fil_(css_dir.Gen_sub_path_for_os(file.Path())); - Io_mgr._.SaveFilBry(file_url, file.Data()); + Io_mgr.I.SaveFilBry(file_url, file.Data()); } } public static final String Key_default = "xowa.default", Key_mobile = "xowa.mobile"; diff --git a/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr_tst.java b/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr_tst.java index 6ea2f430e..d77f066eb 100644 --- a/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/css/Xowd_css_core_mgr_tst.java @@ -53,7 +53,7 @@ public class Xowd_css_core_mgr_tst { ( fxt.Make_file_itm(1, "a1.css", "a1_data") , fxt.Make_file_itm(1, "b/b1.png", "b/b1_data") ); - Io_mgr._.DeleteDirDeep(src_dir); + Io_mgr.I.DeleteDirDeep(src_dir); fxt.Init_fs(src_dir, file_ary); fxt.Exec_set(src_dir, "desktop"); fxt.Test_skin_tbl(skin_ary); @@ -65,7 +65,7 @@ class Xowd_css_core_mgr_fxt { private Xowd_css_core_tbl core_tbl; private Xowd_css_file_tbl file_tbl; public void Clear() { Tfds.Now_enabled_y_(); - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); Db_conn_bldr.I.Reg_default_mem(); Db_conn conn = Db_conn_bldr.I.New(Io_url_.mem_fil_("mem/db/css.sqlite3")); this.core_tbl = new Xowd_css_core_tbl(conn); @@ -74,12 +74,12 @@ class Xowd_css_core_mgr_fxt { file_tbl.Create_tbl(); } public Xowd_css_core_itm Make_skin_itm(int id, String key, String updated_on) {return new Xowd_css_core_itm(id, key, DateAdp_.parse_gplx(updated_on));} - public Xowd_css_file_itm Make_file_itm(int skin_id, String path, String data) {return new Xowd_css_file_itm(skin_id, path, Bry_.new_utf8_(data));} + public Xowd_css_file_itm Make_file_itm(int skin_id, String path, String data) {return new Xowd_css_file_itm(skin_id, path, Bry_.new_u8(data));} public Xowd_css_file_itm[] Make_file_ary(Xowd_css_file_itm... ary) {return ary;} public Xowd_css_core_itm[] Make_skin_ary(Xowd_css_core_itm... ary) {return ary;} public void Init_fs(Io_url css_dir, Xowd_css_file_itm[] file_ary) { for (Xowd_css_file_itm itm : file_ary) - Io_mgr._.SaveFilBry(css_dir.GenSubFil(itm.Path()), itm.Data()); + Io_mgr.I.SaveFilBry(css_dir.GenSubFil(itm.Path()), itm.Data()); } public void Exec_set(Io_url css_dir, String key) {Xowd_css_core_mgr.Set(core_tbl, file_tbl, css_dir, key);} public void Exec_get(Io_url css_dir, String key) {Xowd_css_core_mgr.Get(core_tbl, file_tbl, css_dir, key);} @@ -92,19 +92,19 @@ class Xowd_css_core_mgr_fxt { Tfds.Eq_str_lines(To_str(expd), To_str(actl)); } public void Test_fs(Io_url css_dir, Xowd_css_file_itm[] expd) { - Io_url[] actl = Io_mgr._.QueryDir_args(css_dir).Recur_().ExecAsUrlAry(); + Io_url[] actl = Io_mgr.I.QueryDir_args(css_dir).Recur_().ExecAsUrlAry(); int len = expd.length; Tfds.Eq(len, actl.length); for (int i = 0; i < len; ++i) { Xowd_css_file_itm expd_itm = expd[i]; - Tfds.Eq_bry(expd_itm.Data(), Io_mgr._.LoadFilBry(actl[i])); + Tfds.Eq_bry(expd_itm.Data(), Io_mgr.I.LoadFilBry(actl[i])); } } private String To_str(Xowd_css_file_itm[] ary) { int len = ary.length; for (int i = 0; i < len; ++i) { Xowd_css_file_itm itm = ary[i]; - bfr.Add_int_variable(itm.Css_id()).Add_byte_pipe().Add_str_utf8(itm.Path()).Add_byte_pipe().Add(itm.Data()).Add_byte_nl(); + bfr.Add_int_variable(itm.Css_id()).Add_byte_pipe().Add_str_u8(itm.Path()).Add_byte_pipe().Add(itm.Data()).Add_byte_nl(); } return bfr.Xto_str_and_clear(); } @@ -113,7 +113,7 @@ class Xowd_css_core_mgr_fxt { int len = ary.length; for (int i = 0; i < len; ++i) { Xowd_css_core_itm itm = ary[i]; - bfr.Add_int_variable(itm.Id()).Add_byte_pipe().Add_str_utf8(itm.Key()).Add_byte_pipe().Add_str_utf8(itm.Updated_on().XtoStr_fmt_yyyyMMdd_HHmmss()).Add_byte_nl(); + bfr.Add_int_variable(itm.Id()).Add_byte_pipe().Add_str_u8(itm.Key()).Add_byte_pipe().Add_str_u8(itm.Updated_on().XtoStr_fmt_yyyyMMdd_HHmmss()).Add_byte_nl(); } return bfr.Xto_str_and_clear(); } diff --git a/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_rdr.java b/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_rdr.java index 77535d220..ef487a207 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_rdr.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_rdr.java @@ -46,7 +46,8 @@ public class Xohd_hdump_rdr { public void Get_by_ttl(Xog_page rv, Xoa_ttl ttl) { synchronized (dbpg) { dbpg.Clear(); - if (!Get_by_ttl__fill_hpg(rv, ttl)) { + if ( !Get_by_ttl__fill_hpg(rv, ttl) + || rv.Page_body() == null) { // occurs when row exists in page, but not in html rv.Exists_n_(); return; } diff --git a/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_wtr_tst.java b/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_wtr_tst.java index 22cd84efe..b2916db5e 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_wtr_tst.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/Xohd_hdump_wtr_tst.java @@ -122,35 +122,35 @@ class Xodb_hdump_mgr__base_fxt { } @gplx.Virtual public void Clear_end() {} @gplx.Virtual public void Exec_write(String raw) { - Xop_root_tkn root = fxt.Exec_parse_page_all_as_root(Bry_.new_utf8_(raw)); + Xop_root_tkn root = fxt.Exec_parse_page_all_as_root(Bry_.new_u8(raw)); page.Root_(root); hdump_wtr.Generate_hdump(bfr, page); } public Xohd_data_itm__base Make_xfer(String lnki_ttl, int html_uid, int html_w, int html_h, boolean file_is_orig, int file_ext_id) { return new Xohd_data_itm__img().Data_init_base - (Bry_.new_utf8_(lnki_ttl), file_ext_id, Byte_.Zero, 0, 0, Xof_img_size.Upright_null, Xof_lnki_time.Null, Xof_lnki_page.Null, Xohd_data_itm__base.File_repo_id_null, file_is_orig, html_w, html_uid, html_w, html_h); + (Bry_.new_u8(lnki_ttl), Byte_.Zero, Xof_img_size.Upright_null, 0, 0, Xof_lnki_time.Null, Xof_lnki_page.Null, Xohd_data_itm__base.File_repo_id_null, file_ext_id, file_is_orig, html_w, html_uid, html_w, html_h); } } class Xohd_hdump_wtr_fxt extends Xodb_hdump_mgr__base_fxt { - private ListAdp expd_itms_xfers = ListAdp_.new_(); + private List_adp expd_itms_xfers = List_adp_.new_(); @Override public void Clear_end() {expd_itms_xfers.Clear();} - public void Expd_itms_xfers(Xohd_data_itm__base... itms) {expd_itms_xfers.AddMany((Object[])itms);} + public void Expd_itms_xfers(Xohd_data_itm__base... itms) {expd_itms_xfers.Add_many((Object[])itms);} public void Test_write_all (String raw, String expd_html) {Test_write(Bool_.N, raw, expd_html);} public void Test_write_frag(String raw, String expd_frag) {Test_write(Bool_.Y, raw, expd_frag);} public void Test_write(boolean frag, String raw, String expd_html) { this.Exec_write(raw); - String actl_html = String_.new_utf8_(page.Hdump_data().Body()); + String actl_html = String_.new_u8(page.Hdump_data().Body()); if (frag) Tfds.Eq_true(String_.Has(actl_html, expd_html), actl_html); else Tfds.Eq_str_lines(expd_html, actl_html); if (expd_itms_xfers.Count() > 0) Tfds.Eq_ary_str(Xfer_to_str_ary(expd_itms_xfers), Xfer_to_str_ary(page.Hdump_data().Imgs())); } - private static String[] Xfer_to_str_ary(ListAdp list) { + private static String[] Xfer_to_str_ary(List_adp list) { int len = list.Count(); String[] rv = new String[len]; for (int i = 0; i < len; ++i) { - Xohd_data_itm__base itm = (Xohd_data_itm__base)list.FetchAt(i); + Xohd_data_itm__base itm = (Xohd_data_itm__base)list.Get_at(i); rv[i] = itm.Data_print(); } return rv; diff --git a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_.java b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_.java index 83ef435a7..d9486859a 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_.java @@ -24,26 +24,26 @@ public class Xohd_abrv_ { , Tid_redlink = 12, Tid_toc = 13 ; public static final byte[] - Key_dir = Bry_.new_ascii_("~{xowa_dir}") - , Key_img = Bry_.new_ascii_("xowa_img='") - , Key_img_style = Bry_.new_ascii_("xowa_img_style='") - , Key_file_play = Bry_.new_ascii_("") + A_href_bgn = Bry_.new_a7("/wiki/File:") + , Bry_img_style_bgn = Bry_.new_a7("style='width:") + , Bry_img_style_end = Bry_.new_a7("px;'") + , Html_redlink_bgn = Bry_.Add(Bry_.new_a7("\" "), Key_redlink) + , Html_redlink_end = Bry_.new_a7("'>") ; public static Btrie_slim_mgr new_trie() { Btrie_slim_mgr rv = Btrie_slim_mgr.cs_(); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr.java b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr.java index dcc5a8745..ecbe32fe7 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr.java @@ -23,7 +23,7 @@ import gplx.xowa.wikis.*; import gplx.xowa.apps.fsys.*; import gplx.xowa2.gui.*; public class Xohd_abrv_mgr { private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); private Bry_rdr bry_rdr = new Bry_rdr(); private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.I; - private Xoh_cfg_file cfg_file; private Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); private Xoh_file_html_fmtr__base html_fmtr; + private Xoh_cfg_file cfg_file; private Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); private Xoh_file_html_fmtr__base html_fmtr; private byte[] root_dir, file_dir, file_dir_comm, file_dir_wiki, hiero_img_dir; private byte[] wiki_domain; public Xohd_abrv_mgr(Gfo_usr_dlg usr_dlg, Xoa_fsys_mgr fsys_mgr, Url_encoder fsys_encoder, byte[] wiki_domain) { @@ -96,7 +96,7 @@ public class Xohd_abrv_mgr { case Xohd_abrv_.Tid_file_mgnf: fmtr.Html_thumb_part_magnify (bfr, uid, a_href, a_title, cfg_file.Img_thumb_magnify()); return rv; case Xohd_abrv_.Tid_file_play: fmtr.Html_thumb_part_play (bfr, uid, img_view_w, Xoh_file_wtr__basic.Play_btn_max_width, a_href, a_title, cfg_file.Img_media_play_btn()); return rv; case Xohd_abrv_.Tid_gallery_box_max: { - Xohd_data_itm__gallery_mgr gly = (Xohd_data_itm__gallery_mgr)hpg.Gallery_itms().Fetch(uid); + Xohd_data_itm__gallery_mgr gly = (Xohd_data_itm__gallery_mgr)hpg.Gallery_itms().Get_by(uid); if (gly != null) { // -1 means no box_max byte[] style = Gallery_mgr_base.box_style_max_width_fmtr.Bld_bry_many(tmp_bfr, gly.Box_max()); Html_wtr.Write_atr_bry(bfr, Bool_.N, Byte_ascii.Quote, Html_atr_.Style_bry, style); @@ -122,8 +122,8 @@ public class Xohd_abrv_mgr { return rv; } } - url_bldr.Init_by_root(img.Orig_repo_id() == Xof_repo_itm.Repo_remote ? file_dir_comm : file_dir_wiki, Byte_ascii.Slash, false, false, 2); - url_bldr.Init_by_itm(img.File_is_orig() ? Xof_repo_itm.Mode_orig : Xof_repo_itm.Mode_thumb, img.Lnki_ttl(), Xof_xfer_itm_.Md5_(img.Lnki_ttl()), Xof_ext_.new_by_id_(img.Lnki_ext()), img.File_w(), img.Lnki_time(), img.Lnki_page()); + url_bldr.Init_by_root(img.Orig_repo_id() == Xof_repo_itm_.Repo_remote ? file_dir_comm : file_dir_wiki, Byte_ascii.Slash, false, false, 2); + url_bldr.Init_by_itm(img.File_is_orig() ? Xof_repo_itm_.Mode_orig : Xof_repo_itm_.Mode_thumb, img.Lnki_ttl(), Xof_file_wkr_.Md5_(img.Lnki_ttl()), Xof_ext_.new_by_id_(img.Orig_ext()), img.File_w(), img.Lnki_time(), img.Lnki_page()); byte[] img_src = url_bldr.Xto_bry(); if (tid == Xohd_abrv_.Tid_img) { fmtr_img.Bld_bfr_many(bfr, img_src, img_view_w, img.Html_h()); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr_tst.java b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr_tst.java index fad945857..9198aebec 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/abrvs/Xohd_abrv_mgr_tst.java @@ -104,7 +104,7 @@ public class Xohd_abrv_mgr_tst { class Xohd_abrv_mgr_fxt { private Xohd_abrv_mgr abrv_mgr; private Bry_bfr bfr = Bry_bfr.reset_(255); - private ListAdp img_list = ListAdp_.new_(); + private List_adp img_list = List_adp_.new_(); private Xowe_wiki wiki; public Xog_page Hpg() {return hpg;} private Xog_page hpg = new Xog_page(); public void Clear() { @@ -113,13 +113,13 @@ class Xohd_abrv_mgr_fxt { abrv_mgr = new Xohd_abrv_mgr(Gfo_usr_dlg_.I, app.Fsys_mgr(), app.Utl__encoder_mgr().Fsys(), wiki.Domain_bry()); } public void Clear_imgs() {img_list.Clear();} - public Xohd_abrv_mgr_fxt Init_body(String body) {hpg.Page_body_(Bry_.new_utf8_(body)); return this;} + public Xohd_abrv_mgr_fxt Init_body(String body) {hpg.Page_body_(Bry_.new_u8(body)); return this;} public Xohd_abrv_mgr_fxt Init_data_gly(int uid, int box_max) {hpg.Gallery_itms().Add(uid, new Xohd_data_itm__gallery_mgr(uid, box_max)); return this;} public Xohd_abrv_mgr_fxt Init_data_img_basic(String ttl, int html_uid, int html_w, int html_h) { Xohd_data_itm__img img = new Xohd_data_itm__img(); - img.Data_init_base(Bry_.new_utf8_(ttl), Xof_ext_.Id_png, Xop_lnki_type.Id_none, Xof_img_size.Null, Xof_img_size.Null, Xof_img_size.Upright_null + img.Data_init_base(Bry_.new_u8(ttl), Xop_lnki_type.Id_none, Xof_img_size.Upright_null, Xof_img_size.Null, Xof_img_size.Null , Xof_lnki_time.Null, Xof_lnki_page.Null - , Xohd_data_itm__base.File_repo_id_commons, Bool_.N, html_w + , Xohd_data_itm__base.File_repo_id_commons, Xof_ext_.Id_png, Bool_.N, html_w , html_uid, html_w, html_h ); img_list.Add(img); @@ -128,9 +128,9 @@ class Xohd_abrv_mgr_fxt { public Xohd_abrv_mgr_fxt Init_data_img_gly(String ttl, int html_uid, int html_w, int html_h, int box_w, int img_w, int img_pad) { Xohd_data_itm__gallery_itm img = new Xohd_data_itm__gallery_itm(); img.Data_init_gallery(box_w, img_w, img_pad); - img.Data_init_base(Bry_.new_utf8_(ttl), Xof_ext_.Id_png, Xop_lnki_type.Id_none, Xof_img_size.Null, Xof_img_size.Null, Xof_img_size.Upright_null + img.Data_init_base(Bry_.new_u8(ttl), Xop_lnki_type.Id_none, Xof_img_size.Upright_null, Xof_img_size.Null, Xof_img_size.Null , Xof_lnki_time.Null, Xof_lnki_page.Null - , Xohd_data_itm__base.File_repo_id_commons, Bool_.N, html_w + , Xohd_data_itm__base.File_repo_id_commons, Xof_ext_.Id_png, Bool_.N, html_w , html_uid, html_w, html_h ); img_list.Add(img); @@ -145,9 +145,9 @@ class Xohd_abrv_mgr_fxt { return this; } public Xohd_abrv_mgr_fxt Test_html(String expd) { - if (img_list.Count() > 0) hpg.Img_itms_((Xohd_data_itm__base[])img_list.Xto_ary_and_clear(Xohd_data_itm__base.class)); + if (img_list.Count() > 0) hpg.Img_itms_((Xohd_data_itm__base[])img_list.To_ary_and_clear(Xohd_data_itm__base.class)); byte[] actl = abrv_mgr.Parse(bfr, hpg); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); return this; } } diff --git a/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_hdump_img_cmd.java b/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_hdump_img_cmd.java index 7b8965dea..328cf924a 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_hdump_img_cmd.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_hdump_img_cmd.java @@ -83,7 +83,7 @@ interface Page_async_cmd { } class Page_async_cmd__img implements Page_async_cmd { private Xog_page hpg; - private ListAdp missing = ListAdp_.new_(); + private List_adp missing = List_adp_.new_(); public Page_async_cmd__img(Xog_page hpg) {this.hpg = hpg;} public void Prep() { int len = hpg.Img_count(); @@ -91,14 +91,14 @@ class Page_async_cmd__img implements Page_async_cmd { missing.Clear(); for (int i = 0; i < len; ++i) { Xohd_data_itm__base itm = ary[i]; - boolean exists = Io_mgr._.ExistsFil(itm.Html_view_url()); + boolean exists = Io_mgr.I.ExistsFil(itm.Html_view_url()); if (!exists) missing.Add(itm); } } public void Exec() { int len = missing.Count(); for (int i = 0; i < len; ++i) { -// Xohd_data_itm__base itm = (Xohd_data_itm__base)missing.FetchAt(i); +// Xohd_data_itm__base itm = (Xohd_data_itm__base)missing.Get_at(i); // byte[] bytes = null; //fsdb.Db_get()ttl, file_w,....): // Write file(bytes); } diff --git a/400_xowa/src/gplx/xowa/html/hdumps/core/Xohd_data_itm__base.java b/400_xowa/src/gplx/xowa/html/hdumps/core/Xohd_data_itm__base.java index 3aac27e99..44bd83cb9 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/core/Xohd_data_itm__base.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/core/Xohd_data_itm__base.java @@ -21,32 +21,27 @@ public abstract class Xohd_data_itm__base implements Xohd_data_itm { public abstract int Img_tid(); public int Data_tid() {return Xohd_data_tid.Tid_img;} public byte[] Lnki_ttl() {return lnki_ttl;} private byte[] lnki_ttl; - public int Lnki_ext() {return lnki_ext;} private int lnki_ext; public byte Lnki_type() {return lnki_type;} private byte lnki_type; + public double Lnki_upright() {return lnki_upright;} private double lnki_upright; public int Lnki_w() {return lnki_w;} private int lnki_w; public int Lnki_h() {return lnki_h;} private int lnki_h; - public double Lnki_upright() {return lnki_upright;} private double lnki_upright; public double Lnki_time() {return lnki_time;} private double lnki_time; public int Lnki_page() {return lnki_page;} private int lnki_page; - public int Html_uid() {return html_uid;} private int html_uid; public int Orig_repo_id() {return orig_repo_id;} private int orig_repo_id; + public int Orig_ext() {return orig_ext;} private int orig_ext; public boolean File_is_orig() {return file_is_orig;} private boolean file_is_orig; public int File_w() {return file_w;} private int file_w; + public int Html_uid() {return html_uid;} private int html_uid; public int Html_w() {return html_w;} private int html_w; public int Html_h() {return html_h;} private int html_h; public Io_url Html_view_url() {return html_view_url;} public void File_url_(Io_url v) {html_view_url = v;} private Io_url html_view_url; -// public byte[] Orig_ttl() {return orig_ttl;} private byte[] orig_ttl; -// public int Orig_ext() {return orig_ext;} private int orig_ext; -// public byte[] Orig_redirect() {return orig_redirect;} private byte[] orig_redirect = Bry_.Empty; public abstract byte Html_elem_tid(); -// public Io_url Html_orig_url() {return html_orig_url;} public void Html_orig_url_(Io_url v) {html_orig_url = v;} private Io_url html_orig_url = Io_url_.Null; -// public int Gallery_mgr_h() {return gallery_mgr_h;} public void Gallery_mgr_h_(int v) {gallery_mgr_h = v;} private int gallery_mgr_h = Int_.Neg1; public Xohd_data_itm__base Data_init_base - ( byte[] lnki_ttl, int lnki_ext, byte lnki_type, int lnki_w, int lnki_h, double lnki_upright, double lnki_time, int lnki_page - , int orig_repo_id, boolean file_is_orig, int file_w + ( byte[] lnki_ttl, byte lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page + , int orig_repo_id, int orig_ext, boolean file_is_orig, int file_w , int html_uid, int html_w, int html_h ) { - this.lnki_ttl = lnki_ttl; this.lnki_ext = lnki_ext; this.lnki_type = lnki_type; + this.lnki_ttl = lnki_ttl; this.orig_ext = orig_ext; this.lnki_type = lnki_type; this.lnki_w = lnki_w; this.lnki_h = lnki_h; this.lnki_upright = lnki_upright; this.lnki_time = lnki_time; this.lnki_page = lnki_page; this.orig_repo_id = orig_repo_id; this.file_is_orig = file_is_orig; this.file_w = file_w; this.html_uid = html_uid; this.html_w = html_w; this.html_h = html_h; @@ -56,7 +51,7 @@ public abstract class Xohd_data_itm__base implements Xohd_data_itm { bfr .Add_int_variable(Xohd_data_tid.Tid_img).Add_byte_pipe() .Add_int_variable(this.Img_tid()).Add_byte_pipe() .Add(lnki_ttl).Add_byte_pipe() - .Add_int_variable(lnki_ext).Add_byte_pipe() + .Add_int_variable(orig_ext).Add_byte_pipe() .Add_byte(lnki_type).Add_byte_pipe() .Add_int_variable(lnki_w).Add_byte_pipe() .Add_int_variable(lnki_h).Add_byte_pipe() @@ -74,13 +69,13 @@ public abstract class Xohd_data_itm__base implements Xohd_data_itm { bfr.Add_byte_nl(); } public String Data_print() { - return String_.Concat_with_str("|", Int_.Xto_str(this.Img_tid()), String_.new_utf8_(lnki_ttl), Int_.Xto_str(html_uid), Int_.Xto_str(html_w), Int_.Xto_str(html_h) - , Int_.Xto_str(orig_repo_id), Int_.Xto_str(lnki_ext), Yn.Xto_str(file_is_orig), Int_.Xto_str(file_w), Double_.Xto_str(lnki_time), Int_.Xto_str(lnki_page) + return String_.Concat_with_str("|", Int_.Xto_str(this.Img_tid()), String_.new_u8(lnki_ttl), Int_.Xto_str(html_uid), Int_.Xto_str(html_w), Int_.Xto_str(html_h) + , Int_.Xto_str(orig_repo_id), Int_.Xto_str(orig_ext), Yn.Xto_str(file_is_orig), Int_.Xto_str(file_w), Double_.Xto_str(lnki_time), Int_.Xto_str(lnki_page) ); } @gplx.Virtual public void Data_parse(Bry_rdr rdr) { this.lnki_ttl = rdr.Read_bry_to_pipe(); - this.lnki_ext = rdr.Read_int_to_pipe(); + this.orig_ext = rdr.Read_int_to_pipe(); this.lnki_type = rdr.Read_byte_to_pipe(); this.lnki_w = rdr.Read_int_to_pipe(); this.lnki_h = rdr.Read_int_to_pipe(); @@ -98,9 +93,9 @@ public abstract class Xohd_data_itm__base implements Xohd_data_itm { @Override public String toString() {return this.Data_print();} // TEST public static final int Tid_basic = 0, Tid_gallery = 1; public static final int - File_repo_id_commons = Xof_repo_itm.Repo_remote - , File_repo_id_local = Xof_repo_itm.Repo_local - , File_repo_id_null = Xof_repo_itm.Repo_null + File_repo_id_commons = Xof_repo_itm_.Repo_remote + , File_repo_id_local = Xof_repo_itm_.Repo_local + , File_repo_id_null = Xof_repo_itm_.Repo_null ; public static final Xohd_data_itm__base[] Ary_empty = new Xohd_data_itm__base[0]; } diff --git a/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__load.java b/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__load.java index d7c9a7575..e44eec403 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__load.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__load.java @@ -21,17 +21,17 @@ import gplx.xowa.dbs.*; import gplx.xowa.pages.*; import gplx.xowa.html.hdumps.c import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa2.gui.*; public class Xohd_page_html_mgr__load { private final Xohd_page_srl_mgr srl_mgr = Xohd_page_srl_mgr.I; - private final Bry_rdr rdr = new Bry_rdr(); private final ListAdp rows = ListAdp_.new_(), imgs = ListAdp_.new_(); + private final Bry_rdr rdr = new Bry_rdr(); private final List_adp rows = List_adp_.new_(), imgs = List_adp_.new_(); public void Load_page(Xow_wiki wiki, Xog_page hpg, Xowd_html_tbl tbl, int page_id, Xoa_ttl page_ttl) { tbl.Select_by_page(rows, page_id); Parse_rows(wiki, hpg, page_id, Xoa_url.blank_(), page_ttl, rows); } - public void Parse_rows(Xow_wiki wiki, Xog_page hpg, int page_id, Xoa_url page_url, Xoa_ttl page_ttl, ListAdp rows) { // TEST: + public void Parse_rows(Xow_wiki wiki, Xog_page hpg, int page_id, Xoa_url page_url, Xoa_ttl page_ttl, List_adp rows) { // TEST: hpg.Init(wiki, page_id, page_url, page_ttl); imgs.Clear(); int len = rows.Count(); for (int i = 0; i < len; ++i) { - Xowd_html_row row = (Xowd_html_row)rows.FetchAt(i); + Xowd_html_row row = (Xowd_html_row)rows.Get_at(i); switch (row.Tid()) { case Xowd_html_row.Tid_html: srl_mgr.Load(hpg, row.Data()); break; case Xowd_html_row.Tid_img: @@ -51,7 +51,7 @@ public class Xohd_page_html_mgr__load { case Xohd_data_tid.Tid_redlink : Load_data_redlink(hpg); break; // 2|2|0|1 } } - if (imgs.Count() > 0) hpg.Img_itms_((Xohd_data_itm__base[])imgs.Xto_ary_and_clear(Xohd_data_itm__base.class)); + if (imgs.Count() > 0) hpg.Img_itms_((Xohd_data_itm__base[])imgs.To_ary_and_clear(Xohd_data_itm__base.class)); } public static Xohd_data_itm__base Load_img(Bry_rdr rdr) { int tid = rdr.Read_int_to_pipe(); @@ -71,7 +71,7 @@ public class Xohd_page_html_mgr__load { imgs.Add(img); } private void Load_data_redlink(Xog_page hpg) { - OrderedHash redlink_hash = hpg.Redlink_uids(); + Ordered_hash redlink_hash = hpg.Redlink_uids(); while (!rdr.Pos_is_eos()) { Int_obj_ref redlink_uid = Int_obj_ref.new_(rdr.Read_int_to_pipe()); redlink_hash.Add(redlink_uid, redlink_uid); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__save.java b/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__save.java index 73e36440b..80c8fc73b 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__save.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/data/Xohd_page_html_mgr__save.java @@ -41,10 +41,10 @@ public class Xohd_page_html_mgr__save { bfr.Add_int_variable(redlink_mgr.Get_at(i)).Add_byte_pipe(); return bfr.Xto_bry_and_clear(); } - public static byte[] Write_imgs(Bry_bfr bfr, ListAdp imgs) { + public static byte[] Write_imgs(Bry_bfr bfr, List_adp imgs) { int len = imgs.Count(); if (len == 0) return null; // no images; exit early, else will write blank String for (int i = 0; i < len; ++i) { - Xohd_data_itm itm = (Xohd_data_itm)imgs.FetchAt(i); + Xohd_data_itm itm = (Xohd_data_itm)imgs.Get_at(i); itm.Data_write(bfr); } return bfr.Xto_bry_and_clear(); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm_tst.java b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm_tst.java index b6447b8de..e2f24424c 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm_tst.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm_tst.java @@ -44,7 +44,7 @@ class Xohd_page_srl_itm_fxt { public Xohd_page_srl_itm_mok Make_srl_display_ttl(String s) {return Make_srl(Xohd_page_srl_itm_.Tid_display_ttl, s);} public Xohd_page_srl_itm_mok Make_srl_content_sub(String s) {return Make_srl(Xohd_page_srl_itm_.Tid_content_sub, s);} public Xohd_page_srl_itm_mok Make_srl_sidebar_div(String s) {return Make_srl(Xohd_page_srl_itm_.Tid_sidebar_div, s);} - public Xohd_page_srl_itm_mok Make_srl(byte tid, String s) {return new Xohd_page_srl_itm_mok(tid, Bry_.new_utf8_(s));} + public Xohd_page_srl_itm_mok Make_srl(byte tid, String s) {return new Xohd_page_srl_itm_mok(tid, Bry_.new_u8(s));} public Xohd_page_srl_itm_mok Make_srl_html_modules(boolean... v) { return new Xohd_page_srl_itm_mok(Xohd_page_srl_itm_.Tid_html_module, new byte[] {Xohd_page_srl_itm__html_module.Calc_flag(v[0], v[1], v[2], v[3])}); } @@ -58,11 +58,11 @@ class Xohd_page_srl_itm_fxt { } } class Xog_page_bldr { - public byte[] Body() {return body;} public Xog_page_bldr Body_(String v) {body = Bry_.new_utf8_(v); return this;} private byte[] body; + public byte[] Body() {return body;} public Xog_page_bldr Body_(String v) {body = Bry_.new_u8(v); return this;} private byte[] body; public boolean[] Html_modules() {return html_modules;} public Xog_page_bldr Html_modules_(boolean... v) {html_modules = v; return this;} private boolean[] html_modules; - public byte[] Display_ttl() {return display_ttl;} public Xog_page_bldr Display_ttl_(String v) {display_ttl = Bry_.new_utf8_(v); return this;} private byte[] display_ttl; - public byte[] Content_sub() {return content_sub;} public Xog_page_bldr Content_sub_(String v) {content_sub = Bry_.new_utf8_(v); return this;} private byte[] content_sub; - public byte[] Sidebar_div() {return sidebar_div;} public Xog_page_bldr Sidebar_div_(String v) {sidebar_div = Bry_.new_utf8_(v); return this;} private byte[] sidebar_div; + public byte[] Display_ttl() {return display_ttl;} public Xog_page_bldr Display_ttl_(String v) {display_ttl = Bry_.new_u8(v); return this;} private byte[] display_ttl; + public byte[] Content_sub() {return content_sub;} public Xog_page_bldr Content_sub_(String v) {content_sub = Bry_.new_u8(v); return this;} private byte[] content_sub; + public byte[] Sidebar_div() {return sidebar_div;} public Xog_page_bldr Sidebar_div_(String v) {sidebar_div = Bry_.new_u8(v); return this;} private byte[] sidebar_div; public Xog_page Bld() { Xog_page rv = new Xog_page(); rv.Page_body_(body); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/pages/Xopg_hdump_data.java b/400_xowa/src/gplx/xowa/html/hdumps/pages/Xopg_hdump_data.java index ce3f02db5..3546bdc63 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/pages/Xopg_hdump_data.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/pages/Xopg_hdump_data.java @@ -21,13 +21,12 @@ import gplx.xowa.parsers.lnkis.redlinks.*; public class Xopg_hdump_data { public byte[] Body() {return body;} public void Body_(byte[] v) {body = v;} private byte[] body; public Xopg_redlink_idx_list Redlink_mgr() {return redlink_mgr;} private final Xopg_redlink_idx_list redlink_mgr = new Xopg_redlink_idx_list(); - public ListAdp Imgs() {return imgs;} private final ListAdp imgs = ListAdp_.new_(); + public List_adp Imgs() {return imgs;} private final List_adp imgs = List_adp_.new_(); public void Imgs_add(Xohd_data_itm itm) {imgs.Add(itm);} - public void Imgs_add_img(Xohd_data_itm__base img, Xof_xfer_itm xfer, int tid) { + public void Imgs_add_img(Xohd_data_itm__base img, Xof_file_itm xfer, int tid) { img.Data_init_base - ( xfer.Lnki_ttl(), xfer.Lnki_ext().Id(), xfer.Lnki_type(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_upright() - , xfer.Lnki_time(), xfer.Lnki_page() - , xfer.Trg_repo_idx(), xfer.Img_is_orig(), xfer.File_w() + ( xfer.Lnki_ttl(), xfer.Lnki_type(), xfer.Lnki_upright(), xfer.Lnki_w(), xfer.Lnki_h(), xfer.Lnki_time(), xfer.Lnki_page() + , xfer.Orig_repo_id(), xfer.Orig_ext().Id(), xfer.File_is_orig(), xfer.File_w() , xfer.Html_uid(), xfer.Html_w(), xfer.Html_h() ); imgs.Add(img); diff --git a/400_xowa/src/gplx/xowa/html/hzips/Hzip_bfr_mgr.java b/400_xowa/src/gplx/xowa/html/hzips/Hzip_bfr_mgr.java index 6671f9c8b..bb1bb6ad2 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Hzip_bfr_mgr.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Hzip_bfr_mgr.java @@ -18,14 +18,14 @@ along with this program. If not, see . package gplx.xowa.html.hzips; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; class Hzip_bfr_mgr { private Gfo_usr_dlg usr_dlg; private Bry_bfr_mkr bfr_mkr; - private ListAdp stack = ListAdp_.new_(); + private List_adp stack = List_adp_.new_(); public Hzip_bfr_mgr(Gfo_usr_dlg usr_dlg, Bry_bfr_mkr bfr_mkr) {this.usr_dlg = usr_dlg; this.bfr_mkr = bfr_mkr;} public Bry_bfr Add(Hzip_bfr_itm__base itm) { stack.Add(itm); return bfr_mkr.Get_k004(); } public Bry_bfr Pop(int expd_tid, Bry_bfr cur, byte[] src, int src_len, int pos) { - Hzip_bfr_itm__base itm = (Hzip_bfr_itm__base)ListAdp_.Pop(stack); + Hzip_bfr_itm__base itm = (Hzip_bfr_itm__base)List_adp_.Pop(stack); if (expd_tid != itm.Tid()) {usr_dlg.Warn_many("", "", "bfr_mgr tid does not match; expd=~{0} actl=~{1}", expd_tid, itm.Tid());} itm.Pop_exec(cur, src, src_len, pos); cur.Mkr_rls(); @@ -44,7 +44,7 @@ class Hzip_bfr_itm__anchor extends Hzip_bfr_itm__base { // "); bfr.Add_bfr_and_clear(cur); - bfr.Add_str(""); + bfr.Add_str_a7(""); } public static Hzip_bfr_itm__base new_(Bry_bfr cur, byte[] src, int src_len, int pos) { Hzip_bfr_itm__anchor rv = new Hzip_bfr_itm__anchor(); diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java index 9a33204a4..089f8cf71 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java @@ -149,21 +149,21 @@ public class Xow_hzip_itm__anchor { int href_end = Bry_finder.Find_fwd(src, Xow_hzip_dict.Escape, href_bgn, src_len); if (href_end == Bry_finder.Not_found) return hzip_mgr.Warn_by_pos_add_dflt("a.href_missing", href_bgn, href_bgn); switch (xtid) { case Xow_hzip_dict.Tid_lnke_txt: - bfr.Add_str("").Add_mid(src, href_bgn, href_end).Add_str(""); + bfr.Add_str_a7("").Add_mid(src, href_bgn, href_end).Add_str_a7(""); return href_end + 1; // +1 to skip escape case Xow_hzip_dict.Tid_lnke_brk_text_n: int num = Xow_hzip_int_.Load_bin_int_abrv(src, src_len, href_end + 1, count_ref); - bfr.Add_str("[").Add_int_variable(num).Add_str("]"); + bfr.Add_str_a7("[").Add_int_variable(num).Add_str_a7("]"); return href_end + 1 + count_ref.Val(); // +1 to skip escape case Xow_hzip_dict.Tid_lnke_brk_text_y: - bfr.Add_str(""); + bfr.Add_str_a7(""); return href_end + 1; // +1 to skip escape default: return hzip_mgr.Warn_by_pos("a.xtid_unknown", href_bgn, href_end); } } private final Int_obj_ref id_count_ref = Int_obj_ref.neg1_(); - public int Load_lnki(Bry_bfr bfr, byte[] src, int src_len, int bgn, byte tid, OrderedHash redlink_uids) { + public int Load_lnki(Bry_bfr bfr, byte[] src, int src_len, int bgn, byte tid, Ordered_hash redlink_uids) { // ns; 255 max byte ns_ord = src[bgn]; Xow_ns ns = ttl_parser.Ns_mgr().Ords_get_at(ns_ord); @@ -183,25 +183,25 @@ public class Xow_hzip_itm__anchor { byte[] ttl_bry = Bry_.Mid(src, ttl_bgn, ttl_end); Xoa_ttl ttl = ttl_parser.Ttl_parse(ns.Id(), ttl_bry); byte[] ttl_full = ttl.Full_db(); - bfr.Add_str_ascii("").Add(ttl_bry); - bfr.Add_str(""); + bfr.Add(Html_utl.Escape_html_as_bry(ttl_bry)).Add_str_a7("'>").Add(ttl_bry); + bfr.Add_str_a7(""); } else { - bfr.Add(ttl.Page_txt()).Add_str("'>"); + bfr.Add(ttl.Page_txt()).Add_str_a7("'>"); } return rv; } @@ -214,10 +214,10 @@ public class Xow_hzip_itm__anchor { ); } private static final byte[] - Find_href_bry = Bry_.new_ascii_(" href=\"") - , Find_id_bry = Bry_.new_ascii_(" id=\"") - , Find_a_rhs_bgn_bry = Bry_.new_ascii_("") - , Find_img_xatrs = Bry_.new_ascii_("xatrs='") + Find_href_bry = Bry_.new_a7(" href=\"") + , Find_id_bry = Bry_.new_a7(" id=\"") + , Find_a_rhs_bgn_bry = Bry_.new_a7("") + , Find_img_xatrs = Bry_.new_a7("xatrs='") ; private static final byte Href_tid_wiki = 1, Href_tid_site = 2; private static final int Href_bry_len = 6; // "/wiki/".length diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor_tst.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor_tst.java index 89c55faf3..cdd9a4b22 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor_tst.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor_tst.java @@ -20,74 +20,74 @@ import org.junit.*; import gplx.xowa.html.*; public class Xow_hzip_itm__anchor_tst { @Before public void init() {fxt.Clear();} private Xow_hzip_mgr_fxt fxt = new Xow_hzip_mgr_fxt(); @Test public void Srl_lnki_text_n() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry); // 2=ns_ord for Main + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry); // 2=ns_ord for Main fxt.Test_save(brys, "A"); fxt.Test_load(brys, "A"); } @Test public void Srl_lnki_text_n_alt_case() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("a"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("a"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, "a"); fxt.Test_load(brys, "a"); } @Test public void Srl_lnki_text_n_ns() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(12), fxt.Make_int(3), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(12), fxt.Make_int(3), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, "Template:A"); fxt.Test_load(brys, "Template:A"); } @Test public void Srl_lnki_text_n_apos() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(12), fxt.Make_int(3), Bry_.new_ascii_("A'b"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(12), fxt.Make_int(3), Bry_.new_a7("A'b"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, "Template:A'b"); fxt.Test_load(brys, "Template:A'b"); } @Test public void Srl_lnki_text_n_xwiki() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Byte_ascii.Pipe_bry, Bry_.new_ascii_("en.wiktionary.org"), Byte_ascii.Pipe_bry, Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Byte_ascii.Pipe_bry, Bry_.new_a7("en.wiktionary.org"), Byte_ascii.Pipe_bry, Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, "A"); fxt.Test_load(brys, "A"); } @Test public void Srl_lnki_text_n_smoke() { - byte[][] brys = Bry_.Ary(Bry_.new_ascii_("a_1"), Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry, Bry_.new_ascii_("a_2")); + byte[][] brys = Bry_.Ary(Bry_.new_a7("a_1"), Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry, Bry_.new_a7("a_2")); fxt.Test_save(brys, "a_1Aa_2"); fxt.Test_load(brys, "a_1Aa_2"); } @Test public void Srl_lnki_text_y() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry, Bry_.new_ascii_("A1"), Xow_hzip_dict.Bry_a_rhs); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry, Bry_.new_a7("A1"), Xow_hzip_dict.Bry_a_rhs); fxt.Test_save(brys, "A1"); fxt.Test_load(brys, "A1"); } @Test public void Srl_lnki_text_y_nest() { byte[][] brys = Bry_.Ary - ( Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry - , Bry_.new_ascii_("B"), Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("C"), Xow_hzip_dict.Escape_bry, Bry_.new_ascii_("C1"), Xow_hzip_dict.Bry_a_rhs, Bry_.new_ascii_("D") + ( Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry + , Bry_.new_a7("B"), Xow_hzip_dict.Bry_lnki_text_y, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("C"), Xow_hzip_dict.Escape_bry, Bry_.new_a7("C1"), Xow_hzip_dict.Bry_a_rhs, Bry_.new_a7("D") , Xow_hzip_dict.Bry_a_rhs ); fxt.Test_save(brys, "BC1D"); fxt.Test_load(brys, "BC1D"); } @Test public void Srl_noop() { - byte[][] brys = Bry_.Ary(Bry_.new_utf8_("A"), Xow_hzip_dict.Bry_a_rhs); // NOTE: still converts "" to hzip + byte[][] brys = Bry_.Ary(Bry_.new_u8("A"), Xow_hzip_dict.Bry_a_rhs); // NOTE: still converts "" to hzip fxt.Test_save(brys, "A"); fxt.Test_load(brys, "A"); } @Test public void Srl_lnki_text_y__multiple() { // PURPOSE: if id is missing from 1st anchor, do not get from second - byte[][] brys = Bry_.Ary(Bry_.new_utf8_("A") + byte[][] brys = Bry_.Ary(Bry_.new_u8("A") , Xow_hzip_dict.Bry_a_rhs - , Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_ascii_("B"), Xow_hzip_dict.Escape_bry + , Xow_hzip_dict.Bry_lnki_text_n, Bry_.ints_(2), fxt.Make_int(3), Bry_.new_a7("B"), Xow_hzip_dict.Escape_bry ); fxt.Test_save(brys, "AB"); fxt.Test_load(brys, "AB"); } @Test public void Srl_lnke_txt() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_txt, Bry_.new_ascii_("http://a.org"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_txt, Bry_.new_a7("http://a.org"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, "http://a.org"); fxt.Test_load(brys, "http://a.org"); } @Test public void Srl_lnke_brk_y() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_brk_text_y, Bry_.new_ascii_("http://a.org"), Xow_hzip_dict.Escape_bry, Bry_.new_ascii_("A1"), Xow_hzip_dict.Bry_a_rhs); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_brk_text_y, Bry_.new_a7("http://a.org"), Xow_hzip_dict.Escape_bry, Bry_.new_a7("A1"), Xow_hzip_dict.Bry_a_rhs); fxt.Test_save(brys, "A1"); fxt.Test_load(brys, "A1"); } @Test public void Srl_lnke_brk_n() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_brk_text_n, Bry_.new_ascii_("http://a.org"), Xow_hzip_dict.Escape_bry, Xow_hzip_int_.Save_bin_int_abrv(123)); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_lnke_brk_text_n, Bry_.new_a7("http://a.org"), Xow_hzip_dict.Escape_bry, Xow_hzip_int_.Save_bin_int_abrv(123)); fxt.Test_save(brys, "[123]"); fxt.Test_load(brys, "[123]"); } diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__file_tst.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__file_tst.java index b7ac442d7..6c0d67756 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__file_tst.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__file_tst.java @@ -20,7 +20,7 @@ import org.junit.*; import gplx.xowa.html.*; public class Xow_hzip_itm__file_tst { @Before public void init() {fxt.Clear();} private Xow_hzip_mgr_fxt fxt = new Xow_hzip_mgr_fxt(); @Test public void Srl_lnki_img_full() { - byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_img_full, Bry_.ints_(7), Bry_.ints_(12, 0), Bry_.new_ascii_("cls_other"), Bry_.new_ascii_("|caption_other"), Xow_hzip_dict.Escape_bry); + byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_img_full, Bry_.ints_(7), Bry_.ints_(12, 0), Bry_.new_a7("cls_other"), Bry_.new_a7("|caption_other"), Xow_hzip_dict.Escape_bry); fxt.Test_save(brys, ""); // fxt.Test_load(brys, "a_1Aa_2"); } diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header.java index 0813d1cc7..e063ac8ef 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header.java @@ -47,9 +47,9 @@ public class Xow_hzip_itm__header { byte hdr_num = (byte)(src[bgn] + Byte_ascii.Num_0); int capt_bgn = bgn + 1; int capt_end = Bry_finder.Find_fwd(src, Xow_hzip_dict.Escape, capt_bgn, src_len); if (capt_end == Bry_finder.Not_found) return hzip_mgr.Warn_by_pos_add_dflt("hdr.capt_end_missing", bgn, capt_bgn); - bfr.Add_str("").Add_mid(src, capt_bgn, capt_end).Add_str(""); + bfr.Add_str_a7("").Add_mid(src, capt_bgn, capt_end).Add_str(""); return capt_end + 1; } public void Html(Bry_bfr bfr, boolean caption) {} - public static final byte[] Hdr_end = Bry_.new_ascii_(""); + public static final byte[] Hdr_end = Bry_.new_a7(""); } diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header_tst.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header_tst.java index 41cfebe6b..942c2411e 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header_tst.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__header_tst.java @@ -20,7 +20,7 @@ import org.junit.*; import gplx.xowa.html.*; public class Xow_hzip_itm__header_tst { @Before public void init() {fxt.Clear();} private Xow_hzip_mgr_fxt fxt = new Xow_hzip_mgr_fxt(); @Test public void Srl_basic() { -// byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_hdr_lhs, Bry_.ints_(2), Bry_.new_ascii_("A"), Xow_hzip_dict.Escape_bry); +// byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_hdr_lhs, Bry_.ints_(2), Bry_.new_a7("A"), Xow_hzip_dict.Escape_bry); // fxt.Test_save(brys, "

    A

    "); // fxt.Test_load(brys, "

    A

    "); } @@ -28,7 +28,7 @@ public class Xow_hzip_itm__header_tst { // fxt.Test_html("==A==", "

    A

    \n"); } @Test public void Srl_anchor() { -// byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_hdr_lhs, Bry_.ints_(2), Bry_.new_ascii_("A b c"), Xow_hzip_dict.Escape_bry); +// byte[][] brys = Bry_.Ary(Xow_hzip_dict.Bry_hdr_lhs, Bry_.ints_(2), Bry_.new_a7("A b c"), Xow_hzip_dict.Escape_bry); // fxt.Test_save(brys, "

    A b c

    "); //// fxt.Test_load(brys, "

    A b c

    "); } diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java index 0bc188f3d..728d47bf4 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java @@ -57,7 +57,7 @@ public class Xow_hzip_mgr { } if (add_bgn != -1) bfr.Add_mid(src, add_bgn, src_len); } - public byte[] Parse(Bry_bfr rv, byte[] page_url, byte[] src, OrderedHash redlink_uids) { + public byte[] Parse(Bry_bfr rv, byte[] page_url, byte[] src, Ordered_hash redlink_uids) { this.page_url = page_url; this.src = src; this.src_len = src.length; int pos = 0, add_bgn = -1; @@ -91,7 +91,7 @@ public class Xow_hzip_mgr { public int Warn_by_pos(String err, int bgn, int end) {return Warn_by_pos(err, bgn, end, 0);} private int Warn_by_pos(String err, int bgn, int end, int end_adj) { end += end_adj; if (end > src_len) end = src_len; - usr_dlg.Warn_many("", "", "hzip failed: page=~{0} err=~{1} mid=~{2}", String_.new_utf8_(page_url), err, String_.new_utf8_(src, bgn, end)); + usr_dlg.Warn_many("", "", "hzip failed: page=~{0} err=~{1} mid=~{2}", String_.new_u8(page_url), err, String_.new_u8(src, bgn, end)); return Unhandled; } public static final int Unhandled = -1; diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr_fxt.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr_fxt.java index 041fce0bd..4d210a7cf 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr_fxt.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr_fxt.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.html.hzips; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; class Xow_hzip_mgr_fxt { private Bry_bfr bfr = Bry_bfr.reset_(Io_mgr.Len_mb); private Xow_hzip_mgr hzip_mgr; private Xowe_wiki wiki; - private Xodump_stats_itm stats = new Xodump_stats_itm(); private final OrderedHash redlink_uids = OrderedHash_.new_(); + private Xodump_stats_itm stats = new Xodump_stats_itm(); private final Ordered_hash redlink_uids = Ordered_hash_.new_(); public void Clear() { if (hzip_mgr == null) { Xoae_app app = Xoa_app_fxt.app_(); @@ -27,27 +27,27 @@ class Xow_hzip_mgr_fxt { } } public void Init_xwiki(String alias, String domain) { - wiki.Appe().Wiki_mgr().Get_by_key_or_make(Bry_.new_utf8_(domain)); + wiki.Appe().Wiki_mgr().Get_by_key_or_make(Bry_.new_u8(domain)); wiki.Xwiki_mgr().Add_full(alias, domain); - wiki.Appe().User().Wiki().Xwiki_mgr().Add_full(domain, domain); + wiki.Appe().Usere().Wiki().Xwiki_mgr().Add_full(domain, domain); } public byte[] Make_int(int v) {return Xow_hzip_int_.Save_bin_int_abrv(v);} public void Test_save(byte[][] expd_brys, String html) {Test_save(html, expd_brys);} public void Test_save(String html, byte[]... expd_brys) { byte[] expd = Bry_.Add(expd_brys); - hzip_mgr.Write(bfr, stats, Bry_.Empty, Bry_.new_utf8_(html)); + hzip_mgr.Write(bfr, stats, Bry_.Empty, Bry_.new_u8(html)); Tfds.Eq_ary(expd, bfr.Xto_bry_and_clear()); } public void Test_load(byte[][] src_brys, String expd) { byte[] src = Bry_.Add(src_brys); src = hzip_mgr.Parse(bfr, Bry_.Empty, src, redlink_uids); - Tfds.Eq(expd, String_.new_utf8_(src)); + Tfds.Eq(expd, String_.new_u8(src)); } public void Test_html(String html, String expd) { Xop_ctx ctx = wiki.Ctx(); Xop_parser parser = wiki.Parser(); Xop_tkn_mkr tkn_mkr = ctx.Tkn_mkr(); ctx.Para().Enabled_n_(); ctx.Cur_page().Redlink_lnki_list().Clear(); - byte[] html_bry = Bry_.new_utf8_(html); + byte[] html_bry = Bry_.new_u8(html); Xop_root_tkn root = ctx.Tkn_mkr().Root(html_bry); parser.Parse_page_all_clear(root, ctx, tkn_mkr, html_bry); Xoh_wtr_ctx hctx = Xoh_wtr_ctx.Hdump; diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java index 9c153b5f2..81eabd12f 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java @@ -26,19 +26,19 @@ class Xow_hzip_xtid { return xtid_end; } private static final byte[] - Bry_xtid = Bry_.new_ascii_("xtid='") + Bry_xtid = Bry_.new_a7("xtid='") ; private static final int Len_xtid = Bry_xtid.length ; public static final byte[] - Bry_lnki_text_n = Bry_.new_ascii_("a_lnki_text_n") - , Bry_lnki_text_y = Bry_.new_ascii_("a_lnki_text_y") - , Bry_lnke_txt = Bry_.new_ascii_("a_lnke_txt") - , Bry_lnke_brk_n = Bry_.new_ascii_("a_lnke_brk_n") - , Bry_lnke_brk_y = Bry_.new_ascii_("a_lnke_brk_y") - , Bry_img_full = Bry_.new_ascii_("a_img_full") - , Bry_hdr = Bry_.new_ascii_("hdr") + Bry_lnki_text_n = Bry_.new_a7("a_lnki_text_n") + , Bry_lnki_text_y = Bry_.new_a7("a_lnki_text_y") + , Bry_lnke_txt = Bry_.new_a7("a_lnke_txt") + , Bry_lnke_brk_n = Bry_.new_a7("a_lnke_brk_n") + , Bry_lnke_brk_y = Bry_.new_a7("a_lnke_brk_y") + , Bry_img_full = Bry_.new_a7("a_img_full") + , Bry_hdr = Bry_.new_a7("hdr") ; private static final Hash_adp_bry Xtids = Hash_adp_bry.cs_() .Add_bry_byte(Bry_lnki_text_n , Xow_hzip_dict.Tid_lnki_text_n) 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 f15c45b1a..6b39d8255 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 @@ -30,7 +30,7 @@ public class Xoh_file_html_fmtr__base implements Xoh_file_img_wkr { , "" ), "a_href", "a_xowa_title", "html" ); - @gplx.Virtual public void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_xfer_itm xfer_itm, int uid + @gplx.Virtual public void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_file_itm xfer_itm, int uid , byte[] a_href, byte a_cls, byte a_rel, byte[] a_title, byte[] a_xowa_title , int img_w, int img_h, byte[] img_src, byte[] img_alt, byte img_cls, byte[] img_cls_other ) { @@ -49,7 +49,7 @@ public class Xoh_file_html_fmtr__base implements Xoh_file_img_wkr { 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.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;\""); + } private static final byte[] Bry_style_bgn = Bry_.new_a7("style=\"width:"), Bry_style_end = Bry_.new_a7("px;\""); protected Bry_fmtr fmtr_thumb_core = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last // REF.MW: Linker.php|makeImageLink2 ( "
    " , "
    " @@ -59,11 +59,11 @@ public class Xoh_file_html_fmtr__base implements Xoh_file_img_wkr { , "" ), "uid", "div1_halign", "style", "div2_content" ); - public byte[] Html_thumb_part_img(Bry_bfr tmp_bfr, Xoae_page page, Xof_xfer_itm xfer_itm, Xop_lnki_tkn lnki, int uid, byte[] a_href, byte[] img_src, byte[] img_alt) { + public byte[] Html_thumb_part_img(Bry_bfr tmp_bfr, Xoae_page page, Xof_file_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.Xto_bry_and_clear(); } - public void Html_thumb_part_img(Bry_bfr tmp_bfr, Xoae_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) { + public void Html_thumb_part_img(Bry_bfr tmp_bfr, Xoae_page page, Xof_file_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); } private Bry_fmtr fmtr_thumb_part_img = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last 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 1086c11e2..b82ffdce8 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,17 +24,17 @@ public class Xoh_file_html_fmtr__hdump extends Xoh_file_html_fmtr__base { // public override void Html_full_media(Bry_bfr tmp_bfr, byte[] a_href, byte[] a_title, Bry_fmtr_arg html) { // fmtr_full_media.Bld_bfr_many(tmp_bfr, a_href, a_title, html); // } -// public override void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_xfer_itm xfer_itm, int uid +// public override void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_file_itm xfer_itm, int uid // , byte[] a_href, byte a_cls, byte a_rel, byte[] a_title, byte[] a_xowa_title // , int img_w, int img_h, byte[] img_src, byte[] img_alt, byte img_cls, byte[] img_cls_other) { -// tmp_bfr.Add_str_ascii(""); +// tmp_bfr.Add_str_a7("'/>"); // } @Override public void Html_thumb_core(Bry_bfr bfr, int uid, byte[] div1_halign, int div2_width, byte[] div2_content) { tmp_bfr.Add(Xohd_abrv_.Key_img_style); @@ -50,6 +50,6 @@ public class Xoh_file_html_fmtr__hdump extends Xoh_file_html_fmtr__base { bfr.Add(key); bfr.Add_int_variable(uid); bfr.Add(Bry_xnde_end); - } private static final byte[] Bry_xnde_end = Bry_.new_ascii_("'/>"); + } private static final byte[] Bry_xnde_end = Bry_.new_a7("'/>"); public static final Xoh_file_html_fmtr__hdump Hdump = new Xoh_file_html_fmtr__hdump(); Xoh_file_html_fmtr__hdump() {} } diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_img_wkr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_img_wkr.java index 28f113acd..07f9ce77c 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_img_wkr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_img_wkr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.html.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.files.*; public interface Xoh_file_img_wkr { - void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_xfer_itm xfer_itm, int uid + void Html_full_img(Bry_bfr tmp_bfr, Xoh_wtr_ctx hctx, Xoae_page page, Xof_file_itm xfer_itm, int uid , byte[] a_href, byte a_cls, byte a_rel, byte[] a_title, byte[] a_xowa_title , int img_w, int img_h, byte[] img_src, byte[] img_alt, byte img_cls, byte[] img_cls_other ); diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java index a53abb60e..55985b511 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java @@ -17,56 +17,52 @@ along with this program. If not, see . */ package gplx.xowa.html.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.core.primitives.*; -import gplx.xowa.files.*; import gplx.xowa.parsers.lnkis.*; +import gplx.xowa.files.*; import gplx.xowa.files.xfers.*; import gplx.xowa.parsers.lnkis.*; public class Xoh_file_mgr { - private final Xowe_wiki wiki; private final Bool_obj_ref queue_add_ref = Bool_obj_ref.n_(); - private final Xof_xfer_itm tmp_xfer_itm = new Xof_xfer_itm(); + private final Xowe_wiki wiki; public Xoh_file_mgr(Xowe_wiki wiki, Xow_html_mgr html_mgr, Xoh_html_wtr html_wtr) { - this.wiki = wiki; - this.file_wtr = new Xoh_file_wtr__basic(wiki, html_mgr, html_wtr); + this.wiki = wiki; this.file_wtr = new Xoh_file_wtr__basic(wiki, html_mgr, html_wtr); } public Xoh_file_wtr__basic File_wtr() {return file_wtr;} private final Xoh_file_wtr__basic file_wtr; public void Init_by_page(Xoh_wtr_ctx hctx, Xoae_page page) {file_wtr.Init_by_page(hctx, page);} - public void Write_or_queue(Bry_bfr bfr, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki) { - Xof_xfer_itm xfer_itm = this.Lnki_eval(ctx, page, lnki, queue_add_ref); - file_wtr.Write_file(bfr, ctx, hctx, src, lnki, xfer_itm, file_wtr.Arg_alt_text(ctx, src, lnki)); - } + public void Write_or_queue(Bry_bfr bfr, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki) {Write_or_queue(bfr, page, ctx, hctx, src, lnki, file_wtr.Arg_alt_text(ctx, src, lnki));} public void Write_or_queue(Bry_bfr bfr, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, byte[] alt_text) { - Xof_xfer_itm xfer_itm = this.Lnki_eval(ctx, page, lnki, queue_add_ref); - file_wtr.Write_file(bfr, ctx, hctx, src, lnki, xfer_itm, alt_text); + file_wtr.Write_file(bfr, ctx, hctx, src, lnki, this.Lnki_eval(Xof_exec_tid.Tid_wiki_page, ctx, page, lnki), alt_text); } - public Xof_xfer_itm Lnki_eval(Xop_ctx ctx, Xoae_page page, Xop_lnki_tkn lnki, Bool_obj_ref queue_add_ref) {return Lnki_eval(ctx, page.File_queue(), lnki.Ttl().Page_url(), lnki.Lnki_type(), lnki.W(), lnki.H(), lnki.Upright(), lnki.Time(), lnki.Page(), lnki.Ns_id() == Xow_ns_.Id_media, queue_add_ref);} - public Xof_xfer_itm Lnki_eval(Xop_ctx ctx, Xof_xfer_queue queue, byte[] lnki_ttl, byte lnki_type, int lnki_w, int lnki_h, double lnki_upright, double lnki_thumbtime, int lnki_page, boolean lnki_is_media_ns, Bool_obj_ref queue_add_ref) { - queue_add_ref.Val_n_(); + public Xof_file_itm Lnki_eval(int exec_tid, Xop_ctx ctx, Xoae_page page, Xop_lnki_tkn lnki) {return Lnki_eval(exec_tid, ctx, page, page.File_queue(), lnki.Ttl().Page_url(), lnki.Lnki_type(), lnki.Upright(), lnki.W(), lnki.H(), lnki.Time(), lnki.Page(), lnki.Ns_id() == Xow_ns_.Id_media);} + public Xof_file_itm Lnki_eval(int exec_tid, Xop_ctx ctx, Xoae_page page, Xof_xfer_queue queue, byte[] lnki_ttl, byte lnki_type, double lnki_upright, int lnki_w, int lnki_h, double lnki_time, int lnki_page, boolean lnki_is_media_ns) { int uid = queue.Html_uid().Val_add(); - tmp_xfer_itm.Clear().Init_by_lnki(lnki_ttl, Bry_.Empty, lnki_type, lnki_w, lnki_h, lnki_upright, lnki_thumbtime, lnki_page).Set__html_uid_tid(uid, Xof_html_elem.Tid_img); - boolean found = Find_file(ctx, tmp_xfer_itm); - boolean file_queue_add = File_queue_add(wiki, tmp_xfer_itm, lnki_is_media_ns, found); - Xof_xfer_itm rv = tmp_xfer_itm; - if (file_queue_add) { - queue_add_ref.Val_y_(); - rv = tmp_xfer_itm.Clone(); - queue.Add(rv); - return rv; - } - rv.File_found_(found); - return rv; - } - private boolean Find_file(Xop_ctx ctx, Xof_xfer_itm xfer_itm) { - if (wiki.File_mgr().Version() == Xow_file_mgr.Version_2) - return ctx.Cur_page().Lnki_file_mgr().Find(wiki, ctx.Cur_page(), Xof_exec_tid.Tid_wiki_page, xfer_itm); + Xof_xfer_itm xfer = new Xof_xfer_itm(); + xfer.Init_at_lnki(exec_tid, page.Wiki().Domain_itm().Abrv_xo(), lnki_ttl, lnki_type, lnki_upright, lnki_w, lnki_h, lnki_time, lnki_page, Xof_patch_upright_tid_.Tid_all); + xfer.Init_at_hdoc(uid, Xof_html_elem.Tid_img); + Xowe_wiki source_wiki = (Xowe_wiki)page.Commons_mgr().Source_wiki_or(wiki); + boolean found = Find_file(ctx, source_wiki, xfer); + boolean file_queue_add = File_queue_add(source_wiki, xfer, lnki_is_media_ns, found); + if (file_queue_add) + queue.Add(xfer); else - return wiki.File_mgr().Find_meta(xfer_itm); + xfer.File_exists_(found); + return xfer; } - private static boolean File_queue_add(Xowe_wiki wiki, Xof_xfer_itm xfer_itm, boolean lnki_is_media_ns, boolean found) { + private boolean Find_file(Xop_ctx ctx, Xowe_wiki source_wiki, Xof_xfer_itm xfer) { + if ( source_wiki.File__fsdb_mode() == null // ignore if null; occurs during some tests; also null-ref check for next + || source_wiki.File__fsdb_mode().Tid_v2_bld() // ignore builds + ) + return false; + if (source_wiki.File_mgr().Version() == Xow_file_mgr.Version_2) + return ctx.App().Usere().File__xfer_itm_finder().Find(source_wiki, xfer.Lnki_exec_tid(), xfer, ctx.Cur_page().Url_bry_safe()); + else + return source_wiki.File_mgr().Find_meta(xfer); + } + private static boolean File_queue_add(Xowe_wiki wiki, Xof_xfer_itm xfer, boolean lnki_is_media_ns, boolean found) { if (!wiki.File_mgr().Cfg_download().Enabled()) return false; if (lnki_is_media_ns) return false; switch (wiki.File_mgr().Cfg_download().Redownload()) { case Xof_cfg_download.Redownload_none: if (found) return false; if (!found - && xfer_itm.Meta_itm() != null // null check; fsdb_call does not set meta - && xfer_itm.Meta_itm().Orig_exists() == Xof_meta_itm.Exists_n) + && xfer.Meta_itm() != null // null check; fsdb_call does not set meta + && xfer.Meta_itm().Orig_exists() == Xof_meta_itm.Exists_n) return false; // not found, and orig_exists is n; do not download again (NOTE: even if current lnki is thumb, don't bother looking for thumb if orig is missing) break; case Xof_cfg_download.Redownload_missing: 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 7c1fb5ef4..83c20ff27 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 @@ -31,10 +31,10 @@ public class Xoh_file_wtr__basic { public Xoh_file_html_fmtr__base Html_fmtr() {return html_fmtr;} public void Init_by_page(Xoh_wtr_ctx hctx, Xoae_page page) { this.page = page; - this.cfg_alt_defaults_to_caption = wiki.Appe().User().Wiki().Html_mgr().Imgs_mgr().Alt_defaults_to_caption().Val(); + this.cfg_alt_defaults_to_caption = wiki.Appe().Usere().Wiki().Html_mgr().Imgs_mgr().Alt_defaults_to_caption().Val(); html_fmtr = hctx.Mode_is_hdump() ? Xoh_file_html_fmtr__hdump.Hdump : Xoh_file_html_fmtr__hdump.Base; } - public void Write_file(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_xfer_itm xfer_itm, byte[] img_alt) { + public void Write_file(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_file_itm xfer_itm, byte[] img_alt) { int uid = xfer_itm.Html_uid(); int div_width = xfer_itm.Html_w(); if (div_width < 1 && wiki.File_mgr().Version_2_y()) // NOTE: html_w is -1 for v2 and missing files; use lnki_w if available; primarily affects audio files with specified width; [[File:A.oga|30px]]; DATE:2014-05-03 @@ -46,16 +46,16 @@ public class Xoh_file_wtr__basic { lnki_halign = wiki.Lang().Img_thumb_halign_default(); // if halign is not supplied, then default to align for language byte[] lnki_halign_bry = Xop_lnki_align_h.Html_names[lnki_halign]; byte[] lnki_href = wiki.Appe().Href_parser().Build_to_bry(wiki, lnki.Ttl()); - byte[] img_view_src = xfer_itm.Html_view_url(); - byte[] img_orig_src = xfer_itm.Html_orig_url(); + byte[] img_view_src = xfer_itm.Html_view_url().To_http_file_bry(); + byte[] img_orig_src = xfer_itm.Html_orig_url().To_http_file_bry(); byte[] lnki_ttl = lnki.Ttl().Page_txt(); - Xof_ext lnki_ext = xfer_itm.Lnki_ext(); + Xof_ext orig_ext = xfer_itm.Orig_ext(); boolean lnki_is_thumbable = Xop_lnki_type.Id_is_thumbable(lnki.Lnki_type()); - if (lnki_is_thumbable && !xfer_itm.File_found()) // "non-found" thumbs should default to 220; otherwise large "non-found" thumbs will create large boxes; PAGE:en.w:Wikipedia:Featured_picture_candidates/September_Morn "|1000000x260px"; DATE:2014-09-24 + if (lnki_is_thumbable && !xfer_itm.File_exists()) // "non-found" thumbs should default to 220; otherwise large "non-found" thumbs will create large boxes; PAGE:en.w:Wikipedia:Featured_picture_candidates/September_Morn "|1000000x260px"; DATE:2014-09-24 div_width = Xof_img_size.Thumb_width_img; if ( html_mgr.Img_suppress_missing_src() // option to suppress src when file is missing - && !xfer_itm.Html_pass() // file is missing; wipe values and wait for "correct" info before regenerating; mostly to handle unknown redirects - && !lnki_ext.Id_is_media() // file is media; never suppress; src needs to be available for "click" on play; note that most media will be missing (not downloaded) + && !xfer_itm.File_exists() // file is missing; wipe values and wait for "correct" info before regenerating; mostly to handle unknown redirects + && !orig_ext.Id_is_media() // file is media; never suppress; src needs to be available for "click" on play; note that most media will be missing (not downloaded) && lnki.Ns_id() != Xow_ns_.Id_media // ns is media; never suppress; "src" will use only orig_src; DATE:2014-01-30 ) { img_orig_src = img_view_src = Bry_.Empty; // null out src @@ -63,21 +63,21 @@ public class Xoh_file_wtr__basic { if (lnki.Ns_id() == Xow_ns_.Id_media) // NOTE: regardless of ext (ogg vs jpeg) and literal status (Media vs :Media), [[Media]] links are always rendered the same way; REF.MW:Linker.php|makeMediaLinkObj; PAGE:en.w:Beethoven; EX: [[:Media:De-Ludwig_van_Beethoven.ogg|listen]]); [[File:Beethoven 3.jpg|The [[Media:BeethovenWithLyreGuitar( W. J. Mahler - 1804).jpg|complete painting]]...]] this.Write_file_ns_media(bfr, ctx, src, lnki, img_orig_src); else { - if ( Xof_ext_.Id_is_video_strict(lnki_ext.Id()) // id is .ogv or .webm - || ( lnki_ext.Id_is_ogg() // id is ogg + if ( Xof_ext_.Id_is_video_strict(orig_ext.Id()) // id is .ogv or .webm + || ( orig_ext.Id_is_ogg() // id is ogg && wiki.File_mgr().Version_1_y() // version is v1 (v2 always marks ogg as aud); DATE:2014-02-01 - && ( xfer_itm.Html_pass() // NOTE: xfer_itm.Html_pass() checks for video .ogg files (ext = .ogg and thumb is available); EX: WWI; - || xfer_itm.Meta_itm().State_new() // NOTE: State_new() will always assume that ogg is video; needed for 1st load and dynamic updates + && ( xfer_itm.File_exists() // NOTE: xfer_itm.Html_pass() checks for video .ogg files (ext = .ogg and thumb is available); EX: WWI; + || xfer_itm.Meta_is_new() // NOTE: State_new() will always assume that ogg is video; needed for 1st load and dynamic updates ) ) ) { xfer_itm.Html_elem_tid_(Xof_html_elem.Tid_vid); this.Write_file_video(bfr, ctx, src, lnki, uid, div_width, lnki_halign_bry, lnki_href, img_view_src, img_orig_src, img_alt, xfer_itm); } - else if (lnki_ext.Id_is_audio()) // audio + else if (orig_ext.Id_is_audio()) // audio this.Write_file_audio(bfr, ctx, src, lnki, uid, div_width, lnki_halign_bry, lnki_href, img_orig_src, img_alt); else // image - this.Write_file_image(bfr, ctx, hctx, src, lnki, xfer_itm, uid, lnki_is_thumbable, div_width, lnki_halign, lnki_halign_bry, lnki_ttl, lnki_ext, lnki_href, img_view_src, img_orig_src, img_alt); + this.Write_file_image(bfr, ctx, hctx, src, lnki, xfer_itm, uid, lnki_is_thumbable, div_width, lnki_halign, lnki_halign_bry, lnki_ttl, orig_ext, lnki_href, img_view_src, img_orig_src, img_alt); } if (hctx.Mode_is_hdump() && Xof_html_elem.Tid_is_file(xfer_itm.Html_elem_tid())) { page.Hdump_data().Imgs_add_img(new Xohd_data_itm__img(), xfer_itm, Xohd_data_itm__gallery_itm.Tid_basic); @@ -93,7 +93,7 @@ public class Xoh_file_wtr__basic { else bfr.Add(content); } - private void Write_file_video(Bry_bfr bfr, Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int uid, int div_width, byte[] lnki_halign_bry, byte[] lnki_href, byte[] img_view_src, byte[] img_orig_src, byte[] alt, Xof_xfer_itm xfer_itm) { + private void Write_file_video(Bry_bfr bfr, Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, int uid, int div_width, byte[] lnki_halign_bry, byte[] lnki_href, byte[] img_view_src, byte[] img_orig_src, byte[] alt, Xof_file_itm xfer_itm) { xfer_itm.Html_elem_tid_(Xof_html_elem.Tid_vid); boolean video_is_thumb = Xop_lnki_type.Id_defaults_to_thumb(lnki.Lnki_type()); byte[] content = Arg_content_video(ctx, src, lnki, xfer_itm, uid, video_is_thumb, lnki_href, img_view_src, img_orig_src, alt); @@ -102,8 +102,8 @@ public class Xoh_file_wtr__basic { else bfr.Add(content); } - private void Write_file_image(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_xfer_itm xfer_itm, int uid, boolean lnki_is_thumbable, int div_width, int lnki_halign, byte[] lnki_halign_bry - , byte[] lnki_ttl, Xof_ext lnki_ext, byte[] lnki_href, byte[] img_view_src, byte[] img_orig_src, byte[] alt) { + private void Write_file_image(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_file_itm xfer_itm, int uid, boolean lnki_is_thumbable, int div_width, int lnki_halign, byte[] lnki_halign_bry + , byte[] lnki_ttl, Xof_ext orig_ext, byte[] lnki_href, byte[] img_view_src, byte[] img_orig_src, byte[] alt) { if (lnki_halign == Xop_lnki_align_h.Center) bfr.Add(Div_center_bgn); Bry_bfr tmp_bfr = bfr_mkr.Get_k004(); byte[] anchor_title = html_wtr.Cfg().Lnki_title() @@ -148,9 +148,9 @@ public class Xoh_file_wtr__basic { if (lnki_halign == Xop_lnki_align_h.Center) bfr.Add(Html_tag_.Div_rhs); tmp_bfr.Mkr_rls(); } - private byte[] Arg_content_thumb(Xoh_file_img_wkr lnki_file_wkr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_xfer_itm xfer_itm, int uid, byte[] lnki_href, byte[] view_src, byte[] img_orig_src, byte[] lnki_alt_text, byte[] lnki_ttl, byte[] anchor_title) { + private byte[] Arg_content_thumb(Xoh_file_img_wkr lnki_file_wkr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_file_itm xfer_itm, int uid, byte[] lnki_href, byte[] view_src, byte[] img_orig_src, byte[] lnki_alt_text, byte[] lnki_ttl, byte[] anchor_title) { byte[] lnki_alt_html = wiki.Html_mgr().Imgs_mgr().Alt_in_caption().Val() ? Arg_alt_html(ctx, src, lnki) : Bry_.Empty; - byte img_cls_tid = xfer_itm.Html_pass() ? Xoh_lnki_consts.Tid_img_cls_thumbimage : Xoh_lnki_consts.Tid_img_cls_none; + byte img_cls_tid = xfer_itm.File_exists() ? Xoh_lnki_consts.Tid_img_cls_thumbimage : Xoh_lnki_consts.Tid_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, Xoh_lnki_consts.Tid_a_cls_image, Xoh_lnki_consts.Tid_a_rel_none, anchor_title, lnki_ttl, xfer_itm.Html_w(), xfer_itm.Html_h(), view_src, lnki_alt_text, img_cls_tid, Xoh_lnki_consts.Bry_none); byte[] thumb = tmp_bfr.Xto_bry_and_clear(); @@ -167,7 +167,7 @@ public class Xoh_file_wtr__basic { 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.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) { + private byte[] Arg_content_video(Xop_ctx ctx, byte[] src, Xop_lnki_tkn lnki, Xof_file_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(); int play_btn_width = thumb_w; if (play_btn_width < 1) play_btn_width = wiki.Html_mgr().Img_thumb_width(); byte[] caption_html = Bry_.Empty, alt_html = Bry_.Empty; @@ -226,10 +226,10 @@ public class Xoh_file_wtr__basic { } public static final int Play_btn_max_width = 1024; private static final byte[] - Div_center_bgn = Bry_.new_ascii_("
    ") - , Div_float_none = Bry_.new_ascii_("
    ") - , Div_float_left = Bry_.new_ascii_("
    ") - , Div_float_right = Bry_.new_ascii_("
    ") - , Atr_title = Bry_.new_ascii_(" title=\"") + Div_center_bgn = Bry_.new_a7("
    ") + , Div_float_none = Bry_.new_a7("
    ") + , Div_float_left = Bry_.new_a7("
    ") + , Div_float_right = Bry_.new_a7("
    ") + , Atr_title = Bry_.new_a7(" title=\"") ; } diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr_audio_video_tst.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr_audio_video_tst.java index afa7fb4f0..b07a41ec7 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr_audio_video_tst.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_wtr_audio_video_tst.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.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -import org.junit.*; +import org.junit.*; import gplx.xowa.files.*; public class Xoh_file_wtr_audio_video_tst { @Before public void init() {fxt.Reset();} private Xop_fxt fxt = new Xop_fxt(); @Test public void Audio_full() { @@ -89,6 +89,7 @@ public class Xoh_file_wtr_audio_video_tst { } @Test public void Audio_full_width() { // ISSUE: width arg ignored for v2; zh.b:小学数学/自然数; DATE:2014-05-03 fxt.Wiki().File_mgr().Version_2_y_(); + fxt.App().Usere().Init_by_app(fxt.App()); // TEST: init cache else null reference fxt.Test_html_wiki_frag("[[File:A.oga|30px|a]]", "
    "); fxt.Wiki().File_mgr().Version_1_y_(); } @@ -117,7 +118,7 @@ public class Xoh_file_wtr_audio_video_tst { ( "
    " , " " , "
    " @@ -128,21 +129,39 @@ public class Xoh_file_wtr_audio_video_tst { , "
    " )); } - @Test public void Video_full_ogg() {// PURPOSE: ogg should default to video on first load; otherwise dynamic-update won't be able to put in thumb + @Test public void Video_full_ogg() {// PURPOSE: ogg should default to video on first load; otherwise dynamic-update won't be able to put in thumb; DATE:2015-05-21 + Xof_file_fxt file_fxt = Xof_file_fxt.new_all(fxt.Wiki()); + file_fxt.Exec_orig_add(Bool_.Y, "A.ogg", Xof_ext_.Id_ogv, 400, 400, ""); fxt.Test_parse_page_wiki_str - ( "[[File:A.ogg|400px|a|alt=b]]", String_.Concat_lines_nl_skip_last - ( "
    " - , " " - , "
    " - , " " - , " \"Play" - , " " - , "
    " - , "
    " + ( "[[File:A.ogg|400px|a|alt=b]]", String_.Concat_lines_nl_skip_last + ( "
    " + , "
    " + , "
    " + , "
    " + , " " + , " \"Play" + , " " + , "
    " + , "
    " + , " " + , " " + , " " + , "
    " + , "
    " + , "
    " + , "
    " + , " " + , " \"\"" + , " " + , "
    " + , " a" + , "
    " + , "
    " + , "
    " + , "b" + , "
    " + , "
    " + , "
    " )); } @Test public void Video_thumb() { @@ -153,7 +172,7 @@ public class Xoh_file_wtr_audio_video_tst { , "
    " , " " , "
    " @@ -187,7 +206,7 @@ public class Xoh_file_wtr_audio_video_tst { , "
    " , " " , "
    " diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts.java index 6300aaf38..05d8399c9 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts.java @@ -24,12 +24,12 @@ public class Xoh_lnki_consts { ; public static final String Str_img_cls_thumbimage = "thumbimage"; private static final byte[] - Bry_anchor_class_image = Bry_.new_ascii_(" class=\"image\"") - , Bry_anchor_rel_nofollow = Bry_.new_ascii_(" rel=\"nofollow\"") - , Bry_img_cls_thumbborder = Bry_.new_ascii_(" class=\"thumbborder\"") - , Bry_img_cls_prefix = Bry_.new_ascii_(" class=\"") + Bry_anchor_class_image = Bry_.new_a7(" class=\"image\"") + , Bry_anchor_rel_nofollow = Bry_.new_a7(" rel=\"nofollow\"") + , Bry_img_cls_thumbborder = Bry_.new_a7(" class=\"thumbborder\"") + , Bry_img_cls_prefix = Bry_.new_a7(" class=\"") ; - public static final byte[] Bry_img_cls_thumbimage = Bry_.new_ascii_(" class=\"thumbimage\""); + public static final byte[] Bry_img_cls_thumbimage = Bry_.new_a7(" class=\"thumbimage\""); public static final byte[] Bry_none = Bry_.Empty; public static byte[] A_cls_to_bry(byte tid) {return tid == Tid_a_cls_none ? Bry_.Empty : Bry_anchor_class_image;} public static byte[] A_rel_to_bry(byte tid) {return tid == Tid_a_rel_none ? Bry_.Empty : Bry_anchor_rel_nofollow;} diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts_tst.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts_tst.java index 343d7c275..cdc8104de 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts_tst.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_consts_tst.java @@ -29,6 +29,6 @@ public class Xoh_lnki_consts_tst { } class Xoh_lnki_consts_fxt { public void Test_img_cls_to_bry(byte tid, String other, String expd) { - Tfds.Eq(expd, String_.new_utf8_(Xoh_lnki_consts.Img_cls_to_bry(tid, Bry_.new_utf8__null(other)))); + Tfds.Eq(expd, String_.new_u8(Xoh_lnki_consts.Img_cls_to_bry(tid, Bry_.new_u8_safe(other)))); } } diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr.java index c31ae67d7..913ff9733 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_lnki_title_fmtr.java @@ -72,5 +72,5 @@ public class Xoh_lnki_title_fmtr implements Bry_fmtr_arg { } } byte[] src; Xop_tkn_itm tkn; - public static final byte[] Escape_bgn = Bry_.new_ascii_("&#"); + public static final byte[] Escape_bgn = Bry_.new_a7("&#"); } 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 686639f60..3c22e9edd 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 @@ -33,7 +33,7 @@ class Xoh_lnki_title_fmtr_fxt { Xoh_lnki_title_fmtr title_wkr = new Xoh_lnki_title_fmtr(); public Xoh_lnki_title_fmtr_fxt Clear() {return this;} public void Test_parse(String raw, String expd) { - byte[] raw_bry = Bry_.new_utf8_(raw); + byte[] raw_bry = Bry_.new_u8(raw); 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); 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 485763532..99c90cf69 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 @@ -37,12 +37,12 @@ public class Xoh_lnki_wtr { this.wiki = ctx.Wiki(); redlinks_mgr = page.Redlink_lnki_list(); // NOTE: need to set redlinks_mgr, else toc parse may fail; EX:pl.d:head_sth_off;DATE:2014-05-07 file_wtr.Init_by_page(hctx, page); - this.history_mgr = app.User().History_mgr(); + this.history_mgr = app.Usere().History_mgr(); } public void Write(Bry_bfr bfr, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki) { Xoa_ttl lnki_ttl = lnki.Ttl(); if (lnki_ttl == null) {// NOTE: parser failed to properly invalidate lnki; escape tkn now and warn; DATE:2014-06-06 - app.Usr_dlg().Warn_many("", "", "invalid lnki evaded parser; page=~{0} ex=~{1}", ctx.Cur_page().Url().Xto_full_str(), String_.new_utf8_(src, lnki.Src_bgn(), lnki.Src_end())); + app.Usr_dlg().Warn_many("", "", "invalid lnki evaded parser; page=~{0} ex=~{1}", ctx.Cur_page().Url().Xto_full_str(), String_.new_u8(src, lnki.Src_bgn(), lnki.Src_end())); Xoh_html_wtr_escaper.Escape(app.Parser_amp_mgr(), bfr, src, lnki.Src_bgn(), lnki.Src_end(), true, false); return; } @@ -69,7 +69,7 @@ public class Xoh_lnki_wtr { public void Write_file(Bry_bfr bfr, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, byte[] alt) { file_wtr.Write_or_queue(bfr, page, ctx, hctx, src, lnki, alt); } - public void Write_file(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_xfer_itm xfer, byte[] alt) { + public void Write_file(Bry_bfr bfr, Xop_ctx ctx, Xoh_wtr_ctx hctx, byte[] src, Xop_lnki_tkn lnki, Xof_file_itm xfer, byte[] alt) { file_wtr.File_wtr().Write_file(bfr, ctx, hctx, src, lnki, xfer, alt); } public void Write_plain_by_bry(Bry_bfr bfr, byte[] src, Xop_lnki_tkn lnki, byte[] caption) { @@ -102,7 +102,7 @@ public class Xoh_lnki_wtr { bfr.Add(Xoh_consts.A_bgn); // '. */ package gplx.xowa.html.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; public class Xoh_redlink_utl { - public static final byte[] Cls_bry = Bry_.new_ascii_("class='new'"); + public static final byte[] Cls_bry = Bry_.new_a7("class='new'"); public static final String New_str = "new"; } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm_.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm_.java index 87d62df29..e041180af 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm_.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm_.java @@ -18,18 +18,18 @@ along with this program. If not, see . package gplx.xowa.html.modules; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; public class Xoh_module_itm_ { public static final byte[] // SRL: navframe, toc, title_rewrite are in wiki.cfg - Key_collapsible = Bry_.new_ascii_("collapsible") - , Key_css = Bry_.new_ascii_("css") - , Key_gallery = Bry_.new_ascii_("gallery") - , Key_globals = Bry_.new_ascii_("globals") - , Key_hiero = Bry_.new_ascii_("hiero") - , Key_mathjax = Bry_.new_ascii_("mathjax") - , Key_navframe = Bry_.new_ascii_("navframe") - , Key_popups = Bry_.new_ascii_("popups") - , Key_search_suggest = Bry_.new_ascii_("xowa.search_suggest") - , Key_timeline = Bry_.new_ascii_("xowa.timeline") - , Key_title_rewrite = Bry_.new_ascii_("title_rewrite") - , Key_toc = Bry_.new_ascii_("toc") - , Key_top_icon = Bry_.new_ascii_("top_icon") + Key_collapsible = Bry_.new_a7("collapsible") + , Key_css = Bry_.new_a7("css") + , Key_gallery = Bry_.new_a7("gallery") + , Key_globals = Bry_.new_a7("globals") + , Key_hiero = Bry_.new_a7("hiero") + , Key_mathjax = Bry_.new_a7("mathjax") + , Key_navframe = Bry_.new_a7("navframe") + , Key_popups = Bry_.new_a7("popups") + , Key_search_suggest = Bry_.new_a7("xowa.search_suggest") + , Key_timeline = Bry_.new_a7("xowa.timeline") + , Key_title_rewrite = Bry_.new_a7("title_rewrite") + , Key_toc = Bry_.new_a7("toc") + , Key_top_icon = Bry_.new_a7("top_icon") ; } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java index 827a0ba65..2d1d58274 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java @@ -33,9 +33,9 @@ public class Xoh_module_itm__collapsible implements Xoh_module_itm { wtr.Write_js_global_ini_atr_msg(wiki , Key_expand); } private static final byte[] - Key_enabled = Bry_.new_ascii_("collapsible-enabled") - , Key_collapsed = Bry_.new_ascii_("collapsible-collapsed") - , Key_collapse = Bry_.new_ascii_("collapsible-collapse") - , Key_expand = Bry_.new_ascii_("collapsible-expand") + Key_enabled = Bry_.new_a7("collapsible-enabled") + , Key_collapsed = Bry_.new_a7("collapsible-collapsed") + , Key_collapse = Bry_.new_a7("collapsible-collapse") + , Key_expand = Bry_.new_a7("collapsible-expand") ; } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__div_toggle.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__div_toggle.java index e37478436..8e337ab2f 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__div_toggle.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__div_toggle.java @@ -21,7 +21,7 @@ along with this program. If not, see . // public class Xoh_module_itm__div_toggle : Xoh_module_itm { // public boolean Enabled() {return enabled;} public void Enabled_y_() {enabled = true;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled; // public void Clear() {enabled = false;} -// public byte[] Key() {return Key_const;} private static final byte[] Key_const = Bry_.new_ascii_("div_toggle"); +// public byte[] Key() {return Key_const;} private static final byte[] Key_const = Bry_.new_a7("div_toggle"); // public void Write_css_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) {} // public void Write_js_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) {} // public void Write_css_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) { } diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__gallery.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__gallery.java index 3039307d9..e23687507 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__gallery.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__gallery.java @@ -31,6 +31,6 @@ public class Xoh_module_itm__gallery implements Xoh_module_itm { wtr.Write_js_global_ini_atr_val(Key_enabled , true); } private static final byte[] - Key_enabled = Bry_.new_ascii_("gallery-packed-enabled") + Key_enabled = Bry_.new_a7("gallery-packed-enabled") ; } 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 730d1a93c..45609b2d8 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 @@ -66,17 +66,17 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { wtr.Write_js_global_ini_atr_obj(Key_wgMonthNamesShort , months_short); } 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") - , Key_sort_descending = Bry_.new_ascii_("sort-descending") - , Key_sort_ascending = Bry_.new_ascii_("sort-ascending") - , Key_wgContentLanguage = Bry_.new_ascii_("wgContentLanguage") - , Key_wgSeparatorTransformTable = Bry_.new_ascii_("wgSeparatorTransformTable") - , Key_wgDigitTransformTable = Bry_.new_ascii_("wgDigitTransformTable") - , Key_wgDefaultDateFormat = Bry_.new_ascii_("wgDefaultDateFormat") - , Key_wgMonthNames = Bry_.new_ascii_("wgMonthNames") - , Key_wgMonthNamesShort = Bry_.new_ascii_("wgMonthNamesShort") + Key_mode_is_gui = Bry_.new_a7("mode_is_gui") + , Key_mode_is_http = Bry_.new_a7("mode_is_http") + , Key_http_port = Bry_.new_a7("http-port") + , Key_sort_descending = Bry_.new_a7("sort-descending") + , Key_sort_ascending = Bry_.new_a7("sort-ascending") + , Key_wgContentLanguage = Bry_.new_a7("wgContentLanguage") + , Key_wgSeparatorTransformTable = Bry_.new_a7("wgSeparatorTransformTable") + , Key_wgDigitTransformTable = Bry_.new_a7("wgDigitTransformTable") + , Key_wgDefaultDateFormat = Bry_.new_a7("wgDefaultDateFormat") + , Key_wgMonthNames = Bry_.new_a7("wgMonthNames") + , Key_wgMonthNamesShort = Bry_.new_a7("wgMonthNamesShort") ; private static byte[] Html_js_table_months(Xoh_module_wtr tmp_wtr, Xow_msg_mgr msg_mgr, int january_id, int december_id) { tmp_wtr.Write_js_ary_bgn(); @@ -96,10 +96,10 @@ public class Xoh_module_itm__globals implements Xoh_module_itm { return tmp_wtr.Bfr().Xto_bry_and_clear(); } private static final byte[] - Date_format_default = Bry_.new_ascii_("dmy") - , Num_format_digits = Bry_.new_ascii_("['', '']") - , Var_xowa_root_dir = Bry_.new_ascii_("xowa_root_dir") - , Var_xowa_mode_is_server = Bry_.new_ascii_("xowa_mode_is_server") + Date_format_default = Bry_.new_a7("dmy") + , Num_format_digits = Bry_.new_a7("['', '']") + , Var_xowa_root_dir = Bry_.new_a7("xowa_root_dir") + , Var_xowa_mode_is_server = Bry_.new_a7("xowa_mode_is_server") ; 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__navframe.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__navframe.java index 9fe6dc28d..9c6548fa2 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__navframe.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__navframe.java @@ -33,9 +33,9 @@ public class Xoh_module_itm__navframe implements Xoh_module_itm { wtr.Write_js_global_ini_atr_msg(wiki , Key_hide); } private static final byte[] - Key_enabled = Bry_.new_ascii_("navframe-enabled") - , Key_collapsed = Bry_.new_ascii_("navframe-collapsed") - , Key_show = Bry_.new_ascii_("show") - , Key_hide = Bry_.new_ascii_("hide") + Key_enabled = Bry_.new_a7("navframe-enabled") + , Key_collapsed = Bry_.new_a7("navframe-collapsed") + , Key_show = Bry_.new_a7("show") + , Key_hide = Bry_.new_a7("hide") ; } 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 10a0f609a..8bf74739b 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 @@ -35,7 +35,7 @@ public class Xoh_module_itm__popups implements Xoh_module_itm { 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", "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 static final byte[] Jquery_init = Bry_.new_a7("xowa.js.jquery.init();"), Mw_init = Bry_.new_a7("xowa.js.mediaWiki.init();"); public void Write_js_head_global(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) { if (!enabled) return; Xoapi_popups api_popups = app.Api_root().Html().Modules().Popups(); @@ -49,12 +49,12 @@ public class Xoh_module_itm__popups implements Xoh_module_itm { } private static byte[] Css_url; private static final byte[] - Key_win_show_delay = Bry_.new_ascii_("popups-win-show_delay") - , Key_win_hide_delay = Bry_.new_ascii_("popups-win-hide_delay") - , Key_win_max_w = Bry_.new_ascii_("popups-win-max_w") - , Key_win_max_h = Bry_.new_ascii_("popups-win-max_h") - , Key_win_show_all_max_w = Bry_.new_ascii_("popups-win-show_all_max_w") - , Key_win_bind_focus_blur = Bry_.new_ascii_("popups-win-bind_focus_blur") - , Key_win_bind_hover_area = Bry_.new_ascii_("popups-win-bind_hover_area") + Key_win_show_delay = Bry_.new_a7("popups-win-show_delay") + , Key_win_hide_delay = Bry_.new_a7("popups-win-hide_delay") + , Key_win_max_w = Bry_.new_a7("popups-win-max_w") + , Key_win_max_h = Bry_.new_a7("popups-win-max_h") + , Key_win_show_all_max_w = Bry_.new_a7("popups-win-show_all_max_w") + , Key_win_bind_focus_blur = Bry_.new_a7("popups-win-bind_focus_blur") + , Key_win_bind_hover_area = Bry_.new_a7("popups-win-bind_hover_area") ; } 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 422bf1eb4..401dc28b4 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 @@ -39,13 +39,13 @@ public class Xoh_module_itm__toc implements Xoh_module_itm { wtr.Write_js_global_ini_atr_msg(wiki , Key_hidetoc); } private static final byte[] - Key_exists = Bry_.new_ascii_("toc-enabled") - , Key_collapsed = Bry_.new_ascii_("mw_hidetoc") - , Val_collapsed_y = Bry_.new_ascii_("1") - , Val_collapsed_n = Bry_.new_ascii_("0") + Key_exists = Bry_.new_a7("toc-enabled") + , Key_collapsed = Bry_.new_a7("mw_hidetoc") + , Val_collapsed_y = Bry_.new_a7("1") + , Val_collapsed_n = Bry_.new_a7("0") ; public static final byte[] - Key_showtoc = Bry_.new_ascii_("showtoc") - , Key_hidetoc = Bry_.new_ascii_("hidetoc") + Key_showtoc = Bry_.new_a7("showtoc") + , Key_hidetoc = Bry_.new_a7("hidetoc") ; } 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 82e4586fd..e99f838d1 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 @@ -77,7 +77,7 @@ public class Xoh_module_mgr_tst { Xol_lang la_lang = fxt.Wiki().Lang(); gplx.xowa.langs.numbers.Xol_transform_mgr separators_mgr = la_lang.Num_mgr().Separators_mgr(); separators_mgr.Clear(); - separators_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__grp, Bry_.new_ascii_(" ")); + separators_mgr.Set(gplx.xowa.langs.numbers.Xol_num_mgr.Separators_key__grp, Bry_.new_a7(" ")); fxt.Mgr().Itm__globals().Enabled_y_(); fxt.Test_write(String_.Concat_lines_nl_skip_last ( "" @@ -110,18 +110,18 @@ class Xoh_module_mgr_fxt { private Bry_bfr bfr = Bry_bfr.reset_(255); public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki; public Xoh_module_mgr Mgr() {return mgr;} - public Xol_lang Make_lang(String key) {return wiki.Appe().Lang_mgr().Get_by_key_or_new(Bry_.new_ascii_(key));} + public Xol_lang Make_lang(String key) {return wiki.Appe().Lang_mgr().Get_by_key_or_new(Bry_.new_a7(key));} public void Clear() { fxt.Reset(); mgr = fxt.Page().Html_data().Module_mgr(); wiki = fxt.Wiki(); } public void Init_msg(byte[] key, String val) { - wiki.Msg_mgr().Get_or_make(key).Atrs_set(Bry_.new_ascii_(val), false, false); + wiki.Msg_mgr().Get_or_make(key).Atrs_set(Bry_.new_a7(val), false, false); } public void Init_msg(int id, String val) { Xol_msg_itm msg_itm = wiki.Lang().Msg_mgr().Itm_by_id_or_null(id); - msg_itm.Atrs_set(Bry_.new_ascii_(val), false, false); + msg_itm.Atrs_set(Bry_.new_a7(val), false, false); } public void Test_write(String expd) { mgr.Write(bfr, fxt.App(), wiki, fxt.Page()); diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr.java b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr.java index 723a2eced..4d7883071 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr.java +++ b/400_xowa/src/gplx/xowa/html/modules/Xoh_module_wtr.java @@ -94,9 +94,9 @@ public class Xoh_module_wtr { bfr.Add(Js_line_2_end); } private static final byte[] - Js_line_1 = Bry_.new_ascii_("xowa.js.jquery.init();") - , Js_line_2_bgn = Bry_.new_ascii_("xowa.js.load_lib('") - , Js_line_2_end = Bry_.new_ascii_("');") + Js_line_1 = Bry_.new_a7("xowa.js.jquery.init();") + , Js_line_2_bgn = Bry_.new_a7("xowa.js.load_lib('") + , Js_line_2_end = Bry_.new_a7("');") ; private boolean Reset() { if (bfr.Len() == reset_end) { // itms wrote nothing @@ -134,7 +134,7 @@ public class Xoh_module_wtr { public void Write_js_ary_itm(byte[] val) { if (++js_ary_idx != 1) bfr.Add(js_ary_dlm); Write_js_quote(Byte_ascii.Apos, val); - } private int js_ary_idx = 0; private static final byte[] js_ary_dlm = Bry_.new_ascii_(", "); + } private int js_ary_idx = 0; private static final byte[] js_ary_dlm = Bry_.new_a7(", "); public void Write_js_ary_end() {js_ary_idx = 0; bfr.Add_byte(Byte_ascii.Brack_end);} public void Write_js_var(byte[] key, boolean quote_val, byte[] val) { Write_nl_and_indent(); @@ -168,15 +168,15 @@ public class Xoh_module_wtr { public void Indent_add() {indent += 2;} public void Indent_del() {indent -= 2;} private static final byte[] - Css_include_bgn = Bry_.new_ascii_("") - , Js_include_bgn = Bry_.new_ascii_("") - , Js_globals_ini_var_bgn = Bry_.new_ascii_("var xowa_global_values = {") - , Js_globals_ini_var_end = Bry_.new_ascii_("}") - , Js_globals_ini_atr_mid = Bry_.new_ascii_(" : ") - , Js_var_bgn = Bry_.new_ascii_("var ") - , Js_var_mid = Bry_.new_ascii_(" = ") - , Js_var_end = Bry_.new_ascii_(";") + Css_include_bgn = Bry_.new_a7("") + , Js_include_bgn = Bry_.new_a7("") + , Js_globals_ini_var_bgn = Bry_.new_a7("var xowa_global_values = {") + , Js_globals_ini_var_end = Bry_.new_a7("}") + , Js_globals_ini_atr_mid = Bry_.new_a7(" : ") + , Js_var_bgn = Bry_.new_a7("var ") + , Js_var_mid = Bry_.new_a7(" = ") + , Js_var_end = Bry_.new_a7(";") ; } 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 ba2823286..c83785a2d 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 @@ -49,12 +49,12 @@ class Xoh_module_wtr_fxt { public void Clear() { wtr.Init(bfr); } - 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 Exec_Write_js_global_ini_atr_val(String key, String val) {wtr.Write_js_global_ini_atr_val(Bry_.new_u8(key), Bry_.new_u8(val));} public void Test(String expd) { 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); +// wiki.Msg_mgr().Get_or_make(key).Atrs_set(Bry_.new_a7(val), false, false); // } // public void Test_write(String expd) { // mgr.Write(bfr, fxt.App(), wiki, fxt.Page()); diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xopg_popup_mgr.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xopg_popup_mgr.java index b7d003460..9e4831916 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xopg_popup_mgr.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xopg_popup_mgr.java @@ -17,7 +17,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.*; public class Xopg_popup_mgr { - public OrderedHash Itms() {return itms;} private OrderedHash itms = OrderedHash_.new_(); + public Ordered_hash Itms() {return itms;} private Ordered_hash itms = Ordered_hash_.new_(); public void Clear() { itms.Clear(); } diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder.java index 16e9d45c0..4e2af2cc1 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder.java @@ -65,5 +65,5 @@ class Xow_popup_anchor_finder { rv = Bry_finder.Find_bwd(src, Byte_ascii.NewLine, id_bgn); return rv == Bry_finder.Not_found ? 0 : rv; } - private static final byte[] Hdr_bgn = Bry_.new_ascii_("\n="), Id_bry = Bry_.new_ascii_("id"); + private static final byte[] Hdr_bgn = Bry_.new_a7("\n="), Id_bry = Bry_.new_a7("id"); } diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder__hdr_tst.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder__hdr_tst.java index 990c5f298..3b1513928 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder__hdr_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_anchor_finder__hdr_tst.java @@ -78,8 +78,8 @@ class Xop_popup_hdr_finder_fxt { } public void Test_find_not(String src_str, String hdr_str) {Test_find(src_str, hdr_str, Bry_finder.Not_found);} public void Test_find(String src_str, String hdr_str, int expd) { - byte[] src = Bry_.new_utf8_(src_str); - byte[] hdr = Bry_.new_utf8_(hdr_str); + byte[] src = Bry_.new_u8(src_str); + byte[] hdr = Bry_.new_u8(hdr_str); Tfds.Eq(expd, finder.Find(src, src.length, hdr, 0), hdr_str); } } diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_cfg.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_cfg.java index 37762e63c..8e3fceefc 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_cfg.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_cfg.java @@ -28,7 +28,7 @@ public class Xow_popup_cfg { public byte[] Ellipsis() {return ellipsis;} public void Ellipsis_(byte[] v) {ellipsis = v;} private byte[] ellipsis = Bry_.Empty; public byte[] Notoc() {return notoc;} public void Notoc_(byte[] v) {notoc = v;} private byte[] notoc = Notoc_const; public static final byte[] - Notoc_const = Bry_.new_ascii_("\n__NOTOC__") // NOTE: always add a whitespace tkn else __NOTOC__ will be deactivated if last tkn is lnke; DATE:2014-06-22 - , Msg_key_ellipsis = Bry_.new_ascii_("ellipsis") + Notoc_const = Bry_.new_a7("\n__NOTOC__") // NOTE: always add a whitespace tkn else __NOTOC__ will be deactivated if last tkn is lnke; DATE:2014-06-22 + , Msg_key_ellipsis = Bry_.new_a7("ellipsis") ; } 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 28c2fc12b..94a2333d0 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 @@ -42,10 +42,10 @@ public class Xow_popup_html_mkr { , hdom_bry , wiki.Lang().Dir_ltr_bry() , page_url - , String_.new_utf8_(page.Ttl().Full_txt()) + , String_.new_u8(page.Ttl().Full_txt()) , popup_itm.Popup_id() , Xow_popup_html_bldr_.Bld_fmtr_wiki(fmtr_wiki, wrdx_bfr, cur_wiki.Domain_bry(), page.Wiki().Domain_bry()) // NOTE: use cur_wiki, not page_wiki; DATE:2014-06-28 - , gplx.ios.Io_size_.Xto_str(page.Data_raw().length) + , gplx.ios.Io_size_.To_str(page.Data_raw().length) , page.Revision_data().Modified_on().XtoStr_fmt_yyyy_MM_dd_HH_mm_ss() , Xow_popup_html_bldr_.Bld_fmtr_viewed(fmtr_viewed, app, wiki, wrdx_bfr, page.Ttl()) , app.Fsys_mgr().Root_dir().To_http_file_bry() @@ -61,7 +61,7 @@ class Xow_popup_html_bldr_ { } public static byte[] Bld_fmtr_viewed(Bry_fmtr fmtr, Xoae_app app, Xowe_wiki wiki, Bry_bfr wrdx_bfr, Xoa_ttl ttl) { byte[] view_time_item = Bry_.Empty; - gplx.xowa.users.history.Xou_history_itm history_itm = app.User().History_mgr().Get_or_null(wiki.Domain_bry(), ttl.Full_txt()); + gplx.xowa.users.history.Xou_history_itm history_itm = app.Usere().History_mgr().Get_or_null(wiki.Domain_bry(), ttl.Full_txt()); if (history_itm != null) view_time_item = fmtr.Bld_bry_many(wrdx_bfr, history_itm.View_end().XtoStr_fmt_yyyy_MM_dd_HH_mm_ss()); return view_time_item; 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 3eec76362..834bd82c7 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 @@ -66,7 +66,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { Xog_tab_itm tab = cur_page.Tab_data().Tab(); if (tab != null && tab.Tab_is_loading()) return ""; // NOTE: tab is null when previewing Xow_popup_itm itm = new Xow_popup_itm(id, href, tooltip, show_init_word_count); - String rv = String_.new_utf8_(Get_popup_html(Cur_wiki(), cur_page, itm)); + String rv = String_.new_u8(Get_popup_html(Cur_wiki(), cur_page, itm)); return tab != null && tab.Tab_is_loading() ? "" : rv; } public void Show_more(String popup_id) { @@ -115,7 +115,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { // return load_popup_wkr.Rslt_bry(); Running_(true); if (itm.Canceled()) return null; - cur_page.Popup_mgr().Itms().AddReplace(itm.Popup_id(), itm); + cur_page.Popup_mgr().Itms().Add_if_dupe_use_nth(itm.Popup_id(), itm); app.Href_parser().Parse(temp_href, itm.Page_href(), wiki, cur_page.Ttl().Full_url()); // NOTE: use Full_url, not Page_url, else anchors won't work for non-main ns; PAGE:en.w:Project:Sandbox; DATE:2014-08-07 if (temp_href.Protocol_tid() == gplx.xowa.net.Xoo_protocol_itm.Tid_file) return Bry_.Empty; // NOTE: do not get popups for "file:///"; DATE:2015-04-05 Xowe_wiki popup_wiki = app.Wiki_mgr().Get_by_key_or_null(temp_href.Wiki()); @@ -142,7 +142,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { } } catch(Exception e) { - app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_utf8_(itm.Page_href()), Err_.Message_gplx_brief(e)); + app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_u8(itm.Page_href()), Err_.Message_gplx_brief(e)); return null; } finally { @@ -154,7 +154,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { byte[] tooltip = itm.Tooltip(); if (Bry_.Len_gt_0(tooltip)) href = Bry_.Add(tooltip); - Xog_win_itm__prog_href_mgr.Hover(app, cur_wiki, cur_page, String_.new_utf8_(href)); // set page ttl again in prog bar; DATE:2014-06-28 + Xog_win_itm__prog_href_mgr.Hover(app, cur_wiki, cur_page, String_.new_u8(href)); // set page ttl again in prog bar; DATE:2014-06-28 } public void Show_popup_html(String cbk, byte[] mode, Xow_popup_itm popup_itm) { Xog_tab_itm cur_tab = app.Gui_mgr().Browser_win().Active_tab(); @@ -171,7 +171,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { GfoInvkAble_.InvkCmd(async_cmd_show, Invk_show_popup); } catch(Exception e) { - app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_utf8_(async_itm.Page_href()), Err_.Message_gplx_brief(e)); + app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_u8(async_itm.Page_href()), Err_.Message_gplx_brief(e)); } } private void Show_popup() { @@ -188,7 +188,7 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { } } public static Int_obj_ref[] Ns_allowed_parse(Xowe_wiki wiki, byte[] raw) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); byte[][] ary = Bry_.Split(raw, Byte_ascii.Pipe); int ary_len = ary.length; Xow_ns_mgr ns_mgr = wiki.Ns_mgr(); @@ -200,17 +200,17 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { : ns_mgr.Names_get_or_null(bry) ; if (ns == null) { - wiki.Appe().Usr_dlg().Log_many("", "", "popup.ns_allowed: ns not in wiki: ns=~{0} wiki=~{1}", String_.new_utf8_(bry), wiki.Domain_str()); // ns may not be in wiki; EX: Portal and www.wikidata.org + wiki.Appe().Usr_dlg().Log_many("", "", "popup.ns_allowed: ns not in wiki: ns=~{0} wiki=~{1}", String_.new_u8(bry), wiki.Domain_str()); // ns may not be in wiki; EX: Portal and www.wikidata.org continue; } Int_obj_ref ns_id_itm = Int_obj_ref.new_(ns.Id()); rv.Add(ns_id_itm); } - 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_(); + return (Int_obj_ref[])rv.To_ary(Int_obj_ref.class); + } private Hash_adp ns_allowed_regy = Hash_adp_.new_(); private Int_obj_ref ns_allowed_regy_key = Int_obj_ref.zero_(); private Xoae_page Cur_page() {return app.Gui_mgr().Browser_win().Active_page();} private Xowe_wiki Cur_wiki() {return app.Gui_mgr().Browser_win().Active_tab().Wiki();} - private Xow_popup_itm Itms_get_or_null(Xoae_page page, String popup_id) {return (Xow_popup_itm)page.Popup_mgr().Itms().Fetch(popup_id);} + private Xow_popup_itm Itms_get_or_null(Xoae_page page, String popup_id) {return (Xow_popup_itm)page.Popup_mgr().Itms().Get_by(popup_id);} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_show_popup_async)) Show_popup_async(); else if (ctx.Match(k, Invk_show_popup)) Show_popup(); @@ -239,8 +239,8 @@ public class Xow_popup_mgr implements GfoInvkAble, GfoEvObj { , Cbk_xowa_popups_show_create = "xowa_popups_show_create" ; private static final byte[] - Mode_show_more = Bry_.new_ascii_("more") - , Mode_show_all = Bry_.new_ascii_("all") + Mode_show_more = Bry_.new_a7("more") + , Mode_show_all = Bry_.new_a7("all") ; } class Xow_popup_mgr_ { @@ -256,9 +256,9 @@ class Xow_popup_mgr_ { } class Load_popup_wkr implements Gfo_thread_wkr { private Xow_popup_itm itm; private Xoae_page cur_page; private Xoh_href temp_href; - private HashAdp ns_allowed_regy; + private Hash_adp ns_allowed_regy; private Int_obj_ref ns_allowed_regy_key = Int_obj_ref.zero_(); - public Load_popup_wkr(Xowe_wiki wiki, Xoae_page cur_page, Xow_popup_itm itm, Xoh_href temp_href, HashAdp ns_allowed_regy, Int_obj_ref ns_allowed_regy_key) { + public Load_popup_wkr(Xowe_wiki wiki, Xoae_page cur_page, Xow_popup_itm itm, Xoh_href temp_href, Hash_adp ns_allowed_regy, Int_obj_ref ns_allowed_regy_key) { this.wiki = wiki; this.cur_page = cur_page; this.itm = itm; this.temp_href = temp_href; this.ns_allowed_regy = ns_allowed_regy; this.ns_allowed_regy_key = ns_allowed_regy_key; } public String Name() {return "xowa.load_popup_wkr";} @@ -271,7 +271,7 @@ class Load_popup_wkr implements Gfo_thread_wkr { Xoae_app app = wiki.Appe(); try { if (itm.Canceled()) return; - cur_page.Popup_mgr().Itms().AddReplace(itm.Popup_id(), itm); + cur_page.Popup_mgr().Itms().Add_if_dupe_use_nth(itm.Popup_id(), itm); app.Href_parser().Parse(temp_href, itm.Page_href(), wiki, cur_page.Ttl().Full_url()); // NOTE: use Full_url, not Page_url, else anchors won't work for non-main ns; PAGE:en.w:Project:Sandbox; DATE:2014-08-07 if (temp_href.Protocol_tid() == gplx.xowa.net.Xoo_protocol_itm.Tid_file) return; // NOTE: do not get popups for "file:///"; DATE:2015-04-05 Xowe_wiki popup_wiki = app.Wiki_mgr().Get_by_key_or_null(temp_href.Wiki()); @@ -293,7 +293,7 @@ class Load_popup_wkr implements Gfo_thread_wkr { Rslt_(rv); } catch(Exception e) { - app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_utf8_(itm.Page_href()), Err_.Message_gplx_brief(e)); + app.Usr_dlg().Warn_many("", "", "failed to get popup: href=~{0} err=~{1}", String_.new_u8(itm.Page_href()), Err_.Message_gplx_brief(e)); Rslt_(null); } finally { 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 1a25c7df0..eed70eb5e 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 @@ -142,7 +142,7 @@ public class Xow_popup_parser { } } last_word_idx = (last_hdr_tkn == null) // no hdr found - ? words_needed_val - ListAdp_.Base1 // get last word + ? words_needed_val - List_adp_.Base1 // get last word : last_hdr_tkn.Idx() - 1 // get word before hdr ; if (last_word_idx >= words_len) @@ -177,7 +177,7 @@ public class Xow_popup_parser { if (last_word_idx != -1) { Xow_popup_word last_word = words[last_word_idx]; wrdx_bfr.Delete_rng_to_end(last_word.Bfr_end());// delete everything after last_word - popup_itm.Words_found_(last_word_idx + ListAdp_.Base1); // last_word_idx = 0 -> words_found = 1 + popup_itm.Words_found_(last_word_idx + List_adp_.Base1); // last_word_idx = 0 -> words_found = 1 if (last_word.Tid() == Xop_tkn_itm_.Tid_hdr) // on odd case where hdr is still last word, add \n else text will literally be "==A==" b/c no trailing \n wrdx_bfr.Add_byte_nl(); } 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 af690c638..b43d2d1e9 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.Xto_ary_and_clear(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.To_ary_and_clear(Xow_popup_word.class);} private List_adp words_found_list = List_adp_.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 82548f8d3..f164cef0b 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 @@ -477,12 +477,12 @@ class Xop_popup_parser_fxt { parser.Wrdx_mkr().Xnde_ignore_ids_(Xoapi_popups.Dflt_xnde_ignore_ids); word_min = 2; } - public Xop_popup_parser_fxt Init_notoc_(String v) {parser.Cfg().Notoc_(Bry_.new_utf8_(v)); return this;} + public Xop_popup_parser_fxt Init_notoc_(String v) {parser.Cfg().Notoc_(Bry_.new_u8(v)); return this;} public Xop_popup_parser_fxt Init_tmpl_read_len_(int v) {parser.Cfg().Tmpl_read_len_(v); return this;} public Xop_popup_parser_fxt Init_tmpl_read_max_(int v) {parser.Cfg().Tmpl_read_max_(v); return this;} public Xop_popup_parser_fxt Init_word_needed_(int v) {word_min = v; return this;} public Xop_popup_parser_fxt Init_para_enabled_(boolean v) {parser.Wtxt_ctx().Para().Enabled_(v); return this;} - public Xop_popup_parser_fxt Init_ellipsis_(String v) {parser.Cfg().Ellipsis_(Bry_.new_utf8_(v)); return this;} + public Xop_popup_parser_fxt Init_ellipsis_(String v) {parser.Cfg().Ellipsis_(Bry_.new_u8(v)); return this;} public Xop_popup_parser_fxt Init_read_til_stop_fwd_(int v) {parser.Cfg().Read_til_stop_fwd_(v); return this;} public Xop_popup_parser_fxt Init_read_til_stop_bwd_(int v) {parser.Cfg().Read_til_stop_bwd_(v); return this;} public Xop_popup_parser_fxt Init_stop_if_hdr_after_(int v) {parser.Cfg().Stop_if_hdr_after_(v); return this;} @@ -491,18 +491,18 @@ class Xop_popup_parser_fxt { public Xop_popup_parser_fxt Init_page(String ttl, String txt) {Xop_fxt.Init_page_create_static(wiki, ttl, txt); return this;} public Xop_popup_parser_fxt Expd_tmpl_loop_count(int expd) {Tfds.Eq(expd, parser.Data().Tmpl_loop_count()); return this;} public Xop_popup_parser_fxt Test_ns_allowed(String raw, int... expd) { - Int_obj_ref[] ids = Xow_popup_mgr.Ns_allowed_parse(wiki, Bry_.new_utf8_(raw)); + Int_obj_ref[] ids = Xow_popup_mgr.Ns_allowed_parse(wiki, Bry_.new_u8(raw)); Tfds.Eq_ary(expd, Int_obj_ref.Ary_xto_int_ary(ids)); return this; } public void Test_parse(String raw, String expd) {Test_parse(raw, "Test_1", expd);} public void Test_parse(String raw, String ttl, String expd) { - Xoae_page page = Xoae_page.create_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_ascii_(ttl))); - page.Data_raw_(Bry_.new_utf8_(raw)); - Xow_popup_itm itm = new Xow_popup_itm(1, Bry_.new_utf8_(raw), Bry_.Empty, word_min); + Xoae_page page = Xoae_page.create_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_a7(ttl))); + page.Data_raw_(Bry_.new_u8(raw)); + Xow_popup_itm itm = new Xow_popup_itm(1, Bry_.new_u8(raw), Bry_.Empty, word_min); itm.Init(wiki.Domain_bry(), page.Ttl()); byte[] actl = parser.Parse(wiki, page, null, itm); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); } public void Test_Assert_at_end(String raw, String expd) { if (test_bfr == null) test_bfr = Bry_bfr.new_(); 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 c307d9bd1..5118d6788 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 @@ -24,9 +24,9 @@ public class Xop_keeplist_wiki { public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = false; // NOTE: default to false, b/c wikis that are not listed in cfg will not call Rules_seal public Xop_keeplist_rule[] Rules() {return rules;} private Xop_keeplist_rule[] rules; private int rules_len; 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_add(Xop_keeplist_rule rule) {rules_list.Add(rule);} private List_adp rules_list = List_adp_.new_(); public void Rules_seal() { - this.rules = (Xop_keeplist_rule[])rules_list.Xto_ary_and_clear(Xop_keeplist_rule.class); + this.rules = (Xop_keeplist_rule[])rules_list.To_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/modules/popups/keeplists/Xop_keeplist_wiki_tst.java b/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki_tst.java index 0aed561cf..4d37e97aa 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/keeplists/Xop_keeplist_wiki_tst.java @@ -45,7 +45,7 @@ class Xop_keeplist_wiki_fxt { Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "enwiki"); Xow_popup_mgr popup_mgr = wiki.Html_mgr().Module_mgr().Popup_mgr(); popup_mgr.Init_by_wiki(wiki); - popup_mgr.Parser().Tmpl_keeplist_init_(Bry_.new_utf8_(raw)); + popup_mgr.Parser().Tmpl_keeplist_init_(Bry_.new_u8(raw)); Xop_keeplist_wiki rv = popup_mgr.Parser().Tmpl_keeplist(); return rv; } @@ -55,7 +55,7 @@ class Xop_keeplist_wiki_fxt { int len = itms.length; for (int i = 0; i < len; i++) { String itm = itms[i]; - Tfds.Eq(expd, keeplist_wiki.Match(Bry_.new_utf8_(itm)), "itm={0} expd={1}", itm, expd); + Tfds.Eq(expd, keeplist_wiki.Match(Bry_.new_u8(itm)), "itm={0} expd={1}", itm, expd); } } } diff --git a/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page__other_resolutions.java b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page__other_resolutions.java new file mode 100644 index 000000000..a3feddacc --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page__other_resolutions.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.ns_files; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.files.*; import gplx.xowa.files.repos.*; +class Xoh_file_page__other_resolutions implements Bry_fmtr_arg { + private Xow_repo_mgr repo_mgr; private Xof_file_itm orig_itm; private Xoh_file_page_wtr file_page; + private final Xof_img_size img_size = new Xof_img_size(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); + public Xoh_file_page__other_resolutions Init_by_fmtr(Xow_repo_mgr repo_mgr, Xof_file_itm orig_itm, Xoh_file_page_wtr file_page) {this.repo_mgr = repo_mgr; this.orig_itm = orig_itm; this.file_page = file_page; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + Int_2_ref[] ary = file_page.Size_alts(); + Xof_file_itm xfer_itm = new Xof_fsdb_itm(); + int len = ary.length; + Xof_repo_itm repo = repo_mgr.Get_trg_by_id_or_null(orig_itm.Orig_repo_id(), orig_itm.Lnki_ttl(), Bry_.Empty); + if (repo == null) return; + for (int i = 0; i < len; ++i) { + Int_2_ref itm = ary[i]; + xfer_itm.Init_at_lnki(Xof_exec_tid.Tid_wiki_page, Bry_.Empty, orig_itm.Lnki_ttl(), Xop_lnki_type.Id_none, Xop_lnki_tkn.Upright_null, itm.Val_0(), itm.Val_1(), Xof_lnki_time.Null, Xof_lnki_page.Null, Xof_patch_upright_tid_.Tid_all); + xfer_itm.Init_at_orig(orig_itm.Orig_repo_id(), orig_itm.Orig_repo_name(), orig_itm.Orig_ttl(), orig_itm.Orig_ext(), orig_itm.Orig_w(), orig_itm.Orig_h(), Bry_.Empty); + xfer_itm.Init_at_html(Xof_exec_tid.Tid_wiki_page, img_size, repo, url_bldr); + byte[] itm_separator = i == len - 1 ? file_page.Html_alt_dlm_last() : file_page.Html_alt_dlm_dflt(); // "|" separator between itms unless last + file_page.Html_alts().Bld_bfr_many(bfr, xfer_itm.Html_w(), xfer_itm.Html_h(), xfer_itm.Html_view_url().To_http_file_bry(), itm_separator, orig_itm.Lnki_ttl()); + } + } +} diff --git a/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page_wtr.java b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page_wtr.java new file mode 100644 index 000000000..3e9f59f93 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_file_page_wtr.java @@ -0,0 +1,111 @@ +/* +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.ns_files; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public class Xoh_file_page_wtr { + public int Main_img_w() {return 800;} + public int Main_img_h() {return 600;} + public Int_2_ref[] Size_alts() {return size_alts;} private Int_2_ref[] size_alts = new Int_2_ref[] {new Int_2_ref(320, 240), new Int_2_ref(640, 480), new Int_2_ref(800, 600), new Int_2_ref(1024, 768), new Int_2_ref(1280, 1024)}; + public byte[] Html_alt_dlm_dflt() {return html_alt_dlm_dflt;} private byte[] html_alt_dlm_dflt = Bry_.new_a7("|"); + public byte[] Html_alt_dlm_last() {return html_alt_dlm_last;} private byte[] html_alt_dlm_last = Bry_.new_a7("."); + public Bry_fmtr Html_main() {return html_main;} private final Bry_fmtr html_main = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "~{commons_notice}" + , "~{media}" + ) + , "media", "commons_notice"); + public Bry_fmtr Html_main_img() {return html_main_img;} private final Bry_fmtr html_main_img = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "
    " + , " " + , " \"~{thumb_ttl}\"" + , " " + , "
    Size of this preview: " + , " " + , " ~{thumb_width} × ~{thumb_height} pixels" + , " " + , " ." +// , " " +// , " Other resolutions:" +// , "~{section_alts}" +// , " " + , "
    " + , "
    " + , "
    " + , " " + , " Full resolution" + , " " + , " ‎" + , " " + , " (~{orig_width} × ~{orig_height} pixels, file size: ~{orig_file_size}, MIME type: ~{orig_mime_type})" + , " " + , "
    " + , "" + ), "orig_width", "orig_height", "orig_href", "orig_file_size", "orig_mime_type", "elem_id", "thumb_width", "thumb_height", "thumb_href", "thumb_ttl", "thumb_name", "section_alts"); + public Bry_fmtr Html_main_aud() {return html_main_aud;} private final Bry_fmtr html_main_aud = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "
    " + , "
    " + , " " + , " \"Play" + , " " + , "
    " + , "
    " + , "" + ), "lnki_url", "lnki_title", "play_width", "play_max_width", "play_icon"); + public Bry_fmtr Html_main_vid() {return html_main_vid;} private final Bry_fmtr html_main_vid = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "
    " + , "
    " + , " " + , " \"~{lnki_alt}\"" + , " " + , "
    " + , "
    " + , " " + , " \"Play" + , " " + , "
    " + , "
    " + , "" + ), "elem_id", "lnki_href", "lnki_class", "lnki_title", "lnki_src", "lnki_width", "lnki_height", "lnki_alt", "lnki_url", "play_width", "play_max_width", "play_icon"); + public Bry_fmtr Html_alts() {return html_alts;} private final Bry_fmtr html_alts = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( " " + , " ~{thumb_width} × ~{thumb_height}" + , " " + , " ~{thumb_dlm} " + , "" + ), "thumb_width", "thumb_height", "thumb_href", "thumb_dlm", "xowa_title"); +} + diff --git a/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr.java b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr.java new file mode 100644 index 000000000..6a67678cb --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr.java @@ -0,0 +1,87 @@ +/* +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.ns_files; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.primitives.*; +import gplx.xowa.html.*; import gplx.xowa.html.lnkis.*; +import gplx.xowa.files.*; import gplx.xowa.files.repos.*; import gplx.xowa.files.xfers.*; import gplx.xowa.files.origs.*; +public class Xoh_ns_file_page_mgr implements Bry_fmtr_arg { + private Xoa_ttl ttl; private Xoh_file_page_wtr html_wtr; private final Xoh_file_page__other_resolutions alt_wtr = new Xoh_file_page__other_resolutions(); + private final Bry_bfr tmp_bfr = Bry_bfr.new_(); + private Xow_repo_mgr repo_mgr; + private Xof_file_itm xfer_itm; private byte[] file_size_bry; private byte[] play_btn_icon; + private final Xof_img_size img_size = new Xof_img_size(); private final Xof_url_bldr url_bldr = Xof_url_bldr.new_v2(); + public void Bld_html(Xowe_wiki cur_wiki, Xop_ctx ctx, Xoae_page page, Bry_bfr bfr, Xoa_ttl ttl, Xoh_file_page_wtr html_wtr, Xof_xfer_queue queue) { + Xowe_wiki wiki = (Xowe_wiki)page.Commons_mgr().Source_wiki_or(cur_wiki); + this.ttl = ttl; this.html_wtr = html_wtr; this.repo_mgr = wiki.File__repo_mgr(); + this.play_btn_icon = wiki.Html_mgr().Img_media_play_btn(); + this.xfer_itm = wiki.Html_mgr().Html_wtr().Lnki_wtr().File_wtr().Lnki_eval(Xof_exec_tid.Tid_wiki_file, ctx, ctx.Cur_page(), queue, ttl.Page_txt() + , Xop_lnki_type.Id_thumb, Xop_lnki_tkn.Upright_null, html_wtr.Main_img_w(), html_wtr.Main_img_h(), Xof_lnki_time.Null, Xof_lnki_page.Null, Bool_.N); + Xof_orig_itm orig = wiki.File_mgr().Orig_mgr().Find_by_ttl_or_null(xfer_itm.Lnki_ttl()); + if (orig == Xof_orig_itm.Null) return; // no orig; + Xof_repo_itm repo = wiki.File__repo_mgr().Get_trg_by_id_or_null(orig.Repo(), xfer_itm.Lnki_ttl(), Bry_.Empty); + if (repo == null) return; + xfer_itm.Init_at_orig(orig.Repo(), repo.Wiki_domain(), orig.Ttl(), orig.Ext(), orig.W(), orig.H(), orig.Redirect()); + xfer_itm.Init_at_html(Xof_exec_tid.Tid_wiki_file, img_size, repo, url_bldr); + this.file_size_bry = Bry_.Empty; + if (xfer_itm.File_exists()) { // file exists + long file_size = Io_mgr.I.QueryFil(xfer_itm.Html_orig_url()).Size(); + if (file_size == -1) file_size = 0; // QueryFil returns -1 if file doesn't exist + this.file_size_bry = Bry_.new_a7(gplx.ios.Io_size_.To_str(file_size)); + } + String commons_notice = page.Commons_mgr().Xowa_mockup() + ? String_.Format(Str_commons_notice, gplx.html.Html_utl.Escape_for_atr_val_as_bry(tmp_bfr, Byte_ascii.Apos, page.Ttl().Full_db_as_str())) + : ""; + html_wtr.Html_main().Bld_bfr_many(bfr, this, commons_notice); + } + + public void Bld_html(Xowe_wiki wiki, Bry_bfr bfr, Xof_file_itm xfer_itm, Xoa_ttl ttl, Xoh_file_page_wtr html_wtr, byte[] file_size_bry, byte[] play_btn_icon) { // TEST: + this.ttl = ttl; this.html_wtr = html_wtr; this.repo_mgr = wiki.File__repo_mgr(); + this.play_btn_icon = play_btn_icon; + this.xfer_itm = xfer_itm; this.file_size_bry = file_size_bry; + html_wtr.Html_main().Bld_bfr_many(bfr, this, ""); + } + public void XferAry(Bry_bfr bfr, int idx) { + alt_wtr.Init_by_fmtr(repo_mgr, xfer_itm, html_wtr); + Xof_ext orig_ext = xfer_itm.Orig_ext(); + if (orig_ext.Id_is_thumbable_img()) + html_wtr.Html_main_img().Bld_bfr_many(bfr, xfer_itm.Orig_w(), xfer_itm.Orig_h(), xfer_itm.Html_orig_url().To_http_file_bry(), file_size_bry, orig_ext.Mime_type(), xfer_itm.Html_uid(), xfer_itm.Html_w(), xfer_itm.Html_h(), xfer_itm.Html_view_url().To_http_file_bry(), ttl.Full_txt(), Xoa_app_.Utl__encoder_mgr().Http_url().Encode(ttl.Page_url()), alt_wtr); + else if (orig_ext.Id_is_video()) // NOTE: video must precede audio else File:***.ogg will not show thumbs + html_wtr.Html_main_vid().Bld_bfr_many(bfr, xfer_itm.Html_uid(), xfer_itm.Html_view_url().To_http_file_bry(), Atr_class_image, ttl.Page_db(), xfer_itm.Html_view_url().To_http_file_bry(), xfer_itm.Html_w(), xfer_itm.Html_h(), Bry_.Empty, xfer_itm.Html_orig_url().To_http_file_bry(), xfer_itm.Html_w(), xfer_itm.Html_w(), play_btn_icon); + else if (orig_ext.Id_is_audio()) + html_wtr.Html_main_aud().Bld_bfr_many(bfr, xfer_itm.Html_orig_url().To_http_file_bry(), ttl.Page_db(), xfer_itm.Html_w(), xfer_itm.Html_w(), play_btn_icon); + } + private static final byte[] Atr_class_image = Bry_.new_a7("image"); + private static final String Str_commons_notice = String_.Concat_lines_nl_skip_last + ( "" + , " " + , " " + , " " + , " " + , "
    " + , " " + , "" + , "

    This offline page is a reduced version of the online one: https://commons.wikimedia.org/wiki/{0}.

    " + , "

    If you want XOWA to show an offline page just like the online version, you should download commons.wikimedia.org at Import online.

    " + , "
      " + , "
    • This wiki will use at least another 20 GB of disk space.
    • " + , "
    • This wiki only provides wikitext. No extra images are downloaded. Note that the total size of images for commons.wikimedia.org would be too large (approximately 22 TB).
    • " + , "
    " + , "
    " + , "
    " + ); +} diff --git a/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr_tst.java b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr_tst.java new file mode 100644 index 000000000..726be6a71 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/ns_files/Xoh_ns_file_page_mgr_tst.java @@ -0,0 +1,139 @@ +/* +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.ns_files; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import org.junit.*; import gplx.xowa.files.*; +public class Xoh_ns_file_page_mgr_tst { + private final Xoh_ns_file_page_mgr_fxt fxt = new Xoh_ns_file_page_mgr_fxt(); + @Before public void init() {fxt.Reset();} + @Test public void Image() { + fxt.Ttl_str_("Test.png").Html_src_("mem/file/cur.png").Html_orig_src_("mem/file/orig.png").Html_w_(300).Html_h_(200).Html_file_size_(100) + .tst(String_.Concat_lines_nl_skip_last + ( Xoh_ns_file_page_mgr_fxt.Hdr + , "
    " + , " " + , " \"Test.png\"" + , " " + , "
    Size of this preview: " + , " " + , " 300 × 200 pixels" + , " " + , " ." +// , " " +// , " Other resolutions:" +// , "" +// , " " + , "
    " + , "
    " + , "
    " + , " " + , " Full resolution" + , " " + , " ‎" + , " " + , " (0 × 0 pixels, file size: 100, MIME type: image/png)" + , " " + , "
    " + , "" + )); + } + @Test public void Audio() { + fxt.Ttl_str_("Test.oga").Html_src_("mem/file/cur.oga").Html_orig_src_("mem/file/orig.oga").Html_w_(300).Html_h_(200).Html_file_size_(100) + .tst(String_.Concat_lines_nl_skip_last + ( Xoh_ns_file_page_mgr_fxt.Hdr + , "
    " + , "
    " + , " " + , " \"Play" + , " " + , "
    " + , "
    " + , "" + )); + } + @Test public void Video() { + fxt.Ttl_str_("Test.ogv").Html_src_("mem/file/thumb.png").Html_orig_src_("mem/file/orig.ogv").Html_w_(300).Html_h_(200).Html_file_size_(100) + .tst(String_.Concat_lines_nl_skip_last + ( Xoh_ns_file_page_mgr_fxt.Hdr + , "
    " + , "
    " + , " " + , " \"\"" + , " " + , "
    " + , "
    " + , " " + , " \"Play" + , " " + , "
    " + , "
    " + , "" + )); + } +} +class Xoh_ns_file_page_mgr_fxt { + private final Xoh_ns_file_page_mgr wkr = new Xoh_ns_file_page_mgr(); + private Xoae_app app; private Xowe_wiki wiki; private Xoh_file_page_wtr opt; + private final Xof_file_itm file = new Xof_fsdb_itm(); private final Bry_bfr bfr = Bry_bfr.new_(); + public Xoh_ns_file_page_mgr_fxt Ttl_str_(String v) {this.ttl_str = v; return this;} private String ttl_str; + public Xoh_ns_file_page_mgr_fxt Html_src_(String v) {this.html_src = v; return this;} private String html_src; + public Xoh_ns_file_page_mgr_fxt Html_orig_src_(String v) {this.html_orig_src = v; return this;} private String html_orig_src; + public Xoh_ns_file_page_mgr_fxt Html_w_(int v) {this.html_w = v; return this;} private int html_w; + public Xoh_ns_file_page_mgr_fxt Html_h_(int v) {this.html_h = v; return this;} private int html_h; + public Xoh_ns_file_page_mgr_fxt Html_file_size_(int v) {this.html_file_size = v; return this;} private int html_file_size; + public void Reset() { + if (app != null) return; + app = Xoa_app_fxt.app_(); + wiki = Xoa_app_fxt.wiki_tst_(app); + opt = new Xoh_file_page_wtr(); + } + public void tst(String expd) { + byte[] ttl_bry = Bry_.new_u8(ttl_str); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); + file.Init_at_gallery_end(html_w, html_h, Io_url_.mem_fil_(html_src), Io_url_.mem_fil_(html_orig_src)); +// file.Orig_ttl_and_redirect_(ttl_bry, Bry_.Empty); + file.Init_at_orig(Byte_.Zero, wiki.Domain_bry(), ttl_bry, Xof_ext_.new_by_ttl_(ttl_bry), 0, 0, Bry_.Empty); + file.Init_at_hdoc(0, Xof_html_elem.Tid_img); + wkr.Bld_html(wiki, bfr, file, ttl, opt, Bry_.XtoStrBytesByInt(html_file_size, 0), play_btn_icon); // TEST: must pass in elem_val b/c test only uses 2nd Bld_html while app uses 1st + Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); + } static final byte[] play_btn_icon = Bry_.new_a7("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/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java b/400_xowa/src/gplx/xowa/html/portal/Xoa_available_wikis_mgr.java index 0f1bc50e2..b9ad7b272 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 @@ -24,12 +24,12 @@ public class Xoa_available_wikis_mgr implements GfoInvkAble { if (itms_as_html == null) { String itm_cls = app.Api_root().Html().Modules().Popups().Enabled() ? " class='xowa-hover-off'" : ""; Bry_bfr tmp_bfr = Bry_bfr.new_(); // NOTE: do not use app.Utl__bfr_mkr().Get_k004() as it is being used simultaneously by another caller; TODO: find call - Xow_xwiki_mgr xwiki_mgr = app.User().Wiki().Xwiki_mgr(); + Xow_xwiki_mgr xwiki_mgr = app.Usere().Wiki().Xwiki_mgr(); xwiki_mgr.Sort_by_key(); int len = xwiki_mgr.Len(); for (int i = 0; i < len; i++) { Xow_xwiki_itm itm = xwiki_mgr.Get_at(i); - if (itm.Domain_tid() == Xow_domain_.Tid_int_home) continue;// don't show home wiki + if (itm.Domain_tid() == Xow_domain_type_.Tid_home) continue;// don't show home wiki 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_bry(), itm_cls); } 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 98c765d1e..2761f3258 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 @@ -35,7 +35,7 @@ public class Xoh_page_body_cls { // REF.MW:Skin.php|getPageClasses tmp_bfr.Add_byte_space().Add(Bry_wb_propertypage).Add_byte(Byte_ascii.Dash).Add(ttl.Page_db()); break; default: - Gfo_usr_dlg_.I.Warn_many("", "", "unexpected ns for page_body_cls; ttl=~{0}", String_.new_utf8_(ttl.Raw())); + Gfo_usr_dlg_.I.Warn_many("", "", "unexpected ns for page_body_cls; ttl=~{0}", String_.new_u8(ttl.Raw())); break; } } @@ -118,14 +118,14 @@ public class Xoh_page_body_cls { // REF.MW:Skin.php|getPageClasses return trg_bfr == null ? src : trg_bfr.Xto_bry_and_clear(); } private static final byte[] - Bry_id_prefix = Bry_.new_ascii_("ns-") - , Bry_type_special = Bry_.new_ascii_("ns-special") - , Bry_type_talk = Bry_.new_ascii_("ns-talk") - , Bry_type_subject = Bry_.new_ascii_("ns-subject") - , Bry_page_prefix = Bry_.new_ascii_("page-") - , Bry_wb_entitypage = Bry_.new_ascii_("wb-entitypage") - , Bry_wb_itempage = Bry_.new_ascii_("wb-itempage") - , Bry_wb_propertypage = Bry_.new_ascii_("wb-propertypage") + Bry_id_prefix = Bry_.new_a7("ns-") + , Bry_type_special = Bry_.new_a7("ns-special") + , Bry_type_talk = Bry_.new_a7("ns-talk") + , Bry_type_subject = Bry_.new_a7("ns-subject") + , Bry_page_prefix = Bry_.new_a7("page-") + , Bry_wb_entitypage = Bry_.new_a7("wb-entitypage") + , Bry_wb_itempage = Bry_.new_a7("wb-itempage") + , Bry_wb_propertypage = Bry_.new_a7("wb-propertypage") ; public static int Page_tid_wikitext = 0, Page_tid_wikidata_qid = 1, Page_tid_wikidata_pid = 2; } diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls_tst.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls_tst.java index e9c317604..33692659b 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls_tst.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_page_body_cls_tst.java @@ -39,7 +39,7 @@ public class Xoh_page_body_cls_tst { class Xoh_page_body_cls_fxt { private Bry_bfr tmp_bfr; private Xoae_app app; private Xowe_wiki wiki; public void Test_escape_cls(String raw, String expd) { - Tfds.Eq(expd, String_.new_utf8_(Xoh_page_body_cls.Escape_cls(Bry_.new_utf8_(raw)))); + Tfds.Eq(expd, String_.new_u8(Xoh_page_body_cls.Escape_cls(Bry_.new_u8(raw)))); } public void Test_calc(byte page_tid, String ttl_str, String expd) { if (app == null) { @@ -48,7 +48,7 @@ class Xoh_page_body_cls_fxt { tmp_bfr = Bry_bfr.reset_(255); wiki.Ns_mgr().Add_new(Wdata_wiki_mgr.Ns_property, Wdata_wiki_mgr.Ns_property_name); } - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(ttl_str)); - Tfds.Eq(expd, String_.new_utf8_(Xoh_page_body_cls.Calc(tmp_bfr, ttl, page_tid))); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_u8(ttl_str)); + Tfds.Eq(expd, String_.new_u8(Xoh_page_body_cls.Calc(tmp_bfr, ttl, page_tid))); } } 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 0b72c48ae..7002f1bbf 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 @@ -65,9 +65,9 @@ public class Xoh_rtl_utl { bfr.Add_mid(src, li_n_end, ul_end); // add from nth "" -> "" } private static final byte[] - Ul_bgn = Bry_.new_utf8_("") - , Li_bgn = Bry_.new_utf8_("") + Ul_bgn = Bry_.new_u8("") + , Li_bgn = Bry_.new_u8("") ; } diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl_tst.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl_tst.java index bf0be20e7..1c65d4ceb 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl_tst.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_rtl_utl_tst.java @@ -58,7 +58,7 @@ class Xoh_rtl_utl_fxt { public void Init() { } public void Test_reverse_li(String raw, String expd) { - byte[] actl = Xoh_rtl_utl.Reverse_li(Bry_.new_utf8_(raw)); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + byte[] actl = Xoh_rtl_utl.Reverse_li(Bry_.new_u8(raw)); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); } } 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 4c9281643..2c870f2e6 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 @@ -52,7 +52,7 @@ public class Xoh_subpages_bldr implements Bry_fmtr_arg { } ttl_bfr.Clear(); } - private static final byte[] Dlm_1st = Bry_.new_ascii_("< "), Dlm_nth = Bry_.new_ascii_("‎ | "); + private static final byte[] Dlm_1st = Bry_.new_a7("< "), Dlm_nth = Bry_.new_a7("‎ | "); private static final Bry_fmtr fmtr_grp = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "~{itms}" diff --git a/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr_tst.java b/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr_tst.java index 69f6658fb..db1c8ecb3 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr_tst.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xoh_subpages_bldr_tst.java @@ -44,7 +44,7 @@ class Xoh_subpages_bldr_fxt { this.subpages_bldr = new Xoh_subpages_bldr(app); } public void Test_bld(String ttl_str, String expd) { - byte[] actl = subpages_bldr.Bld(wiki.Ns_mgr(), Xoa_ttl.parse_(wiki, Bry_.new_utf8_(ttl_str))); - Tfds.Eq_str_lines(expd, String_.new_utf8_(actl)); + byte[] actl = subpages_bldr.Bld(wiki.Ns_mgr(), Xoa_ttl.parse_(wiki, Bry_.new_u8(ttl_str))); + Tfds.Eq_str_lines(expd, String_.new_u8(actl)); } } 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 fa0fdc642..ae36bc8c6 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 @@ -23,7 +23,7 @@ public class Xow_portal_mgr implements GfoInvkAble { public Xow_portal_mgr(Xowe_wiki wiki) { this.wiki = wiki; this.sidebar_mgr = new Xowh_sidebar_mgr(wiki); - this.missing_ns_cls = Bry_.Eq(wiki.Domain_bry(), Xow_domain_.Tid_bry_home) ? Missing_ns_cls_hide : null; // if home wiki, set missing_ns to application default; if any other wiki, set to null; will be overriden during init + this.missing_ns_cls = Bry_.Eq(wiki.Domain_bry(), Xow_domain_type_.Key_bry_home) ? Missing_ns_cls_hide : null; // if home wiki, set missing_ns to application default; if any other wiki, set to null; will be overriden during init } public void Init_by_lang(Xol_lang lang) { lang_is_rtl = !lang.Dir_ltr(); @@ -36,7 +36,7 @@ public class Xow_portal_mgr implements GfoInvkAble { public void Init() { 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.Appe().User().Wiki().Html_mgr().Portal_mgr().Missing_ns_cls()); + Missing_ns_cls_(wiki.Appe().Usere().Wiki().Html_mgr().Portal_mgr().Missing_ns_cls()); Xoapi_skins skins = wiki.Appe().Api_root().Html().Skins(); api_skin = wiki.App().App_type().Uid_is_gui() ? skins.Desktop() : skins.Server(); Bry_fmtr_eval_mgr eval_mgr = wiki.Eval_mgr(); @@ -46,7 +46,7 @@ public class Xow_portal_mgr implements GfoInvkAble { 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).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, Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(wiki.Appe().User().Fsys_mgr().Wiki_root_dir().GenSubFil_nest(wiki.Domain_str(), "html", "logo.png"))); + div_logo_bry = Init_fmtr(tmp_bfr, eval_mgr, div_logo_fmtr, main_page_href_bry, Xoa_app_.Utl__encoder_mgr().Fsys().Encode_http(wiki.Appe().Usere().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); Xow_msg_mgr msg_mgr = wiki.Msg_mgr(); @@ -96,12 +96,12 @@ public class Xow_portal_mgr implements GfoInvkAble { } div_view_fmtr.Bld_bfr_many(tmp_bfr, read_cls, edit_cls, html_cls, search_text); return tmp_bfr.To_bry_and_rls(); - } 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 static final byte[] Cls_selected_y = Bry_.new_a7("selected"), Cls_new = Bry_.new_a7("new"), Cls_display_none = Bry_.new_a7("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; public byte[] Div_wikis_bry(Bry_bfr_mkr bfr_mkr) { if (toggle_itm == null) // TEST:lazy-new b/c Init_by_wiki - toggle_itm = wiki.Appe().Api_root().Html().Page().Toggle_mgr().Get_or_new("offline-wikis").Init(wiki.Appe().User().Wiki(), Bry_.new_ascii_("Wikis")); + toggle_itm = wiki.Appe().Api_root().Html().Page().Toggle_mgr().Get_or_new("offline-wikis").Init(wiki.Appe().Usere().Wiki(), Bry_.new_a7("Wikis")); 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.To_bry_and_rls(); @@ -122,7 +122,7 @@ public class Xow_portal_mgr implements GfoInvkAble { else if (ctx.Match(k, Invk_div_logo_)) div_logo_fmtr.Fmt_(m.ReadBry("v")); else if (ctx.Match(k, Invk_div_home_)) div_home_fmtr.Fmt_(m.ReadBry("v")); else if (ctx.Match(k, Invk_div_wikis_)) div_wikis_fmtr.Fmt_(m.ReadBry("v")); - else if (ctx.Match(k, Invk_missing_ns_cls)) return String_.new_utf8_(missing_ns_cls); + else if (ctx.Match(k, Invk_missing_ns_cls)) return String_.new_u8(missing_ns_cls); else if (ctx.Match(k, Invk_missing_ns_cls_)) missing_ns_cls = m.ReadBry("v"); else if (ctx.Match(k, Invk_missing_ns_cls_list)) return Options_missing_ns_cls_list; else return GfoInvkAble_.Rv_unhandled; @@ -133,7 +133,7 @@ public class Xow_portal_mgr implements GfoInvkAble { ; public static final String Invk_div_logo_ = "div_logo_"; private static KeyVal[] Options_missing_ns_cls_list = KeyVal_.Ary(KeyVal_.new_("", "Show as blue link"), KeyVal_.new_("new", "Show as red link"), KeyVal_.new_("xowa_display_none", "Hide")); - private static final byte[] Missing_ns_cls_hide = Bry_.new_ascii_("xowa_display_none"); + private static final byte[] Missing_ns_cls_hide = Bry_.new_a7("xowa_display_none"); private static final Bry_fmtr Div_jump_to_fmtr = Bry_fmtr.new_ ( "\n
    ~{jumpto}~{jumptonavigation}~{comma-separator}~{jumptosearch}
    " , "jumpto", "jumptonavigation", "comma-separator", "jumptosearch"); diff --git a/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr_tst.java b/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr_tst.java index 1d3773713..391d4bb9f 100644 --- a/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/portal/Xow_portal_mgr_tst.java @@ -40,12 +40,12 @@ class Xowh_portal_mgr_fxt { } } private Xoae_app app; Xowe_wiki wiki; public void Test_div_ns_bry(String ttl, String expd) { - Tfds.Eq(expd, String_.new_ascii_(wiki.Html_mgr().Portal_mgr().Div_ns_bry(wiki.Utl__bfr_mkr(), Xoa_ttl.parse_(wiki, Bry_.new_ascii_(ttl)), wiki.Ns_mgr()))); + Tfds.Eq(expd, String_.new_a7(wiki.Html_mgr().Portal_mgr().Div_ns_bry(wiki.Utl__bfr_mkr(), Xoa_ttl.parse_(wiki, Bry_.new_a7(ttl)), wiki.Ns_mgr()))); } public void Test_div_personal_bry(String expd) { - Tfds.Eq(expd, String_.new_ascii_(wiki.Html_mgr().Portal_mgr().Div_personal_bry())); + Tfds.Eq(expd, String_.new_a7(wiki.Html_mgr().Portal_mgr().Div_personal_bry())); } public void Test_missing_ns_cls(String expd) { - Tfds.Eq(expd, String_.new_ascii_(wiki.Html_mgr().Portal_mgr().Missing_ns_cls())); + Tfds.Eq(expd, String_.new_a7(wiki.Html_mgr().Portal_mgr().Missing_ns_cls())); } } diff --git a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_itm.java b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_itm.java index 255e0567b..44e10fe1f 100644 --- a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_itm.java +++ b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_itm.java @@ -25,8 +25,8 @@ public class Xowh_sidebar_itm { public byte[] Accesskey() {return accesskey;} public Xowh_sidebar_itm Accesskey_(byte[] v) {accesskey = v; return this;} private byte[] accesskey; public byte[] Atr_accesskey_and_title() {return atr_accesskey_and_title;} public Xowh_sidebar_itm Atr_accesskey_and_title_(byte[] v) {atr_accesskey_and_title = v; return this;} private byte[] atr_accesskey_and_title = Bry_.Empty; public byte[] Text() {return text;} public Xowh_sidebar_itm Text_(byte[] v) {text = v; return this;} private byte[] text; - public int Itms_len() {return itms.Count();} ListAdp itms = ListAdp_.new_(); - public Xowh_sidebar_itm Itms_get_at(int i) {return (Xowh_sidebar_itm)itms.FetchAt(i);} + public int Itms_len() {return itms.Count();} List_adp itms = List_adp_.new_(); + public Xowh_sidebar_itm Itms_get_at(int i) {return (Xowh_sidebar_itm)itms.Get_at(i);} public Xowh_sidebar_itm Itms_add(Xowh_sidebar_itm... ary) { int ary_len = ary.length; for (int i = 0; i < ary_len; i++) 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 bf01f2ac9..a10a9f0de 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 @@ -19,8 +19,8 @@ package gplx.xowa.html.sidebar; import gplx.*; import gplx.xowa.*; import gplx.x import gplx.core.btries.*; import gplx.xowa.langs.msgs.*; public class Xowh_sidebar_mgr implements GfoInvkAble { public Xowh_sidebar_mgr(Xowe_wiki wiki) {this.wiki = wiki;} private Xowe_wiki wiki; - public int Grps_len() {return grps.Count();} ListAdp grps = ListAdp_.new_(); - public Xowh_sidebar_itm Grps_get_at(int i) {return (Xowh_sidebar_itm)grps.FetchAt(i);} + public int Grps_len() {return grps.Count();} List_adp grps = List_adp_.new_(); + public Xowh_sidebar_itm Grps_get_at(int i) {return (Xowh_sidebar_itm)grps.Get_at(i);} public byte[] Html_bry() {return html_bry;} private byte[] html_bry; public void Init() { try { @@ -28,7 +28,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { Xol_msg_itm sidebar_msg = Xol_msg_mgr_.Get_msg_itm(bfr, wiki, wiki.Lang(), CONST_sidebar_ttl); if ( sidebar_msg.Src() == Xol_msg_itm.Src_missing || ( sidebar_msg.Src() == Xol_msg_itm.Src_lang - && wiki.Domain_tid() == gplx.xowa.wikis.Xow_domain_.Tid_int_home + && wiki.Domain_tid() == gplx.xowa.wikis.Xow_domain_type_.Tid_home )) { html_bry = Bry_.Empty; bfr.Mkr_rls(); @@ -49,7 +49,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { ( Bry_.Eq(wiki, Ignore_wiki_ess) // occurs in 2014-02-03 dump; ignored by MW && Bry_.Eq(item, Ignore_item_ess_random) ); - } private static byte[] Ignore_wiki_ess = Bry_.new_ascii_("es.wikisource.org"), Ignore_item_ess_random = Bry_.new_utf8_("special:Random/Página djvu"); + } private static byte[] Ignore_wiki_ess = Bry_.new_a7("es.wikisource.org"), Ignore_item_ess_random = Bry_.new_u8("special:Random/Página djvu"); public void Parse(Bry_bfr bfr, Bry_bfr comment_bfr, byte[] src) { byte[][] lines = Bry_.Split(src, Byte_ascii.NewLine); int lines_len = lines.length; @@ -77,7 +77,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { else { if (pipe_pos == Bry_.NotFound) { // not of format of "href|main"; (EX: "href_only") if (!Ignore(wiki.Domain_bry(), bry)) // suppress warning if ignored; DATE:2014-02-11 - wiki.Appe().Usr_dlg().Warn_many(GRP_KEY, "parse.line.missing_text", "sidebar item is missing pipe; only href is available; item will be hidden: item=~{0}", String_.new_utf8_(bry)); + wiki.Appe().Usr_dlg().Warn_many(GRP_KEY, "parse.line.missing_text", "sidebar item is missing pipe; only href is available; item will be hidden: item=~{0}", String_.new_u8(bry)); continue; } byte[] href_key = Bry_.Mid(bry, 0, pipe_pos); @@ -94,7 +94,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { public void Bld_html(Bry_bfr bfr) { int len = grps.Count(); for (int i = 0; i < len; i++) { - Xowh_sidebar_itm grp = (Xowh_sidebar_itm)grps.FetchAt(i); + Xowh_sidebar_itm grp = (Xowh_sidebar_itm)grps.Get_at(i); html_grp_fmtr_arg.Grp_(wiki, grp, html_itm_fmtr); html_grp_fmtr.Bld_bfr_many(bfr, grp.Id(), grp.Text(), html_grp_fmtr_arg); } @@ -123,7 +123,7 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { else return GfoInvkAble_.Rv_unhandled; return this; } private static final String Invk_html_grp_fmt_ = "html_grp_fmt_", Invk_html_itm_fmt_ = "html_itm_fmt_"; - private static final byte[] CONST_id_prefix = Bry_.new_ascii_("n-"); + private static final byte[] CONST_id_prefix = Bry_.new_a7("n-"); private static final byte Ignore_tid_search = 1, Ignore_tid_toolbox = 2, Ignore_tid_toolbox_end = 3, Ignore_tid_languages = 4; private static final Btrie_slim_mgr ignore_trie = Btrie_slim_mgr.ci_ascii_() .Add_str_byte("SEARCH", Ignore_tid_search) @@ -132,5 +132,5 @@ public class Xowh_sidebar_mgr implements GfoInvkAble { .Add_str_byte("LANGUAGES", Ignore_tid_languages) ; private static final String GRP_KEY = "xowa.wiki.gui.skin.mgr"; - private static final byte[] CONST_sidebar_ttl = Bry_.new_ascii_("Sidebar"); + private static final byte[] CONST_sidebar_ttl = Bry_.new_a7("Sidebar"); } 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 70242ebfb..2cd431c37 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 @@ -196,8 +196,8 @@ class Xowh_sidebar_mgr_fxt { return this; } public Xowe_wiki Wiki() {return wiki;} - public Xowh_sidebar_itm nav_grp_(String text, String title, Xowh_sidebar_itm... itms) {return new Xowh_sidebar_itm(Xowh_sidebar_itm.Tid_grp).Text_(Bry_.new_ascii_(text)).Title_(Bry_.new_ascii_(title));} - public Xowh_sidebar_itm nav_itm_(String text, String title, String accesskey, String href) {return new Xowh_sidebar_itm(Xowh_sidebar_itm.Tid_itm).Text_(Bry_.new_ascii_(text)).Title_(Bry_.new_ascii_(title)).Accesskey_(Bry_.new_ascii_(accesskey)).Href_(Bry_.new_ascii_(href));} + public Xowh_sidebar_itm nav_grp_(String text, String title, Xowh_sidebar_itm... itms) {return new Xowh_sidebar_itm(Xowh_sidebar_itm.Tid_grp).Text_(Bry_.new_a7(text)).Title_(Bry_.new_a7(title));} + public Xowh_sidebar_itm nav_itm_(String text, String title, String accesskey, String href) {return new Xowh_sidebar_itm(Xowh_sidebar_itm.Tid_itm).Text_(Bry_.new_a7(text)).Title_(Bry_.new_a7(title)).Accesskey_(Bry_.new_a7(accesskey)).Href_(Bry_.new_a7(href));} public Xowh_sidebar_mgr_fxt Init_popups_enabled_(boolean v) {app.Api_root().Html().Modules().Popups().Enabled_(v); return this;} public Xowh_sidebar_mgr_fxt Init_msg_grp(String key, String text, String title) { Init_msg(key, text); @@ -213,12 +213,12 @@ class Xowh_sidebar_mgr_fxt { } public Xowh_sidebar_mgr_fxt Init_msg(String key, String val) { Xol_msg_mgr msg_mgr = wiki.Lang().Msg_mgr(); - Xol_msg_itm msg_itm = msg_mgr.Itm_by_key_or_new(Bry_.new_ascii_(key)); - msg_itm.Atrs_set(Bry_.new_ascii_(val), false, String_.Has(val, "{{")); + Xol_msg_itm msg_itm = msg_mgr.Itm_by_key_or_new(Bry_.new_a7(key)); + msg_itm.Atrs_set(Bry_.new_a7(val), false, String_.Has(val, "{{")); return this; } public void Test_parse(String raw, Xowh_sidebar_itm... expd) { - sidebar_mgr.Parse(bfr, comment_bfr, Bry_.new_ascii_(raw)); + sidebar_mgr.Parse(bfr, comment_bfr, Bry_.new_a7(raw)); Tfds.Eq_str_lines(Xto_str(expd), Xto_str_grps(sidebar_mgr)); } public void Test_html(String expd) { 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 index 6f40a039a..547a0a026 100644 --- a/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_itm.java +++ b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_itm.java @@ -22,7 +22,7 @@ public class Xoh_skin_itm implements GfoInvkAble { 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()); + if (ctx.Match(k, Invk_fmt)) return String_.new_u8(fmtr.Fmt()); else if (ctx.Match(k, Invk_fmt_)) fmtr.Fmt_(m.ReadStr("v")); else return GfoInvkAble_.Rv_unhandled; return this; 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 index 90db2b670..d2aea13d0 100644 --- a/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_regy.java +++ b/400_xowa/src/gplx/xowa/html/skins/Xoh_skin_regy.java @@ -17,10 +17,10 @@ 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_(); + private final Ordered_hash hash = Ordered_hash_.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 Xoh_skin_itm Get_at(int i) {return (Xoh_skin_itm)hash.Get_at(i);} + public Xoh_skin_itm Get_by_key(String key) {return (Xoh_skin_itm)hash.Get_by(key);} public void Set(String key, String fmt) { Xoh_skin_itm itm = Get_by_key(key); if (itm == null) { diff --git a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr.java b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr.java index b61f2685f..6083f5c82 100644 --- a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr.java +++ b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_mgr.java @@ -70,7 +70,7 @@ public class Xoh_tidy_mgr implements GfoInvkAble { return true; } private static final byte[] // MW:includes/parser/Tidy.php|getWrapped - Wrap_bgn = Bry_.new_ascii_ + Wrap_bgn = Bry_.new_a7 ( "" + "" + "" @@ -78,7 +78,7 @@ public class Xoh_tidy_mgr implements GfoInvkAble { + "" + "" ) - , Wrap_end = Bry_.new_ascii_ + , Wrap_end = Bry_.new_a7 ( "" + "" ); diff --git a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy_tst.java b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy_tst.java index a55cd1dba..95f1d8078 100644 --- a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy_tst.java +++ b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_jtidy_tst.java @@ -23,7 +23,8 @@ import org.junit.*; public class Xoh_tidy_wkr_jtidy_tst { @Before public void init() {fxt.Clear();} private Jtidy_fxt fxt = new Jtidy_fxt(); @Test public void Image_full() { - fxt.Test_tidy("𐎍𐎁_𐎜", "𐎍𐎁_𐎜\r\n"); + String nl = Op_sys.Cur().Tid_is_wnt() ? "\r\n" : "\n"; // NOTE: JTidy uses different line-endings based on OS; DATE:2015-05-11 + fxt.Test_tidy("𐎍𐎁_𐎜", "𐎍𐎁_𐎜" + nl); } } class Jtidy_fxt { diff --git a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_tidy.java b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_tidy.java index 16997a4ee..dab9d73ad 100644 --- a/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_tidy.java +++ b/400_xowa/src/gplx/xowa/html/tidy/Xoh_tidy_wkr_tidy.java @@ -29,11 +29,11 @@ public class Xoh_tidy_wkr_tidy extends ProcessAdp implements Xoh_tidy_wkr { pri public void Exec_tidy(Xoae_page page, Bry_bfr bfr) { int bfr_len = bfr.Len(); long bgn = Env_.TickCount(); - Io_mgr._.SaveFilBfr(tidy_source, bfr); // saves bfr to source; clears bfr + Io_mgr.I.SaveFilBfr(tidy_source, bfr); // saves bfr to source; clears bfr this.Run(tidy_source.Raw(), tidy_target.Raw()); // converts source to target - Io_mgr._.LoadFilBryByBfr(tidy_target, bfr); // loads bfr by target + Io_mgr.I.LoadFilBryByBfr(tidy_target, bfr); // loads bfr by target if (bfr.Len_eq_0()) // something went wrong; load from source - Io_mgr._.LoadFilBryByBfr(tidy_source, bfr); // loads bfr by target + Io_mgr.I.LoadFilBryByBfr(tidy_source, bfr); // loads bfr by target app.Usr_dlg().Log_many("", "", "tidy exec; elapsed=~{0} len=~{1}", Env_.TickCount_elapsed_in_frac(bgn), bfr_len); } public static final String Args_fmt = String_.Concat // see https://meta.wikimedia.org/wiki/Data_dumps; missing numeric-entities:yes; enclose-text: yes 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 b8a661424..a4bf6985c 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 @@ -20,7 +20,7 @@ import gplx.core.primitives.*; import gplx.xowa.urls.encoders.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.hdrs.*; public class Xow_hdr_mgr { private final Url_encoder_mgr encoder_mgr; private final Xoae_page page; - private final HashAdp hdrs_hash = HashAdp_.new_(); private final Bry_bfr hdrs_bfr = Bry_bfr.reset_(255); private final Bry_obj_ref hdrs_ref = Bry_obj_ref.null_(); + private final Hash_adp hdrs_hash = Hash_adp_.new_(); private final Bry_bfr hdrs_bfr = Bry_bfr.reset_(255); private final Bry_obj_ref hdrs_ref = Bry_obj_ref.null_(); private Xop_hdr_tkn[] hdrs_ary = new Xop_hdr_tkn[0]; private int hdrs_max, hdrs_len; public Xow_hdr_mgr(Xoae_page page, Url_encoder_mgr encoder_mgr) {this.page = page; this.encoder_mgr = encoder_mgr;} public boolean Toc_enabled() { @@ -65,7 +65,7 @@ public class Xow_hdr_mgr { Url_encoder encoder = encoder_mgr.Id(); encoder.Encode(enc_bfr, raw_bfr.Bfr(), 0, raw_bfr.Len()); byte[] hdrs_id = enc_bfr.Xto_bry(); - Object o = hdrs_hash.Fetch(hdrs_ref.Val_(hdrs_id)); + Object o = hdrs_hash.Get_by(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()); 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 df331022c..059e2f601 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 @@ -194,9 +194,9 @@ public class Xow_toc_mgr implements Bry_fmtr_arg { bfmtr_main.Bld_bfr_many(bfr, Bry_fmtr_arg_.bry_(bry_contents), this); } private static final byte[] - Bry_list_bgn = Bry_.new_utf8_("
      \n") - , Bry_list_end = Bry_.new_utf8_("
    \n") - , Bry_item_end = Bry_.new_utf8_(" \n") + Bry_list_bgn = Bry_.new_u8("
      \n") + , Bry_list_end = Bry_.new_u8("
    \n") + , Bry_item_end = Bry_.new_u8(" \n") ; private Bry_fmtr bfmtr_main = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last 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 5a603212a..2087bffe8 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 @@ -512,7 +512,7 @@ class Xow_toc_mgr_fxt { } public void Test_html_toc(String raw, String expd) { toc_mgr.Clear(); - byte[] raw_bry = Bry_.new_utf8_(raw); + byte[] raw_bry = Bry_.new_u8(raw); 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(), Xoh_wtr_ctx.Basic, raw_bry, tmp); 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 f72a9f6b5..bed7eae45 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 @@ -26,7 +26,7 @@ public class Xoh_js_cleaner { if (cleaned != null) { bfr.Del_by(end - bgn); bfr.Add(cleaned); - app.Usr_dlg().Warn_many("", "", "javascript detected: wiki=~{0} ~{1}", wiki.Domain_str(), String_.new_utf8_(ttl.Full_txt())); + app.Usr_dlg().Warn_many("", "", "javascript detected: wiki=~{0} ~{1}", wiki.Domain_str(), String_.new_u8(ttl.Full_txt())); } } public byte[] Clean(Xowe_wiki wiki, byte[] src, int bgn, int end) { @@ -199,5 +199,5 @@ public class Xoh_js_cleaner { Reg_itm("seekSegmentTime"); ctor = false; } - private void Reg_itm(String s) {trie.Add_bry(Bry_.new_ascii_(s));} Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_(); // NOTE:ci.ascii:javascript event name + private void Reg_itm(String s) {trie.Add_bry(Bry_.new_a7(s));} Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_(); // NOTE:ci.ascii:javascript event name } diff --git a/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner_tst.java b/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner_tst.java index 6011b2820..006429dce 100644 --- a/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner_tst.java +++ b/400_xowa/src/gplx/xowa/html/utils/Xoh_js_cleaner_tst.java @@ -34,9 +34,9 @@ class Xoh_js_cleaner_fxt { } } private Xoae_app app; Xowe_wiki wiki; Xoh_js_cleaner mgr; public void Test_clean(String raw_str, String expd) { - byte[] raw = Bry_.new_ascii_(raw_str); + byte[] raw = Bry_.new_a7(raw_str); byte[] actl = mgr.Clean(wiki, raw, 0, raw.length); if (actl == null) actl = raw; - Tfds.Eq(expd, String_.new_ascii_(actl)); + Tfds.Eq(expd, String_.new_a7(actl)); } } diff --git a/400_xowa/src/gplx/xowa/html/wtrs/Xoh_img_path.java b/400_xowa/src/gplx/xowa/html/wtrs/Xoh_img_path.java index ba6980315..2b7ea25e5 100644 --- a/400_xowa/src/gplx/xowa/html/wtrs/Xoh_img_path.java +++ b/400_xowa/src/gplx/xowa/html/wtrs/Xoh_img_path.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx.xowa.html.wtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; public class Xoh_img_path { public static final byte[] - Img_cancel = Bry_.new_ascii_("window/menu/file/cancel.png") // 32,32 - , Img_search = Bry_.new_ascii_("window/chrome/search_exec.png") - , Img_option = Bry_.new_ascii_("window/menu/tools/options.png") - , Img_go_bwd = Bry_.new_ascii_("window/paging/go_bwd.png") - , Img_go_fwd = Bry_.new_ascii_("window/paging/go_fwd.png") + Img_cancel = Bry_.new_a7("window/menu/file/cancel.png") // 32,32 + , Img_search = Bry_.new_a7("window/chrome/search_exec.png") + , Img_option = Bry_.new_a7("window/menu/tools/options.png") + , Img_go_bwd = Bry_.new_a7("window/paging/go_bwd.png") + , Img_go_fwd = Bry_.new_a7("window/paging/go_fwd.png") ; } diff --git a/400_xowa/src/gplx/xowa/html/wtrs/Xoh_lnki_bldr.java b/400_xowa/src/gplx/xowa/html/wtrs/Xoh_lnki_bldr.java index 5d34cd9cd..9d1eb1997 100644 --- a/400_xowa/src/gplx/xowa/html/wtrs/Xoh_lnki_bldr.java +++ b/400_xowa/src/gplx/xowa/html/wtrs/Xoh_lnki_bldr.java @@ -62,21 +62,21 @@ public class Xoh_lnki_bldr { return rv; } public void Bld(Bry_bfr bfr) { - bfr.Add_str_ascii(""); + bfr.Add_str_a7("' id='").Add(id); + bfr.Add_str_a7("'>"); if ( img_pos_is_left && img_rel_path != null) Bld_img(bfr); if (caption != null) bfr.Add(caption); if (!img_pos_is_left && img_rel_path != null) Bld_img(bfr); - bfr.Add_str_ascii(""); + bfr.Add_str_a7(""); } private void Bld_img(Bry_bfr bfr) { - bfr.Add_str_ascii(""); + bfr.Add_str_a7(""); } } diff --git a/400_xowa/src/gplx/xowa/langs/Xoa_lang_mgr.java b/400_xowa/src/gplx/xowa/langs/Xoa_lang_mgr.java index c6d617a89..59bfba453 100644 --- a/400_xowa/src/gplx/xowa/langs/Xoa_lang_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/Xoa_lang_mgr.java @@ -20,7 +20,7 @@ import gplx.intl.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.bldrs.langs.*; import gplx.xowa.langs.vnts.*; public class Xoa_lang_mgr implements GfoInvkAble { private final Xoa_fsys_mgr fsys_mgr; private final Gfo_msg_log msg_log; private final Xol_lang lang_en; - private final OrderedHash hash = OrderedHash_.new_bry_(); private final Hash_adp_bry fallback_regy = Hash_adp_bry.cs_(); + private final Ordered_hash hash = Ordered_hash_.new_bry_(); private final Hash_adp_bry fallback_regy = Hash_adp_bry.cs_(); public Xoa_lang_mgr(Xoae_app app) { this.fsys_mgr = app.Fsys_mgr(); this.msg_log = app.Msg_log(); mw_converter = new Xobc_utl_make_lang(this, fsys_mgr, msg_log); @@ -29,8 +29,8 @@ public class Xoa_lang_mgr implements GfoInvkAble { public void Clear() {hash.Clear();} public int Len() {return hash.Count();} public void Add(Xol_lang itm) {hash.Add(itm.Key_bry(), itm);} - public Xol_lang Get_at(int i) {return (Xol_lang)hash.FetchAt(i);} - public Xol_lang Get_by_key(byte[] key) {return (Xol_lang)hash.Fetch(key);} + public Xol_lang Get_at(int i) {return (Xol_lang)hash.Get_at(i);} + public Xol_lang Get_by_key(byte[] key) {return (Xol_lang)hash.Get_by(key);} public Xol_lang Get_by_key_or_load(byte[] key) {return Get_by_key_or_new(key).Init_by_load_assert();} public Xol_lang Get_by_key_or_new(byte[] key) { Xol_lang rv = Get_by_key(key); @@ -80,17 +80,17 @@ public class Xoa_lang_mgr implements GfoInvkAble { Xol_mw_lang_parser lang_parser = new Xol_mw_lang_parser(msg_log); lang_parser.Bld_all(this, fsys_mgr); } - public OrderedHash Xto_hash(byte[] raw) { + public Ordered_hash Xto_hash(byte[] raw) { byte[][] keys = Bry_.Split(raw, Byte_ascii.Tilde); int len = keys.length; - OrderedHash langs = OrderedHash_.new_(); + Ordered_hash langs = Ordered_hash_.new_(); Cfg_nde_root lang_root = groups; for (int i = 0; i < len; i++) { byte[] key = keys[i]; Cfg_nde_obj lang_grp = lang_root.Grps_get(key); if (lang_grp == null) { Xol_lang_itm itm = Xol_lang_itm_.Get_by_key(key); - if (itm == null) throw Err_mgr._.fmt_(GRP_KEY, "invalid_lang", "unknown lang group or key: ~{0}", String_.new_utf8_(key)); + if (itm == null) throw Err_mgr._.fmt_(GRP_KEY, "invalid_lang", "unknown lang group or key: ~{0}", String_.new_u8(key)); langs.Add(key, Xoac_lang_grp.Regy_get_or_new(key)); } else @@ -108,7 +108,7 @@ public class Xoa_lang_mgr implements GfoInvkAble { return this; } private static final String Invk_get = "get", Invk_local_set_bulk = "local_set_bulk", Invk_load_lang = "load_lang", Invk_groups = "groups", Invk_mediawiki_converter = "mediawiki_converter"; - public static final byte[] Fallback_false = Bry_.new_ascii_("false"); + public static final byte[] Fallback_false = Bry_.new_a7("false"); public static Xol_lang Lang_en_make(Xoa_lang_mgr lang_mgr) { Xol_lang rv = new Xol_lang(lang_mgr, Xol_lang_.Key_en); Xol_lang_.Lang_init(rv); diff --git a/400_xowa/src/gplx/xowa/langs/Xol_lang_itm_.java b/400_xowa/src/gplx/xowa/langs/Xol_lang_itm_.java index 5b3c4dcc4..092337b21 100644 --- a/400_xowa/src/gplx/xowa/langs/Xol_lang_itm_.java +++ b/400_xowa/src/gplx/xowa/langs/Xol_lang_itm_.java @@ -910,8 +910,8 @@ Regy_add(regy, Id_zu, "zu", "isiZulu"); } private static Hash_adp_bry regy; private static final Xol_lang_itm[] langs = new Xol_lang_itm[Id__max]; private static void Regy_add(Hash_adp_bry regy, int id, String code_str, String canonical) { - byte[] code = Bry_.new_ascii_(code_str); // ASCII:lang_code should always be ASCII - Xol_lang_itm itm = new Xol_lang_itm(id, code, Bry_.new_utf8_(canonical)); + byte[] code = Bry_.new_a7(code_str); // ASCII:lang_code should always be ASCII + Xol_lang_itm itm = new Xol_lang_itm(id, code, Bry_.new_u8(canonical)); langs[id] = itm; regy.Add(code, itm); } 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 53a9eb845..0f2f8ded6 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 @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.langs.cases; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; public class Xol_case_itm_ { public static final byte Tid_both = 0, Tid_upper = 1, Tid_lower = 2; - public static Xol_case_itm new_(int tid, String src_str, String trg_str) {return new_((byte)tid, Bry_.new_utf8_(src_str), Bry_.new_utf8_(trg_str));} + public static Xol_case_itm new_(int tid, String src_str, String trg_str) {return new_((byte)tid, Bry_.new_u8(src_str), Bry_.new_u8(trg_str));} public static Xol_case_itm new_(byte tid, byte[] src, byte[] trg) { if (src.length == 1 && trg.length == 1) return new Xol_case_itm_byt(tid, src[0], trg[0]); @@ -26,7 +26,7 @@ public class Xol_case_itm_ { return new Xol_case_itm_bry(tid, src, trg); } public static Xol_case_itm[] parse_xo_(byte[] src) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); int src_len = src.length, src_pos = 0, fld_bgn = 0, fld_idx = 0; byte cur_cmd = Byte_.Zero; byte[] cur_lhs = null; @@ -48,7 +48,7 @@ public class Xol_case_itm_ { case Byte_ascii.Num_2: cur_cmd = Xol_case_itm_.Tid_lower; fail = false; break; } } - if (fail) throw Err_mgr._.fmt_(GRP_KEY, "parse_xo_", "cmd is invalid: ~{0}", String_.new_utf8_(src, fld_bgn, src_pos)); + if (fail) throw Err_mgr._.fmt_(GRP_KEY, "parse_xo_", "cmd is invalid: ~{0}", String_.new_u8(src, fld_bgn, src_pos)); break; case 1: cur_lhs = csv_parser.Load(src, fld_bgn, src_pos); break; } @@ -70,20 +70,20 @@ public class Xol_case_itm_ { if (last) break; ++src_pos; } - return (Xol_case_itm[])list.Xto_ary(Xol_case_itm.class); + return (Xol_case_itm[])list.To_ary(Xol_case_itm.class); } public static Xol_case_itm[] parse_mw_(byte[] raw) { - OrderedHash hash = OrderedHash_.new_bry_(); + Ordered_hash hash = Ordered_hash_.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.Xto_ary(Xol_case_itm.class); + return (Xol_case_itm[])hash.To_ary(Xol_case_itm.class); } - private static int parse_mw_grp(OrderedHash hash, byte[] raw, boolean section_is_upper, int find_bgn) { + private static int parse_mw_grp(Ordered_hash hash, byte[] raw, boolean section_is_upper, int find_bgn) { byte[] find = section_is_upper ? parse_mw_upper : parse_mw_lower; int raw_len = raw.length; - int pos = Bry_finder.Find_fwd(raw, find, find_bgn); if (pos == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "section_name_not_found", "could not find section name: ~{0}", String_.new_utf8_(find)); - pos = Bry_finder.Find_fwd(raw, Byte_ascii.Curly_bgn, pos, raw_len); if (pos == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "section_bgn_not_found", "could not find '{' after section name: ~{0}", String_.new_utf8_(find)); + int pos = Bry_finder.Find_fwd(raw, find, find_bgn); if (pos == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "section_name_not_found", "could not find section name: ~{0}", String_.new_u8(find)); + pos = Bry_finder.Find_fwd(raw, Byte_ascii.Curly_bgn, pos, raw_len); if (pos == Bry_.NotFound) throw Err_mgr._.fmt_(GRP_KEY, "section_bgn_not_found", "could not find '{' after section name: ~{0}", String_.new_u8(find)); int itm_bgn = 0; boolean quote_off = true, itm_is_first = true; byte[] cur_lhs = Bry_.Empty; @@ -117,7 +117,7 @@ public class Xol_case_itm_ { tid = Xol_case_itm_.Tid_lower; rev_tid = Xol_case_itm_.Tid_upper; } - Xol_case_itm_bry itm = (Xol_case_itm_bry)hash.Fetch(upper); + Xol_case_itm_bry itm = (Xol_case_itm_bry)hash.Get_by(upper); if (itm == null) { itm = new Xol_case_itm_bry(tid, upper, lower); hash.Add(upper, itm); @@ -143,6 +143,6 @@ public class Xol_case_itm_ { ++pos; } return pos; - } private static final byte[] parse_mw_upper= Bry_.new_ascii_("wikiUpperChars"), parse_mw_lower= Bry_.new_ascii_("wikiLowerChars"), Bry_upper = Bry_.new_ascii_("upper"), Bry_lower = Bry_.new_ascii_("lower"), Bry_pipe = Bry_.new_ascii_("|"); + } private static final byte[] parse_mw_upper= Bry_.new_a7("wikiUpperChars"), parse_mw_lower= Bry_.new_a7("wikiLowerChars"), Bry_upper = Bry_.new_a7("upper"), Bry_lower = Bry_.new_a7("lower"), Bry_pipe = Bry_.new_a7("|"); static final String GRP_KEY = "xowa.langs.case_parser"; } 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 49126d66d..fce029365 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 @@ -44,19 +44,19 @@ public class Xol_case_mgr_tst { // Bry_bfr bfr = Bry_bfr.new_(); // for (int i = 0; i < ary.length; i++) { // Xol_case_itm itm = ary[i]; -// bfr.Add_str("xo|"); +// bfr.Add_str_a7("xo|"); // 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.Xto_str_and_clear()); +// Io_mgr.I.SaveFilStr("C:\\test1.txt", bfr.Xto_str_and_clear()); // } } class Xol_case_mgr_fxt { private Xol_case_mgr case_mgr = Xol_case_mgr_.new_(); private String_bldr sb = String_bldr_.new_(); public void Clear() {case_mgr.Clear();} - public Xol_case_itm_bry itm_both_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_both , Bry_.new_utf8_(src), Bry_.new_utf8_(trg));} - public Xol_case_itm_bry itm_upper_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_upper, Bry_.new_utf8_(src), Bry_.new_utf8_(trg));} - public Xol_case_itm_bry itm_lower_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_lower, Bry_.new_utf8_(src), Bry_.new_utf8_(trg));} + public Xol_case_itm_bry itm_both_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_both , Bry_.new_u8(src), Bry_.new_u8(trg));} + public Xol_case_itm_bry itm_upper_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_upper, Bry_.new_u8(src), Bry_.new_u8(trg));} + public Xol_case_itm_bry itm_lower_(String src, String trg) {return new Xol_case_itm_bry(Xol_case_itm_.Tid_lower, Bry_.new_u8(src), Bry_.new_u8(trg));} public String Init_ltrs_raw() { return String_.Concat_lines_nl ( "0|a|A" @@ -66,7 +66,7 @@ class Xol_case_mgr_fxt { } public Xol_case_mgr_fxt Init_ltrs() { case_mgr = Xol_case_mgr_.new_(); - case_mgr.Add_bulk(Bry_.new_utf8_(Init_ltrs_raw())); + case_mgr.Add_bulk(Bry_.new_u8(Init_ltrs_raw())); return this; } public Xol_case_mgr_fxt Init_ltrs_universal() { @@ -76,24 +76,24 @@ class Xol_case_mgr_fxt { public Xol_case_mgr_fxt Upper(String raw_str, String expd) {return Case_build(Bool_.Y, raw_str, expd);} public Xol_case_mgr_fxt Lower(String raw_str, String expd) {return Case_build(Bool_.N, raw_str, expd);} public Xol_case_mgr_fxt Case_build(boolean upper, String raw_str, String expd) { - byte[] raw = Bry_.new_utf8_(raw_str); + byte[] raw = Bry_.new_u8(raw_str); byte[] actl = case_mgr.Case_build(upper, raw, 0, raw.length); - Tfds.Eq(expd, String_.new_utf8_(actl)); + Tfds.Eq(expd, String_.new_u8(actl)); return this; } public void parse_xo__tst(String raw, Xol_case_itm_bry... expd) { - Tfds.Eq_str_lines(Xto_str(expd), Xto_str(Xol_case_itm_.parse_xo_(Bry_.new_utf8_(raw)))); + Tfds.Eq_str_lines(Xto_str(expd), Xto_str(Xol_case_itm_.parse_xo_(Bry_.new_u8(raw)))); } public void parse_mw__tst(Xol_case_itm_bry... expd) { String raw = raw_(expd); - Xol_case_itm[] actl = Xol_case_itm_.parse_mw_(Bry_.new_utf8_(raw)); + Xol_case_itm[] actl = Xol_case_itm_.parse_mw_(Bry_.new_u8(raw)); Tfds.Eq_str_lines(Xto_str(expd), Xto_str(actl)); } public String Xto_str(Xol_case_itm[] ary) { int ary_len = ary.length; for (int i = 0; i < ary_len; i++) { 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(); + sb.Add(Byte_.Xto_str(itm.Tid())).Add_char_pipe().Add(String_.new_u8(itm.Src_ary())).Add_char_pipe().Add(String_.new_u8(itm.Trg_ary())).Add_char_nl(); } return sb.Xto_str_and_clear(); } @@ -102,8 +102,8 @@ class Xol_case_mgr_fxt { uppers_list.Clear(); lowers_list.Clear(); for (int i = 0; i < itms_len; i++) { Xol_case_itm_bry itm = itms[i]; - String src = String_.new_utf8_(itm.Src_ary()); - String trg = String_.new_utf8_(itm.Trg_ary()); + String src = String_.new_u8(itm.Src_ary()); + String trg = String_.new_u8(itm.Trg_ary()); switch (itm.Tid()) { case Xol_case_itm_.Tid_both: uppers_list.Add(trg); uppers_list.Add(src); @@ -111,8 +111,8 @@ class Xol_case_mgr_fxt { break; } } - return raw_str_(uppers_list.XtoStrAry(), lowers_list.XtoStrAry()); - } ListAdp uppers_list = ListAdp_.new_(), lowers_list = ListAdp_.new_(); + return raw_str_(uppers_list.To_str_ary(), lowers_list.To_str_ary()); + } List_adp uppers_list = List_adp_.new_(), lowers_list = List_adp_.new_(); String raw_str_(String[] uppers, String[] lowers) { sb.Add("a:2:{s:14:\"wikiUpperChars\";a:1046:{"); raw_ary(sb, uppers); @@ -133,9 +133,9 @@ class Xol_case_mgr_fxt { public void Test_reuse_1st_upper(String raw) {Test_reuse_1st_upper(raw, null, Bool_.Y);} public void Test_reuse_1st_upper(String raw, String expd) {Test_reuse_1st_upper(raw, expd, Bool_.N);} private void Test_reuse_1st_upper(String raw, String expd, boolean expd_is_same) { - byte[] raw_bry = Bry_.new_utf8_(raw); + byte[] raw_bry = Bry_.new_u8(raw); byte[] actl_bry = case_mgr.Case_reuse_1st_upper(raw_bry); - String actl_str = String_.new_utf8_(actl_bry); + String actl_str = String_.new_u8(actl_bry); boolean actl_is_same = Object_.Eq(raw_bry, actl_bry); // pointers will be same if no change if (expd_is_same) { Tfds.Eq_true(actl_is_same, "expd should be same: " + actl_str); diff --git a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_grp.java b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_grp.java index 585a7e3f3..66619851e 100644 --- a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_grp.java +++ b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_grp.java @@ -18,20 +18,20 @@ along with this program. If not, see . package gplx.xowa.langs.cnvs; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; import gplx.intl.*; public class Xol_cnv_grp implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public Xol_cnv_grp(byte[] key) {this.key = key;} public byte[] Key() {return key;} private byte[] key; public int Len() {return hash.Count();} - public Xol_cnv_itm Get_at(int i) {return (Xol_cnv_itm)hash.FetchAt(i);} + public Xol_cnv_itm Get_at(int i) {return (Xol_cnv_itm)hash.Get_at(i);} public void Add(byte[] src, byte[] trg) { - hash.AddReplace(src, new Xol_cnv_itm(src, trg)); + hash.Add_if_dupe_use_nth(src, new Xol_cnv_itm(src, trg)); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_add_bulk)) Add_bulk(hash, m.ReadBry("v")); else return GfoInvkAble_.Rv_unhandled; return this; } private static final String Invk_add_bulk = "add_bulk"; - public static void Add_bulk(OrderedHash hash, byte[] raw) { // COPY:add_bulk + public static void Add_bulk(Ordered_hash hash, byte[] raw) { // COPY:add_bulk int len = raw.length; int pos = 0, fld_bgn = 0, fld_idx = 0; byte[] src = Bry_.Empty, trg = Bry_.Empty; @@ -51,7 +51,7 @@ public class Xol_cnv_grp implements GfoInvkAble { case Byte_ascii.NewLine: if (fld_bgn < pos) { // guard against trailing new lines trg = csv_parser.Load(raw, fld_bgn, pos); - hash.AddReplace(src, new Xol_cnv_itm(src, trg)); + hash.Add_if_dupe_use_nth(src, new Xol_cnv_itm(src, trg)); } fld_bgn = pos + 1; fld_idx = 0; diff --git a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr.java b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr.java index b2922047b..091a22370 100644 --- a/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/cnvs/Xol_cnv_mgr.java @@ -18,11 +18,11 @@ along with this program. If not, see . package gplx.xowa.langs.cnvs; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; import gplx.xowa.apps.fsys.*; public class Xol_cnv_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public Xol_cnv_mgr(Xol_lang lang) {}//this.lang = lang;} private Xol_lang lang; - public Xol_cnv_grp Get_or_null(byte[] key) {return (Xol_cnv_grp)hash.Fetch(key);} + public Xol_cnv_grp Get_or_null(byte[] key) {return (Xol_cnv_grp)hash.Get_by(key);} public Xol_cnv_grp Get_or_make(byte[] key) { - Xol_cnv_grp rv = (Xol_cnv_grp)hash.Fetch(key); + Xol_cnv_grp rv = (Xol_cnv_grp)hash.Get_by(key); if (rv == null) { rv = new Xol_cnv_grp(key); hash.Add(key, rv); 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 c65955623..01efd0659 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 @@ -47,7 +47,7 @@ class Xol_cnv_mgr_fxt { public Xop_fxt Parser_fxt() {return parser_fxt;} private Xop_fxt parser_fxt; public void Clear() { app = Xoa_app_fxt.app_(); - Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_utf8_("zh")); + Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_u8("zh")); Xol_lang_.Lang_init(lang); Init_cnv(app, "zh", "zh-hant", KeyVal_.new_("x0", "x1")); lang.Vnt_mgr().Enabled_(true); @@ -56,21 +56,21 @@ class Xol_cnv_mgr_fxt { parser_fxt = new Xop_fxt(app, wiki); } public static void Init_cnv(Xoae_app app, String lang_key, String vnt_key, KeyVal... ary) { - Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_ascii_(lang_key)); - Xol_cnv_grp grp = lang.Cnv_mgr().Get_or_make(Bry_.new_ascii_(vnt_key)); + Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_a7(lang_key)); + Xol_cnv_grp grp = lang.Cnv_mgr().Get_or_make(Bry_.new_a7(vnt_key)); int ary_len = ary.length; for (int i = 0; i < ary_len; i++) { KeyVal itm = ary[i]; - grp.Add(Bry_.new_utf8_(itm.Key()), Bry_.new_utf8_(itm.Val_to_str_or_empty())); + grp.Add(Bry_.new_u8(itm.Key()), Bry_.new_u8(itm.Val_to_str_or_empty())); } - Xol_vnt_itm vnt_itm = lang.Vnt_mgr().Get_or_new(Bry_.new_ascii_(vnt_key)); + Xol_vnt_itm vnt_itm = lang.Vnt_mgr().Get_or_new(Bry_.new_a7(vnt_key)); vnt_itm.Convert_ary_(Bry_.Ary(vnt_key)); vnt_itm.Converter().Rebuild(); } // public void Test_convert(String lang, String vnt, String raw, String expd) { -// 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)); +// Xol_cnv_grp convert_grp = app.Lang_mgr().Get_by_key_or_new(Bry_.new_a7(lang)).Cnv_mgr().Get_or_new(Bry_.new_a7(vnt)); // Bry_bfr bfr = Bry_bfr.new_(); -// boolean converted = convert_grp.Convert_to_bfr(bfr, Bry_.new_utf8_(raw)); +// boolean converted = convert_grp.Convert_to_bfr(bfr, Bry_.new_u8(raw)); // String actl = converted ? bfr.Xto_str_and_clear() : raw; // Tfds.Eq(expd, actl); // } @@ -78,8 +78,8 @@ class Xol_cnv_mgr_fxt { parser_fxt.Test_parse_page_all_str(raw, expd); } public void Test_convert_by_ttl(String lang_key, String raw, boolean expd) { - Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_ascii_(lang_key)); - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_utf8_(raw)); + Xol_lang lang = app.Lang_mgr().Get_by_key_or_new(Bry_.new_a7(lang_key)); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_u8(raw)); Xowd_page_itm page = lang.Vnt_mgr().Convert_ttl(wiki, ttl); if (expd) Tfds.Eq_true(page.Exists()); 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 0477f7269..dc7fdd772 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 @@ -51,12 +51,12 @@ class Xol_mw_parse_grp { Write_end(bfr); } private void Write_bgn(Bry_bfr bfr) { - bfr.Add_str("// ").Add(lng).Add_str("_").Add(vnt).Add_byte_nl(); - bfr.Add_str("app.langs.get('"); + bfr.Add_str_a7("// ").Add(lng).Add_str("_").Add(vnt).Add_byte_nl(); + bfr.Add_str_a7("app.langs.get('"); bfr.Add(lng); - bfr.Add_str("').converts.get('"); + bfr.Add_str_a7("').converts.get('"); bfr.Add(vnt); - bfr.Add_str("').add_bulk("); + bfr.Add_str_a7("').add_bulk("); bfr.Add_byte_nl().Add_str("<:['").Add_byte_nl(); } private void Write_itm(Bry_bfr bfr, Xol_mw_parse_itm itm) { @@ -66,8 +66,8 @@ class Xol_mw_parse_grp { bfr.Add_byte_nl(); } private void Write_end(Bry_bfr bfr) { - bfr.Add_str("']:>").Add_byte_nl(); - bfr.Add_str(");").Add_byte_nl(); + bfr.Add_str_a7("']:>").Add_byte_nl(); + bfr.Add_str_a7(");").Add_byte_nl(); } } class Xol_mw_parse_itm { @@ -77,18 +77,18 @@ class Xol_mw_parse_itm { } class Xol_mw_parse_fxt { public void Test_convert(String mw, String expd) { - Xol_mw_parse_grp[] actl_ary = Parse(Bry_.new_utf8_(mw)); + Xol_mw_parse_grp[] actl_ary = Parse(Bry_.new_u8(mw)); Bry_bfr bfr = Bry_bfr.new_(); actl_ary[0].Write_as_gfs(bfr); 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_(); - Io_url[] fils = Io_mgr._.QueryDir_fils(src_dir); + Io_url[] fils = Io_mgr.I.QueryDir_fils(src_dir); int fils_len = fils.length; for (int i = 0; i < fils_len; i++) { Io_url fil = fils[i]; - byte[] src = Io_mgr._.LoadFilBry(fil); + byte[] src = Io_mgr.I.LoadFilBry(fil); Xol_mw_parse_grp[] itms = Parse(src); int itms_len = itms.length; String lang_name = String_.Lower(String_.Mid(fil.NameOnly(), 0, 2)); // ZhConversion.php -> Zh @@ -97,25 +97,25 @@ 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.Xto_bry_and_clear()); + Io_mgr.I.SaveFilBry(trg_fil, bfr.Xto_bry_and_clear()); } } public Xol_mw_parse_grp[] Parse(byte[] src) { - ListAdp list = ListAdp_.new_(); + List_adp list = List_adp_.new_(); Php_parser parser = new Php_parser(); 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().Xto_ary(Php_line.class); + Php_line[] lines = (Php_line[])evaluator.List().To_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.Xto_ary(Xol_mw_parse_grp.class); + return (Xol_mw_parse_grp[])list.To_ary(Xol_mw_parse_grp.class); } - private ListAdp tmp_itm_list = ListAdp_.new_(); + private List_adp tmp_itm_list = List_adp_.new_(); private Xol_mw_parse_grp Parse_grp(Php_line_assign line) { Xol_mw_parse_grp grp = new Xol_mw_parse_grp(); byte[] key = line.Key().Val_obj_bry(); // EX: "zh2Hant" @@ -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.Xto_ary(Xol_mw_parse_itm.class)); + grp.Itms_((Xol_mw_parse_itm[])tmp_itm_list.To_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 6d2e7c05f..55d423473 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 @@ -19,7 +19,7 @@ package gplx.xowa.langs.durations; import gplx.*; import gplx.xowa.*; import gpl public class Xol_duration_itm { public Xol_duration_itm(byte tid, String name_str, long seconds) { this.tid = tid; this.seconds = seconds; - this.name_str = name_str; this.name_bry = Bry_.new_ascii_(name_str); + this.name_str = name_str; this.name_bry = Bry_.new_a7(name_str); } public byte Tid() {return tid;} private byte tid; public byte[] Name_bry() {return name_bry;} private byte[] name_bry; 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 ee029c262..22a384192 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 @@ -58,16 +58,16 @@ public class Xol_duration_itm_ { }; public static Xol_duration_itm[] Xto_itm_ary(KeyVal[] kv_ary) { if (kv_ary == null) return Xol_duration_itm_.Ary_default; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); int len = kv_ary.length; for (int i = 0; i < len; i++) { KeyVal kv = kv_ary[i]; String name = kv.Val_to_str_or_empty(); - Xol_duration_itm itm = (Xol_duration_itm)regy.Fetch(Bry_.new_utf8_(name)); + Xol_duration_itm itm = (Xol_duration_itm)regy.Get_by(Bry_.new_u8(name)); if (itm != null) rv.Add(itm); } - return (Xol_duration_itm[])rv.Xto_ary(Xol_duration_itm.class); + return (Xol_duration_itm[])rv.To_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 eac6f184b..f85b1fd0e 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 @@ -25,7 +25,7 @@ public class Xol_duration_mgr { Array_.Sort(intervals, Xol_duration_itm_sorter._); int intervals_len = intervals.length; long val = seconds; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); for (int i = 0; i < intervals_len; i++) { Xol_duration_itm itm = intervals[i]; long itm_seconds = itm.Seconds(); @@ -37,7 +37,7 @@ public class Xol_duration_mgr { rv.Add(new Xol_interval_itm(itm, val)); } } - return (Xol_interval_itm[])rv.Xto_ary(Xol_interval_itm.class); + return (Xol_interval_itm[])rv.To_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(); @@ -63,7 +63,7 @@ public class Xol_duration_mgr { byte[] msg_key = Bry_.Add(Bry_duration, itm.Name_bry()); interval_msgs[i] = msg_mgr.Itm_by_key_or_new(msg_key); } - } private static final byte[] Bry_duration = Bry_.new_ascii_("duration-"); + } private static final byte[] Bry_duration = Bry_.new_a7("duration-"); private void List_to_str_init() { Xol_msg_mgr msg_mgr = lang.Msg_mgr(); Msg_and = msg_mgr.Val_by_str_or_empty("and"); diff --git a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java index 70c372352..7be8292fd 100644 --- a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java +++ b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java @@ -74,7 +74,7 @@ public class Xol_grammar_fi implements Xol_grammar { } return true; } static Xol_grammar_manual_regy manual_regy; - private static final byte[] Bry_sta_y = Bry_.new_ascii_("sta"), Bry_sta_n = Bry_.new_utf8_("stä"), Bry_a_y = Bry_.new_ascii_("a"), Bry_a_n = Bry_.new_utf8_("ä"), Bry_ssa_y = Bry_.new_ascii_("ssa"), Bry_ssa_n = Bry_.new_utf8_("ssä"); + private static final byte[] Bry_sta_y = Bry_.new_a7("sta"), Bry_sta_n = Bry_.new_u8("stä"), Bry_a_y = Bry_.new_a7("a"), Bry_a_n = Bry_.new_u8("ä"), Bry_ssa_y = Bry_.new_a7("ssa"), Bry_ssa_n = Bry_.new_u8("ssä"); static final byte Trie_vh_back = 0, Trie_vh_front = 1; private static Btrie_slim_mgr trie_vh = Btrie_slim_mgr.cs_().Add_str_byte__many(Trie_vh_back, "a", "o", "u").Add_str_byte__many(Trie_vh_front, "ä", "ö", "y"); } diff --git a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_manual_regy.java b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_manual_regy.java index ec43a6787..ba5b30c05 100644 --- a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_manual_regy.java +++ b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_manual_regy.java @@ -28,7 +28,7 @@ public class Xol_grammar_manual_regy { hash = Hash_adp_bry.ci_ascii_(); // ASCII:currently only being used for Wikiuutiset; DATE:2014-07-07 ary[type_tid] = hash; } - hash.Add_str_obj(orig, Bry_.new_ascii_(repl)); + hash.Add_str_obj(orig, Bry_.new_a7(repl)); return this; } } diff --git a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_ru.java b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_ru.java index 5db511473..115e3c862 100644 --- a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_ru.java +++ b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_ru.java @@ -33,8 +33,8 @@ public class Xol_grammar_ru implements Xol_grammar { return rv; } private static void genitive_trie_add(Btrie_bwd_mgr trie, byte tid, String find_str, String repl_str) { - byte[] find_bry = Bry_.new_utf8_(find_str); - byte[] repl_bry = repl_str == null ? null : Bry_.new_utf8_(repl_str); + byte[] find_bry = Bry_.new_u8(find_str); + byte[] repl_bry = repl_str == null ? null : Bry_.new_u8(repl_str); Xol_grammar_ru_genitive_itm itm = new Xol_grammar_ru_genitive_itm(tid, find_bry, repl_bry); trie.Add(find_bry, itm); } 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 0b39fe73d..36b66947f 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 @@ -20,7 +20,7 @@ import gplx.php.*; public class Xol_msg_mgr_ { // public static String Get_msg_val_gui_or_null(Xol_lang lang, byte[] pre, byte[] key, byte[] suf) { // String rv = Get_msg_val_gui_or_null(lang, pre, key, suf); -// return rv == null ? "<" + String_.new_utf8_(Bry_.Add(pre, key, suf)) + ">" : rv; +// return rv == null ? "<" + String_.new_u8(Bry_.Add(pre, key, suf)) + ">" : rv; // } public static String Get_msg_val_gui_or_empty(Xoa_lang_mgr lang_mgr, Xol_lang lang, byte[] pre, byte[] key, byte[] suf) { // get from lang, else get from en; does not use get_msg_val to skip db lookups; should only be used for gui; DATE:2014-05-28 String rv = Get_msg_val_gui_or_null(lang_mgr, lang, pre, key, suf); @@ -35,7 +35,7 @@ public class Xol_msg_mgr_ { Xol_msg_itm msg_itm = lang.Msg_mgr().Itm_by_key_or_null(msg_key); if (msg_itm == null) msg_itm = lang_mgr.Lang_en().Msg_mgr().Itm_by_key_or_null(msg_key); - return msg_itm == null ? null : String_.new_utf8_(msg_itm.Val()); + return msg_itm == null ? null : String_.new_u8(msg_itm.Val()); } public static byte[] Get_msg_val(Xowe_wiki wiki, Xol_lang lang, byte[] msg_key, byte[][] fmt_args) { Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b512(); @@ -43,7 +43,7 @@ public class Xol_msg_mgr_ { byte[] rv = Get_msg_val(tmp_bfr, wiki, msg_itm, fmt_args); tmp_bfr.Mkr_rls(); return rv; - } private static final byte[] Missing_bry = Bry_.new_ascii_("$"), Slash_bry = new byte[] {Byte_ascii.Slash}; + } private static final byte[] Missing_bry = Bry_.new_a7("$"), Slash_bry = new byte[] {Byte_ascii.Slash}; public static byte[] Get_msg_val(Bry_bfr tmp_bfr, Xowe_wiki wiki, Xol_msg_itm msg_itm, byte[][] fmt_args) { byte[] msg_val = msg_itm.Val(); boolean has_fmt = msg_itm.Has_fmt_arg(), has_tmpl = msg_itm.Has_tmpl_txt(); 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 c01d3145d..d87c99e74 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 @@ -54,7 +54,7 @@ public class Xol_num_fmtr_base implements GfoInvkAble { } return tmp.Xto_bry_and_clear(); } - public byte[] Fmt(int val) {return Fmt(Bry_.new_ascii_(Int_.Xto_str(val)));} + public byte[] Fmt(int val) {return Fmt(Bry_.new_a7(Int_.Xto_str(val)));} public byte[] Fmt(byte[] src) { // SEE: DOC_1:Fmt int src_len = src.length; int num_bgn = -1, dec_pos = -1; diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base_tst.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base_tst.java index d7e32f4ce..2a77456e4 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base_tst.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base_tst.java @@ -92,12 +92,12 @@ public class Xol_num_fmtr_base_tst { tst_Fmt("1234·5678" , "1·234·5·678");// NOTE: middle-dot is repeated. see dewiki and {{formatnum:1234,5678}} tst_Raw("1234·5678" , "1234.5678"); } - Xol_num_grp dat_(String dlm, int digits) {return new Xol_num_grp(Bry_.new_utf8_(dlm), digits, true);} - Xol_num_grp dat_(String dlm, int digits, boolean repeat) {return new Xol_num_grp(Bry_.new_utf8_(dlm), digits, repeat);} - private void tst_Fmt(String val, String expd) {Tfds.Eq(expd, String_.new_utf8_(mgr.Fmt(Bry_.new_utf8_(val))));} - private void tst_Raw(String val, String expd) {Tfds.Eq(expd, String_.new_utf8_(mgr.Raw(Xol_num_fmtr_base.Tid_raw, Bry_.new_utf8_(val))));} + Xol_num_grp dat_(String dlm, int digits) {return new Xol_num_grp(Bry_.new_u8(dlm), digits, true);} + Xol_num_grp dat_(String dlm, int digits, boolean repeat) {return new Xol_num_grp(Bry_.new_u8(dlm), digits, repeat);} + private void tst_Fmt(String val, String expd) {Tfds.Eq(expd, String_.new_u8(mgr.Fmt(Bry_.new_u8(val))));} + private void tst_Raw(String val, String expd) {Tfds.Eq(expd, String_.new_u8(mgr.Raw(Xol_num_fmtr_base.Tid_raw, Bry_.new_u8(val))));} private void ini_(String dec_dlm, Xol_num_grp... ary) { - mgr.Dec_dlm_(Bry_.new_utf8_(dec_dlm)); + mgr.Dec_dlm_(Bry_.new_u8(dec_dlm)); int ary_len = ary.length; for (int i = 0; i < ary_len; i++) mgr.Grps_add(ary[i]); 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 239c332e9..b489a579a 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 @@ -77,5 +77,5 @@ public class Xol_num_grp_fmtr { bfr.Add_byte(src[i]); } } - private static final byte[] Digit_grouping_pattern_normal = Bry_.new_ascii_("###,###,###"); + private static final byte[] Digit_grouping_pattern_normal = Bry_.new_a7("###,###,###"); } diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr_tst.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr_tst.java index f94cb4a34..1e07425b9 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_grp_fmtr_tst.java @@ -48,7 +48,7 @@ class Xol_num_grp_fmtr_fxt { private Bry_bfr bfr = Bry_bfr.new_(); public void Reset() {} public void Test_fmt_regx(String raw, String expd) { - byte[] actl = grouper.Fmt_regx(bfr, Bry_.new_ascii_(raw)); - Tfds.Eq(expd, String_.new_utf8_(actl)); + byte[] actl = grouper.Fmt_regx(bfr, Bry_.new_a7(raw)); + Tfds.Eq(expd, String_.new_u8(actl)); } } diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_mgr.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_mgr.java index 8fc65a341..07840e091 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_mgr.java @@ -19,7 +19,7 @@ package gplx.xowa.langs.numbers; import gplx.*; import gplx.xowa.*; import gplx. public class Xol_num_mgr implements GfoInvkAble { private boolean digits_translate; protected Bry_bfr tmp_bfr = Bry_bfr.reset_(32); - private static final byte[] Comma_bry = Bry_.new_ascii_(","); + private static final byte[] Comma_bry = Bry_.new_a7(","); public Xol_num_grp_fmtr Num_grp_fmtr() {return num_grp_fmtr;} private Xol_num_grp_fmtr num_grp_fmtr = new Xol_num_grp_fmtr(); public Xol_transform_mgr Separators_mgr() {return separators_mgr;} private Xol_transform_mgr separators_mgr = new Xol_transform_mgr(); public Xol_transform_mgr Digits_mgr() {return digits_mgr;} private Xol_transform_mgr digits_mgr = new Xol_transform_mgr(); @@ -31,7 +31,7 @@ public class Xol_num_mgr implements GfoInvkAble { return num; } public byte[] Format_num_no_separators(byte[] num) {return Format_num(num, true);} - public byte[] Format_num(int val) {return Format_num(Bry_.new_ascii_(Int_.Xto_str(val)));} + public byte[] Format_num(int val) {return Format_num(Bry_.new_a7(Int_.Xto_str(val)));} public byte[] Format_num(byte[] num) {return Format_num(num, false);} public byte[] Format_num(byte[] num, boolean skip_commafy) { if (!skip_commafy) { @@ -59,7 +59,7 @@ public class Xol_num_mgr implements GfoInvkAble { if (ctx.Match(k, Invk_clear)) this.Clear(); else if (ctx.Match(k, Invk_separators)) return separators_mgr; else if (ctx.Match(k, Invk_digits)) {digits_translate = true; return digits_mgr;} // NOTE: only langes with a digit_transform_table will call digits; DATE:2014-05-28 - else if (ctx.Match(k, Invk_digit_grouping_pattern)) return String_.new_utf8_(num_grp_fmtr.Digit_grouping_pattern()); + else if (ctx.Match(k, Invk_digit_grouping_pattern)) return String_.new_u8(num_grp_fmtr.Digit_grouping_pattern()); else if (ctx.Match(k, Invk_digit_grouping_pattern_)) num_grp_fmtr.Digit_grouping_pattern_(m.ReadBry("v")); else return GfoInvkAble_.Rv_unhandled; return this; diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_transform_mgr.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_transform_mgr.java index fcad77939..d888b4550 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_transform_mgr.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_transform_mgr.java @@ -20,19 +20,19 @@ import gplx.core.btries.*; public class Xol_transform_mgr implements GfoInvkAble { private Btrie_fast_mgr trie_k_to_v = Btrie_fast_mgr.cs_(); private Btrie_fast_mgr trie_v_to_k = Btrie_fast_mgr.cs_(); - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); private boolean empty = true; public void Clear() {hash.Clear(); trie_k_to_v.Clear(); trie_v_to_k.Clear(); empty = true;} public int Len() {return hash.Count();} - public KeyVal Get_at(int i) {return (KeyVal)hash.FetchAt(i);} + public KeyVal Get_at(int i) {return (KeyVal)hash.Get_at(i);} public byte[] Get_val_or_self(byte[] k) { // NOTE: return self; note that MW defaults "." and "," to self, even though MessagesLa.php only specifies ","; i.e.: always return something for "."; DATE:2014-05-13 - KeyVal kv = (KeyVal)hash.Fetch(k); + KeyVal kv = (KeyVal)hash.Get_by(k); return kv == null ? k : (byte[])kv.Val(); } public Xol_transform_mgr Set(byte[] k, byte[] v) { trie_k_to_v.Add(k, v); trie_v_to_k.Add(v, k); - KeyVal kv = KeyVal_.new_(String_.new_utf8_(k), v); + KeyVal kv = KeyVal_.new_(String_.new_u8(k), v); hash.Del(k); hash.Add(k, kv); empty = false; diff --git a/400_xowa/src/gplx/xowa/langs/plurals/Xol_plural_ru_tst.java b/400_xowa/src/gplx/xowa/langs/plurals/Xol_plural_ru_tst.java index db2fef7cc..3dce17754 100644 --- a/400_xowa/src/gplx/xowa/langs/plurals/Xol_plural_ru_tst.java +++ b/400_xowa/src/gplx/xowa/langs/plurals/Xol_plural_ru_tst.java @@ -30,6 +30,6 @@ public class Xol_plural_ru_tst { } private void Tst(int count, String[] forms, String expd) { byte[] actl = Xol_plural_ru._.Plural_eval(null, count, Bry_.Ary(forms)); - Tfds.Eq_bry(Bry_.new_ascii_safe_null_(expd), actl); + Tfds.Eq_bry(Bry_.new_a7(expd), actl); } } 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 fafdb78a7..0a3bf982f 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 @@ -18,8 +18,8 @@ along with this program. If not, see . package gplx.xowa.langs.vnts; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; import gplx.xowa.wikis.data.tbls.*; public class Xol_vnt_mgr implements GfoInvkAble { - private OrderedHash vnts = OrderedHash_.new_bry_(); - private int converter_ary_len; private OrderedHash tmp_page_list = OrderedHash_.new_bry_(); + private Ordered_hash vnts = Ordered_hash_.new_bry_(); + private int converter_ary_len; private Ordered_hash tmp_page_list = Ordered_hash_.new_bry_(); public Xol_vnt_mgr(Xol_lang lang) {this.lang = lang;} public Xol_vnt_converter[] Converter_ary() {return converter_ary;} private Xol_vnt_converter[] converter_ary; public Xolg_vnt_grp Vnt_grp() {return vnt_grp;} private Xolg_vnt_grp vnt_grp = new Xolg_vnt_grp(); @@ -32,16 +32,16 @@ public class Xol_vnt_mgr implements GfoInvkAble { if (!enabled) return; Xop_vnt_lxr_.set_(wiki); // VNT -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-hans"), Bry_.new_utf8_("Simplified"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-hant"), Bry_.new_utf8_("Traditional"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-cn"), Bry_.new_utf8_("China"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-hk"), Bry_.new_utf8_("Hong Kong"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-mo"), Bry_.new_utf8_("Macau"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-sg"), Bry_.new_utf8_("Singapore"))); -// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_utf8_("zh-tw"), Bry_.new_utf8_("Taiwan"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-hans"), Bry_.new_u8("Simplified"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-hant"), Bry_.new_u8("Traditional"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-cn"), Bry_.new_u8("China"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-hk"), Bry_.new_u8("Hong Kong"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-mo"), Bry_.new_u8("Macau"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-sg"), Bry_.new_u8("Singapore"))); +// vnt_grp.Add(new Xolg_vnt_itm(Bry_.new_u8("zh-tw"), Bry_.new_u8("Taiwan"))); } public Xol_vnt_itm Get_or_new(byte[] key) { - Xol_vnt_itm rv = (Xol_vnt_itm)vnts.Fetch(key); + Xol_vnt_itm rv = (Xol_vnt_itm)vnts.Get_by(key); if (rv == null) { rv = new Xol_vnt_itm(this, key); vnts.Add(key, rv); @@ -54,7 +54,7 @@ public class Xol_vnt_mgr implements GfoInvkAble { converter_ary_len = vnts_len; converter_ary = new Xol_vnt_converter[vnts_len]; for (int i = 0; i < vnts_len; i++) { - Xol_vnt_itm itm = (Xol_vnt_itm)vnts.FetchAt(i); + Xol_vnt_itm itm = (Xol_vnt_itm)vnts.Get_at(i); converter_ary[i] = itm.Converter(); if (i == 0) cur_vnt = itm.Key(); // default to 1st item } @@ -71,7 +71,7 @@ public class Xol_vnt_mgr implements GfoInvkAble { if (converted == 0) return Xowd_page_itm.Null; // ttl_bry has no conversions; exit; wiki.Db_mgr().Load_mgr().Load_by_ttls(Cancelable_.Never, tmp_page_list, true, 0, converted); for (int i = 0; i < converted; i++) { - Xowd_page_itm page = (Xowd_page_itm)tmp_page_list.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)tmp_page_list.Get_at(i); if (page.Exists()) return page; // return 1st found page } return Xowd_page_itm.Null; diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp.java b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp.java index 4652171ae..561463ae6 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp.java @@ -17,9 +17,9 @@ along with this program. If not, see . */ package gplx.xowa.langs.vnts; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; public class Xolg_vnt_grp { - private final ListAdp list = ListAdp_.new_(); + private final List_adp list = List_adp_.new_(); public byte[] Text() {return text;} public void Text_(byte[] v) {text = v;} private byte[] text; public int Len() {return list.Count();} - public Xolg_vnt_itm Get_at(int i) {return (Xolg_vnt_itm)list.FetchAt(i);} + public Xolg_vnt_itm Get_at(int i) {return (Xolg_vnt_itm)list.Get_at(i);} public void Add(Xolg_vnt_itm itm) {list.Add(itm);} } diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr.java b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr.java index 4d4b3a852..3fd0ee85a 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr.java @@ -49,7 +49,7 @@ class Xolg_vnt_itm_fmtr implements Bry_fmtr_arg { fmtr.Bld_bfr_many(bfr, i, itm_cls_selected, itm.Key(), itm.Text(), page_href); } } - private static final byte[] Itm_cls_selected_y = Bry_.new_ascii_(" class='selected'"); + private static final byte[] Itm_cls_selected_y = Bry_.new_a7(" class='selected'"); private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "" , "
  • ~{itm_text}
  • " diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr_tst.java b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr_tst.java index 6432eec15..f22fedbf3 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xolg_vnt_grp_fmtr_tst.java @@ -45,7 +45,7 @@ class Xolg_vnt_grp_fmtr_fxt { } public void Init_grp(String text, String... langs) { vnt_grp = new Xolg_vnt_grp(); - vnt_grp.Text_(Bry_.new_utf8_(text)); + vnt_grp.Text_(Bry_.new_u8(text)); int len = langs.length; String lang_code = ""; for (int i = 0; i < len; ++i) { @@ -53,7 +53,7 @@ class Xolg_vnt_grp_fmtr_fxt { if (i % 2 == 0) lang_code = lang; else { - Xolg_vnt_itm itm = new Xolg_vnt_itm(Bry_.new_utf8_(lang_code), Bry_.new_utf8_(lang)); + Xolg_vnt_itm itm = new Xolg_vnt_itm(Bry_.new_u8(lang_code), Bry_.new_u8(lang)); vnt_grp.Add(itm); } } @@ -61,7 +61,7 @@ class Xolg_vnt_grp_fmtr_fxt { public void Test_to_str(String page_href, String selected_vnt, String expd) { Xolg_vnt_grp_fmtr vnt_grp_fmtr = new Xolg_vnt_grp_fmtr(); Bry_bfr bfr = Bry_bfr.new_(); - vnt_grp_fmtr.Init(vnt_grp, Bry_.new_utf8_(page_href), Bry_.new_utf8_(selected_vnt)); + vnt_grp_fmtr.Init(vnt_grp, Bry_.new_u8(page_href), Bry_.new_u8(selected_vnt)); vnt_grp_fmtr.XferAry(bfr, 0); Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } 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 236a16d09..3d315297f 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 @@ -52,7 +52,7 @@ class Xop_vnt_flag_parser { case Xop_tkn_itm_.Tid_newLine: // skip ws break; default: - wiki.Appe().Usr_dlg().Log_many("", "", "unknown tkn in vnt flag; tid=~{0} txt=~{1}", sub.Tkn_tid(), String_.new_utf8_(src, sub.Src_bgn(), sub.Src_end())); + wiki.Appe().Usr_dlg().Log_many("", "", "unknown tkn in vnt flag; tid=~{0} txt=~{1}", sub.Tkn_tid(), String_.new_u8(src, sub.Src_bgn(), sub.Src_end())); flag_bfr.Add_mid(src, sub.Src_bgn(), sub.Src_end()); break; } @@ -106,6 +106,6 @@ class Xop_vnt_flag_parser { // .Add_bry_bval(Byte_ascii.Pipe , Dlm_tid_pipe) // .Add_bry_bval(Byte_ascii.Colon , Dlm_tid_colon) // .Add_bry_bval(Byte_ascii.Semic , Dlm_tid_semic) -// .Add_bry_bval(Bry_.new_ascii_("=>") , Dlm_tid_kv) +// .Add_bry_bval(Bry_.new_a7("=>") , Dlm_tid_kv) // ; } diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_.java index 73d3dd09f..f27b040fe 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_lxr_.java @@ -86,7 +86,7 @@ class Xop_vnt_lxr_end implements Xop_lxr { vnt_tkn.Vnt_cmd_calc(wiki, ctx.Cur_page(), ctx, src); } catch (Exception e) { - ctx.App().Usr_dlg().Warn_many("", "", "vnt.parse failed: page=~{0} src=~{1} err=~{2}", String_.new_utf8_(ctx.Cur_page().Ttl().Raw()), String_.new_utf8_(src, bgn_pos, cur_pos), Err_.Message_gplx_brief(e)); + ctx.App().Usr_dlg().Warn_many("", "", "vnt.parse failed: page=~{0} src=~{1} err=~{2}", String_.new_u8(ctx.Cur_page().Ttl().Raw()), String_.new_u8(src, bgn_pos, cur_pos), Err_.Message_gplx_brief(e)); if (vnt_tkn != null) root.Subs_add(tkn_mkr.Bry_mid(src, vnt_tkn.Src_bgn(), cur_pos)); } 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 577ad7323..070d4f43d 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 @@ -54,7 +54,7 @@ public class Xop_vnt_lxr_tst { // } // @Test public void Enabled() { // Xoae_app app = Xoa_app_fxt.app_(); -// Xol_lang lang = new Xol_lang(app, Bry_.new_ascii_("zh")); +// Xol_lang lang = new Xol_lang(app, Bry_.new_a7("zh")); // Xowe_wiki wiki = Xoa_app_fxt.wiki_(app, "zh.wikipedia.org", lang); // Xop_fxt fxt = new Xop_fxt(app, wiki); // fxt.Test_parse_page_all_str("a-{b}-c", "ac"); @@ -62,10 +62,10 @@ public class Xop_vnt_lxr_tst { // } } class Xop_vnt_tkn_mok { - private ListAdp rules_list = ListAdp_.new_(); - private ListAdp flags_list = ListAdp_.new_(); + private List_adp rules_list = List_adp_.new_(); + private List_adp flags_list = List_adp_.new_(); public Xop_vnt_flag[] Flags() { - if (flags == null) flags = (Xop_vnt_flag[])flags_list.Xto_ary(Xop_vnt_flag.class); + if (flags == null) flags = (Xop_vnt_flag[])flags_list.To_ary(Xop_vnt_flag.class); return flags; } private Xop_vnt_flag[] flags; public Xop_vnt_tkn_mok Flags_none_() {flags_list.Clear(); return this;} @@ -74,20 +74,20 @@ class Xop_vnt_tkn_mok { public Xop_vnt_tkn_mok Flags_codes_(String... ary) { int len = ary.length; for (int i = 0; i < len; i++) { - byte[] bry = Bry_.new_ascii_(ary[i]); + byte[] bry = Bry_.new_a7(ary[i]); Xop_vnt_flag flag = (Xop_vnt_flag)Xop_vnt_flag_.Trie.Match_bgn(bry, 0, bry.length); flags_list.Add(flag); } return this; } public Xop_vnt_rule[] Rules() { - if (rules == null) rules = (Xop_vnt_rule[])rules_list.Xto_ary(Xop_vnt_rule.class); + if (rules == null) rules = (Xop_vnt_rule[])rules_list.To_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);} - public Xop_vnt_tkn_mok Rule_(byte[] lang, String rule) {return Rule_(Xop_vnt_rule.Null_macro, lang, new Xop_bry_tkn(-1, -1, Bry_.new_utf8_(rule)));} - public Xop_vnt_tkn_mok Rule_(String lang, String rule) {return Rule_(Xop_vnt_rule.Null_macro, Bry_.new_ascii_(lang), new Xop_bry_tkn(-1, -1, Bry_.new_utf8_(rule)));} - public Xop_vnt_tkn_mok Rule_(String macro, String lang, String rule) {return Rule_(Bry_.new_ascii_(macro), Bry_.new_ascii_(lang), new Xop_bry_tkn(-1, -1, Bry_.new_utf8_(rule)));} + public Xop_vnt_tkn_mok Rule_(byte[] lang, String rule) {return Rule_(Xop_vnt_rule.Null_macro, lang, new Xop_bry_tkn(-1, -1, Bry_.new_u8(rule)));} + public Xop_vnt_tkn_mok Rule_(String lang, String rule) {return Rule_(Xop_vnt_rule.Null_macro, Bry_.new_a7(lang), new Xop_bry_tkn(-1, -1, Bry_.new_u8(rule)));} + public Xop_vnt_tkn_mok Rule_(String macro, String lang, String rule) {return Rule_(Bry_.new_a7(macro), Bry_.new_a7(lang), new Xop_bry_tkn(-1, -1, Bry_.new_u8(rule)));} public Xop_vnt_tkn_mok Rule_(byte[] macro, byte[] lang, Xop_tkn_itm... tkns) {rules_list.Add(new Xop_vnt_rule(macro, lang, tkns)); return this;} } class Xop_vnt_lxr_fxt { @@ -110,7 +110,7 @@ class Xop_vnt_lxr_fxt { vnt_mgr.Convert_ttl_init(); } public Xop_vnt_lxr_fxt Test_parse(String raw, Xop_vnt_tkn_mok expd) { - byte[] raw_bry = Bry_.new_utf8_(raw); + byte[] raw_bry = Bry_.new_u8(raw); Xop_root_tkn root = fxt.Exec_parse_page_all_as_root(raw_bry); Xop_vnt_tkn actl = (Xop_vnt_tkn)root.Subs_get(0); Test_vnt_tkn(raw_bry, expd, actl); diff --git a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_parser_tst.java b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_parser_tst.java index 758510d76..75f2cd7b9 100644 --- a/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_parser_tst.java +++ b/400_xowa/src/gplx/xowa/langs/vnts/Xop_vnt_parser_tst.java @@ -60,7 +60,7 @@ public class Xop_vnt_parser_tst { // uses zh-hant as cur_vnt } @Test public void Title() { // PURPOSE: implement title; PAGE:zh.w:Help:進階字詞轉換處理 DATE:2014-08-29 fxt.Test_parse("-{T|zh-hant:A;zh-hans:B}-", ""); - Tfds.Eq("A", String_.new_utf8_(fxt.Parser_fxt().Page().Html_data().Display_ttl_vnt())); + Tfds.Eq("A", String_.new_u8(fxt.Parser_fxt().Page().Html_data().Display_ttl_vnt())); } } class Xop_vnt_parser_fxt { @@ -71,7 +71,7 @@ class Xop_vnt_parser_fxt { fxt = new Xop_fxt(app, wiki); Init_vnt_mgr(wiki.Lang().Vnt_mgr(), "zh-hans", "zh-hant"); Xop_vnt_lxr_.set_(wiki); - wiki.Lang().Vnt_mgr().Cur_vnt_(Bry_.new_ascii_("zh-hant")); + wiki.Lang().Vnt_mgr().Cur_vnt_(Bry_.new_a7("zh-hant")); return this; } private static void Init_vnt_mgr(Xol_vnt_mgr vnt_mgr, String... vnts_str) { 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 eee0dae4d..c7b459f3a 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 @@ -23,8 +23,8 @@ class Xop_vnt_rules_parser { private boolean loop_vnt_subs; private int vnt_subs_cur, vnt_subs_bgn, vnt_subs_len; private int rule_texts_bgn; private Btrie_slim_mgr trie; - private ListAdp rules_list = ListAdp_.new_(); - private ListAdp text_tkns_list = ListAdp_.new_(); + private List_adp rules_list = List_adp_.new_(); + private List_adp text_tkns_list = List_adp_.new_(); private int text_tkns_ws_end_idx; private byte[] src; private Xop_tkn_mkr tkn_mkr; @@ -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.Xto_ary_and_clear(Xop_vnt_rule.class); + return (Xop_vnt_rule[])rules_list.To_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.Xto_ary_and_clear(Xop_tkn_itm.class); + Xop_tkn_itm[] rule_subs = (Xop_tkn_itm[])text_tkns_list.To_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/net/Xoo_protocol_itm.java b/400_xowa/src/gplx/xowa/net/Xoo_protocol_itm.java index b65bc57d3..7bb73f8bc 100644 --- a/400_xowa/src/gplx/xowa/net/Xoo_protocol_itm.java +++ b/400_xowa/src/gplx/xowa/net/Xoo_protocol_itm.java @@ -19,14 +19,14 @@ package gplx.xowa.net; import gplx.*; import gplx.xowa.*; public class Xoo_protocol_itm { public Xoo_protocol_itm(byte tid, String text) { this.tid = tid; - this.text_bry = Bry_.new_utf8_(text); + this.text_bry = Bry_.new_u8(text); this.text_str = text; int text_len = text_bry.length; for (int i = 0; i < text_len; i++) { if (text_bry[i] == Byte_ascii.Colon) { key_wo_colon_bry = Bry_.Mid(text_bry, 0, i); key_w_colon_bry_len = i; - key_wo_colon_str = String_.new_utf8_(key_wo_colon_bry); + key_wo_colon_str = String_.new_u8(key_wo_colon_bry); key_w_colon_bry = Bry_.Mid(text_bry, 0, i + 1); text_ends_w_colon = i == text_len - 1; break; @@ -73,7 +73,7 @@ public class Xoo_protocol_itm { , Tid_relative_1 = 28 // [//a.org] , Tid_relative_2 = 29 // [[//a.org]] ; - public static final OrderedHash Regy = OrderedHash_.new_bry_(); + public static final Ordered_hash Regy = Ordered_hash_.new_bry_(); public static final Xoo_protocol_itm Itm_http = new_(Tid_http , "http://") , Itm_https = new_(Tid_https , "https://") @@ -102,13 +102,13 @@ public class Xoo_protocol_itm { , Itm_geo = new_(Tid_geo , "geo:") ; public static final String Str_file = "file:"; - public static final byte[] Bry_file = Bry_.new_ascii_(Str_file); + public static final byte[] Bry_file = Bry_.new_a7(Str_file); public static Xoo_protocol_itm[] Ary() { if (protocol_itm_ary == null) { int len = Regy.Count(); protocol_itm_ary = new Xoo_protocol_itm[len]; for (int i = 0; i < len; i++) - protocol_itm_ary[i] = (Xoo_protocol_itm)Regy.FetchAt(i); + protocol_itm_ary[i] = (Xoo_protocol_itm)Regy.Get_at(i); } return protocol_itm_ary; } private static Xoo_protocol_itm[] protocol_itm_ary; @@ -117,7 +117,7 @@ public class Xoo_protocol_itm { int len = Regy.Count(); protocol_str_ary = new String[len]; for (int i = 0; i < len; i++) - protocol_str_ary[i] = ((Xoo_protocol_itm)Regy.FetchAt(i)).Text_str(); + protocol_str_ary[i] = ((Xoo_protocol_itm)Regy.Get_at(i)).Text_str(); } return protocol_str_ary; } private static String[] protocol_str_ary; 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 678374b04..58afff3eb 100644 --- a/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java +++ b/400_xowa/src/gplx/xowa/pages/Xopg_html_data.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.pages; import gplx.*; import gplx.xowa.*; import gplx.html.*; import gplx.xowa.html.modules.*; import gplx.xowa.pages.skins.*; import gplx.xowa.xtns.indicators.*; public class Xopg_html_data { - private OrderedHash ctg_hash; + private Ordered_hash ctg_hash; public boolean Html_restricted() {return html_restricted;} private boolean html_restricted = true; public void Html_restricted_(boolean v) {html_restricted = v;} public void Html_restricted_n_() {Html_restricted_(Bool_.N);} public void Html_restricted_y_() {Html_restricted_(Bool_.Y);} public byte[] Display_ttl() { @@ -83,9 +83,9 @@ public class Xopg_html_data { indicators.Clear(); this.mode_wtxt_shown = false; } - public byte[][] Ctgs_to_ary() {return ctg_hash == null ? Bry_.Ary_empty : (byte[][])ctg_hash.Xto_ary(byte[].class);} + public byte[][] Ctgs_to_ary() {return ctg_hash == null ? Bry_.Ary_empty : (byte[][])ctg_hash.To_ary(byte[].class);} public void Ctgs_add(Xoa_ttl ttl) { - if (ctg_hash == null) ctg_hash = OrderedHash_.new_bry_(); + if (ctg_hash == null) ctg_hash = Ordered_hash_.new_bry_(); byte[] ttl_bry = ttl.Page_txt(); if (ctg_hash.Has(ttl_bry)) return; ctg_hash.Add(ttl_bry, ttl_bry); diff --git a/400_xowa/src/gplx/xowa/pages/skins/Xopg_xtn_skin_mgr.java b/400_xowa/src/gplx/xowa/pages/skins/Xopg_xtn_skin_mgr.java index 7b7c402c2..ec8e57d58 100644 --- a/400_xowa/src/gplx/xowa/pages/skins/Xopg_xtn_skin_mgr.java +++ b/400_xowa/src/gplx/xowa/pages/skins/Xopg_xtn_skin_mgr.java @@ -17,10 +17,10 @@ along with this program. If not, see . */ package gplx.xowa.pages.skins; import gplx.*; import gplx.xowa.*; import gplx.xowa.pages.*; public class Xopg_xtn_skin_mgr { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public int Count() {return hash.Count();} - public void Add(Xopg_xtn_skin_itm itm) {hash.Add_if_new(itm.Key(), itm);} - public Xopg_xtn_skin_itm Get_at(int i) {return (Xopg_xtn_skin_itm)hash.FetchAt(i);} - public Xopg_xtn_skin_itm Get_or_null(byte[] key) {return (Xopg_xtn_skin_itm)hash.Fetch(key);} + public void Add(Xopg_xtn_skin_itm itm) {hash.Add_if_dupe_use_1st(itm.Key(), itm);} + public Xopg_xtn_skin_itm Get_at(int i) {return (Xopg_xtn_skin_itm)hash.Get_at(i);} + public Xopg_xtn_skin_itm Get_or_null(byte[] key) {return (Xopg_xtn_skin_itm)hash.Get_by(key);} public void Clear() {hash.Clear();} } 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 5c7fe7e76..1f68953ee 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 @@ -100,7 +100,7 @@ public class Xop_amp_mgr { boolean ncr_is_hex = amp_itm.Tid() == Xop_amp_trie_itm.Tid_num_hex; int int_bgn = amp_trie.Match_pos(); if (Parse_as_int(ncr_is_hex, src, src_len, pos, int_bgn)) - tmp_bfr.Add_utf8_int(rslt_val); + tmp_bfr.Add_u8_int(rslt_val); else tmp_bfr.Add_mid(src, pos, nxt_pos); pos = rslt_pos; diff --git a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr_decode_tst.java b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr_decode_tst.java index 900d9d265..7dcbffb13 100644 --- a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr_decode_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_mgr_decode_tst.java @@ -39,6 +39,6 @@ class Xop_amp_mgr_fxt { private Xop_amp_mgr amp_mgr = new Xop_amp_mgr(); public void Reset() {} public void Test_decode_as_bry(String raw, String expd) { - Tfds.Eq(expd, String_.new_utf8_(amp_mgr.Decode_as_bry(Bry_.new_utf8_(raw)))); + Tfds.Eq(expd, String_.new_u8(amp_mgr.Decode_as_bry(Bry_.new_u8(raw)))); } } diff --git a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_trie.java b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_trie.java index e3686e3d1..8e01d832f 100644 --- a/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_trie.java +++ b/400_xowa/src/gplx/xowa/parsers/amps/Xop_amp_trie.java @@ -19,17 +19,17 @@ package gplx.xowa.parsers.amps; import gplx.*; import gplx.xowa.*; import gplx.x import gplx.core.btries.*; public class Xop_amp_trie { public static final byte[] // NOTE: top_define - Bry_xowa_lt = Bry_.new_ascii_("&xowa_lt;") - , Bry_xowa_brack_bgn = Bry_.new_ascii_("&xowa_brack_bgn;") - , Bry_xowa_brack_end = Bry_.new_ascii_("&xowa_brack_end;") - , Bry_xowa_pipe = Bry_.new_ascii_("&xowa_pipe;") - , Bry_xowa_apos = Bry_.new_ascii_("&xowa_apos;") - , Bry_xowa_colon = Bry_.new_ascii_("&xowa_colon;") - , Bry_xowa_underline = Bry_.new_ascii_("&xowa_underline;") - , Bry_xowa_asterisk = Bry_.new_ascii_("&xowa_asterisk;") - , Bry_xowa_space = Bry_.new_ascii_("&xowa_space;") - , Bry_xowa_nl = Bry_.new_ascii_("&xowa_nl;") - , Bry_xowa_dash = Bry_.new_ascii_("&xowa_dash;") + Bry_xowa_lt = Bry_.new_a7("&xowa_lt;") + , Bry_xowa_brack_bgn = Bry_.new_a7("&xowa_brack_bgn;") + , Bry_xowa_brack_end = Bry_.new_a7("&xowa_brack_end;") + , Bry_xowa_pipe = Bry_.new_a7("&xowa_pipe;") + , Bry_xowa_apos = Bry_.new_a7("&xowa_apos;") + , Bry_xowa_colon = Bry_.new_a7("&xowa_colon;") + , Bry_xowa_underline = Bry_.new_a7("&xowa_underline;") + , Bry_xowa_asterisk = Bry_.new_a7("&xowa_asterisk;") + , Bry_xowa_space = Bry_.new_a7("&xowa_space;") + , Bry_xowa_nl = Bry_.new_a7("&xowa_nl;") + , Bry_xowa_dash = Bry_.new_a7("&xowa_dash;") ; public static final Btrie_slim_mgr _ = new_(); Xop_amp_trie() {} private static Btrie_slim_mgr new_() {// REF.MW: Sanitizer|$wgHtmlEntities; NOTE:added apos @@ -303,7 +303,7 @@ public class Xop_amp_trie { Reg_prefix(rv, Xop_amp_trie_itm.Tid_num_dec, "#"); return rv; } - private static void Reg_name(Btrie_slim_mgr trie, boolean tid_is_xowa, int char_int, String xml_name_str) {Reg_name(trie, tid_is_xowa, char_int, Bry_.new_ascii_(xml_name_str));} + private static void Reg_name(Btrie_slim_mgr trie, boolean tid_is_xowa, int char_int, String xml_name_str) {Reg_name(trie, tid_is_xowa, char_int, Bry_.new_a7(xml_name_str));} private static void Reg_name(Btrie_slim_mgr trie, boolean tid_is_xowa, int char_int, byte[] xml_name_bry) { byte itm_tid = tid_is_xowa ? Xop_amp_trie_itm.Tid_name_xowa : Xop_amp_trie_itm.Tid_name_std; Xop_amp_trie_itm itm = new Xop_amp_trie_itm(itm_tid, char_int, xml_name_bry); @@ -311,7 +311,7 @@ public class Xop_amp_trie { trie.Add_obj(key, itm); } private static void Reg_prefix(Btrie_slim_mgr trie, byte prefix_type, String prefix) { - byte[] prefix_ary = Bry_.new_ascii_(prefix); + byte[] prefix_ary = Bry_.new_a7(prefix); Xop_amp_trie_itm itm = new Xop_amp_trie_itm(prefix_type, Xop_amp_trie_itm.Char_int_null, prefix_ary); trie.Add_obj(prefix_ary, itm); } diff --git a/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_tkn_.java b/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_tkn_.java index 9c974dae1..fbc7bab61 100644 --- a/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_tkn_.java +++ b/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_tkn_.java @@ -24,12 +24,12 @@ public class Xop_apos_tkn_ { , Cmd_bi_end__b_bgn = 9, Cmd_ib_end__i_bgn = 10, Cmd_b_end__i_bgn = 11, Cmd_i_end__b_bgn = 12; public static final byte[][] Cmds = new byte[][] - { Bry_.new_ascii_("nil") - , Bry_.new_ascii_("i+"), Bry_.new_ascii_("i-"), Bry_.new_ascii_("b+"), Bry_.new_ascii_("b-") - , Bry_.new_ascii_("bi+"), Bry_.new_ascii_("ib+"), Bry_.new_ascii_("ib-"), Bry_.new_ascii_("bi-") - , Bry_.new_ascii_("bi-b+"), Bry_.new_ascii_("ib-i+"), Bry_.new_ascii_("b-i+"), Bry_.new_ascii_("i-b+") + { Bry_.new_a7("nil") + , Bry_.new_a7("i+"), Bry_.new_a7("i-"), Bry_.new_a7("b+"), Bry_.new_a7("b-") + , Bry_.new_a7("bi+"), Bry_.new_a7("ib+"), Bry_.new_a7("ib-"), Bry_.new_a7("bi-") + , Bry_.new_a7("bi-b+"), Bry_.new_a7("ib-i+"), Bry_.new_a7("b-i+"), Bry_.new_a7("i-b+") }; - public static String Cmd_str(int id) {return String_.new_utf8_(Cmds[id]);} + public static String Cmd_str(int id) {return String_.new_u8(Cmds[id]);} public static final int Len_ital = 2, Len_bold = 3, Len_dual = 5, Len_apos_bold = 4; public static final int Typ_ital = 2, Typ_bold = 3, Typ_dual = 5; public static final int State_nil = 0, State_i = 1, State_b = 2, State_bi = 3, State_ib = 4, State_dual = 5; diff --git a/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_wkr.java b/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_wkr.java index 56587b2c8..039eaf38c 100644 --- a/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/apos/Xop_apos_wkr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.parsers.apos; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; public class Xop_apos_wkr implements Xop_ctx_wkr { public Xop_apos_dat Dat() {return dat;} private Xop_apos_dat dat = new Xop_apos_dat(); - private ListAdp stack = ListAdp_.new_(); private int bold_count, ital_count; private Xop_apos_tkn dual_tkn = null; + private List_adp stack = List_adp_.new_(); private int bold_count, ital_count; private Xop_apos_tkn dual_tkn = null; public void Ctor_ctx(Xop_ctx ctx) {} public void Page_bgn(Xop_ctx ctx, Xop_root_tkn root) { Reset(); @@ -82,7 +82,7 @@ public class Xop_apos_wkr implements Xop_ctx_wkr { Xop_apos_tkn idxNeg1 = null, idxNeg2 = null, idxNone = null; // look at previous tkn for spaces; EX: "a '''" -> idxNeg1; " a'''" -> idxNeg2; "ab'''" -> idxNone int tknsLen = stack.Count(); for (int i = 0; i < tknsLen; i++) { - Xop_apos_tkn apos = (Xop_apos_tkn)stack.FetchAt(i); + Xop_apos_tkn apos = (Xop_apos_tkn)stack.Get_at(i); if (apos.Apos_tid() != Xop_apos_tkn_.Typ_bold) continue; // only look for bold int tknBgn = apos.Src_bgn(); boolean idxNeg1Space = tknBgn > 0 && src[tknBgn - 1] == Byte_ascii.Space; @@ -98,7 +98,7 @@ public class Xop_apos_wkr implements Xop_ctx_wkr { // now recalc all cmds for stack dat.State_clear(); for (int i = 0; i < tknsLen; i++) { - Xop_apos_tkn apos = (Xop_apos_tkn)stack.FetchAt(i); + Xop_apos_tkn apos = (Xop_apos_tkn)stack.Get_at(i); dat.Ident(ctx, src, apos.Apos_tid(), apos.Src_end()); // NOTE: apos.Typ() must map to apos_len int newCmd = dat.Cmd(); if (newCmd == apos.Apos_cmd()) continue; @@ -115,10 +115,10 @@ public class Xop_apos_wkr implements Xop_ctx_wkr { stack.Clear(); dat.State_clear(); } - private static Xop_apos_tkn Previous_bgn(ListAdp stack, int typ) { + private static Xop_apos_tkn Previous_bgn(List_adp stack, int typ) { int stack_len = stack.Count(); for (int i = stack_len - 1; i > -1; --i) { - Xop_apos_tkn apos = (Xop_apos_tkn)stack.FetchAt(i); + Xop_apos_tkn apos = (Xop_apos_tkn)stack.Get_at(i); int cmd = apos.Apos_cmd(); switch (typ) { case Xop_apos_tkn_.Typ_ital: diff --git a/400_xowa/src/gplx/xowa/parsers/hdrs/Xop_hdr_tkn_chkr.java b/400_xowa/src/gplx/xowa/parsers/hdrs/Xop_hdr_tkn_chkr.java index d0da9cfb1..bb5373e2b 100644 --- a/400_xowa/src/gplx/xowa/parsers/hdrs/Xop_hdr_tkn_chkr.java +++ b/400_xowa/src/gplx/xowa/parsers/hdrs/Xop_hdr_tkn_chkr.java @@ -23,11 +23,11 @@ public class Xop_hdr_tkn_chkr extends Xop_tkn_chkr_base { public int Hdr_ws_bgn() {return hdr_ws_bgn;} public Xop_hdr_tkn_chkr Hdr_ws_bgn_(int v) {hdr_ws_bgn = v; return this;} private int hdr_ws_bgn = -1; public int Hdr_ws_end() {return hdr_ws_end;} public Xop_hdr_tkn_chkr Hdr_ws_end_(int v) {hdr_ws_end = v; return this;} private int hdr_ws_end = -1; public int Hdr_ws_trailing() {return hdr_ws_trailing;} public Xop_hdr_tkn_chkr Hdr_ws_trailing_(int v) {hdr_ws_trailing = v; return this;} private int hdr_ws_trailing = -1; - public Xop_hdr_tkn_chkr Hdr_html_id_(String v) {hdr_html_id = Bry_.new_ascii_(v); return this;} private byte[] hdr_html_id = Bry_.Empty; + public Xop_hdr_tkn_chkr Hdr_html_id_(String v) {hdr_html_id = Bry_.new_a7(v); return this;} private byte[] hdr_html_id = Bry_.Empty; @Override public int Chk_hook(Tst_mgr mgr, String path, Object actl_obj, int err) { Xop_hdr_tkn actl = (Xop_hdr_tkn)actl_obj; err += mgr.Tst_val(hdr_len == -1, path, "hdr_len", hdr_len, actl.Hdr_len()); - err += mgr.Tst_val(hdr_html_id == Bry_.Empty, path, "hdr_html_id", String_.new_ascii_(hdr_html_id), String_.new_ascii_(actl.Hdr_html_id())); + err += mgr.Tst_val(hdr_html_id == Bry_.Empty, path, "hdr_html_id", String_.new_a7(hdr_html_id), String_.new_a7(actl.Hdr_html_id())); return err; } } diff --git a/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_tkn_.java b/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_tkn_.java index a84a6386f..45aff02db 100644 --- a/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_tkn_.java +++ b/400_xowa/src/gplx/xowa/parsers/lists/Xop_list_tkn_.java @@ -22,8 +22,8 @@ public class Xop_list_tkn_ { , Hook_dt = new byte[] {Byte_ascii.NewLine, Byte_ascii.Semic} , Hook_dd = new byte[] {Byte_ascii.NewLine, Byte_ascii.Colon}; public static final byte List_itmTyp_null = 0, List_itmTyp_ul = Byte_ascii.Asterisk, List_itmTyp_ol = Byte_ascii.Hash, List_itmTyp_dt = Byte_ascii.Semic, List_itmTyp_dd = Byte_ascii.Colon; public static final String Str_li = "li", Str_ol = "ol", Str_ul = "ul", Str_dl = "dl", Str_dt = "dt", Str_dd = "dd"; - public static final byte[] Byt_li = Bry_.new_ascii_(Str_li), Byt_ol = Bry_.new_ascii_(Str_ol), Byt_ul = Bry_.new_ascii_(Str_ul) - , Byt_dl = Bry_.new_ascii_(Str_dl), Byt_dt = Bry_.new_ascii_(Str_dt), Byt_dd = Bry_.new_ascii_(Str_dd); + public static final byte[] Byt_li = Bry_.new_a7(Str_li), Byt_ol = Bry_.new_a7(Str_ol), Byt_ul = Bry_.new_a7(Str_ul) + , Byt_dl = Bry_.new_a7(Str_dl), Byt_dt = Bry_.new_a7(Str_dt), Byt_dd = Bry_.new_a7(Str_dd); public static byte[] XmlTag_lst(byte b) { switch (b) { case List_itmTyp_ul: return Byt_ul; 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 51d8112b4..eb15fc772 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 @@ -84,7 +84,7 @@ public class Xop_list_wkr implements Xop_ctx_wkr { posBldr.MoveDown(); symByt = curSymAry[i]; prvSymAry = Xop_list_wkr_.MakeSymAry(curSymAry, curSymLen); - Xop_list_tkn prvItm = tkn_mkr.List_bgn(bgn_pos, cur_pos, symByt, i + ListAdp_.Base1).List_path_(posBldr.XtoIntAry()).List_uid_(listId); + Xop_list_tkn prvItm = tkn_mkr.List_bgn(bgn_pos, cur_pos, symByt, i + List_adp_.Base1).List_path_(posBldr.XtoIntAry()).List_uid_(listId); ctx.Subs_add_and_stack(root, prvItm); ctx.Empty_ignored_y_(); } diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xoh_lnke_wtr.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xoh_lnke_wtr.java index e6e8027bb..ffdecd8d4 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xoh_lnke_wtr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xoh_lnke_wtr.java @@ -25,12 +25,12 @@ public class Xoh_lnke_wtr { if (!hctx.Mode_is_alt()) { // write href, unless mode is alt if (hctx.Mode_is_hdump()) { if (lnke.Lnke_typ() == Xop_lnke_tkn.Lnke_typ_text) - bfr.Add_str("") - , A_lhs_end_internal = Bry_.new_ascii_("\">") + A_lhs_end_external = Bry_.new_a7("\" class=\"external text\" rel=\"nofollow\">") + , A_lhs_end_internal = Bry_.new_a7("\">") ; } diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_lxr.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_lxr.java index ee6743215..2f2d1b899 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_lxr.java @@ -29,8 +29,8 @@ public class Xop_lnke_lxr implements Xop_lxr { } core_trie.Add(Bry_relative_1, new Xop_lnke_lxr(Xop_lnke_tkn.Lnke_typ_brack, Xoa_consts.Url_relative_prefix, Xoo_protocol_itm.Tid_relative_1)); core_trie.Add(Bry_relative_2, new Xop_lnke_lxr(Xop_lnke_tkn.Lnke_typ_brack, Xoa_consts.Url_relative_prefix, Xoo_protocol_itm.Tid_relative_2)); - Ctor_lxr_add(core_trie, Bry_.new_ascii_("xowa-cmd"), Xoo_protocol_itm.Tid_xowa); - } private static final byte[] Bry_relative_1 = Bry_.new_ascii_("[//"), Bry_relative_2 = Bry_.new_ascii_("[[//"); + Ctor_lxr_add(core_trie, Bry_.new_a7("xowa-cmd"), Xoo_protocol_itm.Tid_xowa); + } private static final byte[] Bry_relative_1 = Bry_.new_a7("[//"), Bry_relative_2 = Bry_.new_a7("[[//"); public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} private void Ctor_lxr_add(Btrie_fast_mgr core_trie, byte[] protocol_bry, byte tid) { core_trie.Add(protocol_bry , new Xop_lnke_lxr(Xop_lnke_tkn.Lnke_typ_text, protocol_bry, tid)); 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 cf8bc037e..9f425b756 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 @@ -30,7 +30,7 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { ctx.Msg_log().Add_itm_none(Xop_lnke_log.Dangling, src, tkn.Src_bgn(), cur_pos); } public static final String Str_xowa_protocol = "xowa-cmd:"; - public static final byte[] Bry_xowa_protocol = Bry_.new_ascii_(Str_xowa_protocol); + public static final byte[] Bry_xowa_protocol = Bry_.new_a7(Str_xowa_protocol); public int MakeTkn_bgn(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos, byte[] protocol, byte proto_tid, byte lnke_type) { boolean lnke_type_brack = (lnke_type == Xop_lnke_tkn.Lnke_typ_brack); if ( !lnke_type_brack // lnke doesn't have "["; EX: "ttl:" @@ -161,7 +161,7 @@ public class Xop_lnke_wkr implements Xop_ctx_wkr { } 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 + Xow_xwiki_itm xwiki = ctx.App().Usere().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] Xowe_wiki wiki = ctx.Wiki(); Xoa_url_parser.Parse_url(xo_url_parser_url, ctx.App(), wiki, src, lnke_bgn, lnke_end, false); diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_brack_tst.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_brack_tst.java index b6f336ca7..68aefb642 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_brack_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_brack_tst.java @@ -61,7 +61,7 @@ public class Xop_lnke_wkr_brack_tst { )); } @Test public void Encode_xwiki() { // PURPOSE: href title and args should always be encoded; PAGE:en.w:List_of_Category_A_listed_buildings_in_West_Lothian DATE:2014-07-15 - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("commons.wikimedia.org"), Bry_.new_utf8_("commons.wikimedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("commons.wikimedia.org"), Bry_.new_u8("commons.wikimedia.org")); fxt.Test_parse_page_wiki_str // encode page ( "[http://commons.wikimedia.org/%22%3E_A B]" , "B" // '%22%3E' not '">' diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_relative_tst.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_relative_tst.java index 65bc3e6bd..6c007b9b5 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_relative_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_relative_tst.java @@ -36,7 +36,7 @@ public class Xop_lnke_wkr_relative_tst { fxt.Test_parse_page_wiki_str("[//en.wikipedia.org/wiki/Category:A A]", "A"); } @Test public void Relurl() { - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("en.wikipedia.org"), Bry_.new_utf8_("en.wikipedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("en.wikipedia.org"), Bry_.new_u8("en.wikipedia.org")); fxt.Test_parse_page_wiki_str("[[//en.wikipedia.org/ a]]", "[a]"); } } diff --git a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_xwiki_tst.java b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_xwiki_tst.java index 9a1bfec84..cb41e9fa8 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_xwiki_tst.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkes/Xop_lnke_wkr_xwiki_tst.java @@ -20,11 +20,11 @@ import org.junit.*; public class Xop_lnke_wkr_xwiki_tst { @Before public void init() {fxt.Reset();} private Xop_fxt fxt = new Xop_fxt(); @Test public void Xwiki() { - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("en.wikipedia.org"), Bry_.new_utf8_("en.wikipedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("en.wikipedia.org"), Bry_.new_u8("en.wikipedia.org")); fxt.Test_parse_page_wiki_str("[http://en.wikipedia.org/wiki/A a]", "a"); } @Test public void Xwiki_relative() { - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("en.wikipedia.org"), Bry_.new_utf8_("en.wikipedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("en.wikipedia.org"), Bry_.new_u8("en.wikipedia.org")); fxt.Test_parse_page_wiki_str("[//en.wikipedia.org/ a]", "a"); } @Test public void Xwiki_qarg() {// DATE:2013-02-02 @@ -32,12 +32,12 @@ public class Xop_lnke_wkr_xwiki_tst { fxt.Test_parse_page_wiki_str("http://en.wikipedia.org/wiki/Special:Allpages?from=Earth", "http://en.wikipedia.org/wiki/Special:Allpages?from=Earth"); } @Test public void Lang_prefix() { - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("en.wikipedia.org"), Bry_.new_utf8_("en.wikipedia.org")); - fxt.Wiki().Xwiki_mgr().Add_full(Bry_.new_ascii_("fr"), Bry_.new_ascii_("fr.wikipedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("en.wikipedia.org"), Bry_.new_u8("en.wikipedia.org")); + fxt.Wiki().Xwiki_mgr().Add_full(Bry_.new_a7("fr"), Bry_.new_a7("fr.wikipedia.org")); fxt.Test_parse_page_wiki_str("[http://en.wikipedia.org/wiki/fr:A a]", "a"); } @Test public void Xwiki_query_arg() { - fxt.App().User().Wiki().Xwiki_mgr().Add_full(Bry_.new_utf8_("en.wikipedia.org"), Bry_.new_utf8_("en.wikipedia.org")); + fxt.App().Usere().Wiki().Xwiki_mgr().Add_full(Bry_.new_u8("en.wikipedia.org"), Bry_.new_u8("en.wikipedia.org")); fxt.Test_parse_page_wiki_str("[http://en.wikipedia.org/wiki/A?action=edit a]", "a"); } } diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/cfgs/Xoc_xwiki_repo_mgr.java b/400_xowa/src/gplx/xowa/parsers/lnkis/cfgs/Xoc_xwiki_repo_mgr.java index b8ad3daee..60ecb35bf 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkis/cfgs/Xoc_xwiki_repo_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkis/cfgs/Xoc_xwiki_repo_mgr.java @@ -17,15 +17,15 @@ along with this program. If not, see . */ package gplx.xowa.parsers.lnkis.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*; import gplx.xowa.parsers.lnkis.*; public class Xoc_xwiki_repo_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); private Xowe_wiki wiki; public Xoc_xwiki_repo_mgr(Xowe_wiki wiki) {this.wiki = wiki;} public boolean Has(byte[] abrv) { - Xoc_xwiki_repo_itm itm = (Xoc_xwiki_repo_itm)hash.Fetch(abrv); + Xoc_xwiki_repo_itm itm = (Xoc_xwiki_repo_itm)hash.Get_by(abrv); return itm != null; } public void Add_or_mod(byte[] abrv) { - Xoc_xwiki_repo_itm itm = (Xoc_xwiki_repo_itm)hash.Fetch(abrv); + Xoc_xwiki_repo_itm itm = (Xoc_xwiki_repo_itm)hash.Get_by(abrv); if (itm == null) { itm = new Xoc_xwiki_repo_itm(abrv); hash.Add(abrv, itm); diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xog_redlink_mgr.java b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xog_redlink_mgr.java index 417cb89a2..8cb4836fe 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xog_redlink_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xog_redlink_mgr.java @@ -20,7 +20,7 @@ import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.langs.vnts.*; import gplx.xowa.gui.views.*; import gplx.xowa.pages.*; import gplx.xowa.html.hdumps.core.*; public class Xog_redlink_mgr implements GfoInvkAble { private Xog_win_itm win; private Xog_html_itm html_itm; private Xowe_wiki wiki; private Xoae_page page; - private Xopg_redlink_lnki_list redlink_lnki_list; private ListAdp lnki_list; private boolean log_enabled; private Gfo_usr_dlg usr_dlg; private int thread_id; + private Xopg_redlink_lnki_list redlink_lnki_list; private List_adp lnki_list; private boolean log_enabled; private Gfo_usr_dlg usr_dlg; private int thread_id; public Xog_redlink_mgr(Xog_win_itm win, Xoae_page page, boolean log_enabled) { this.win = win; this.page = page; this.wiki = page.Wikie(); this.html_itm = page.Tab_data().Tab().Html_itm(); // NOTE: caching locally b/c page.Tab() is sometimes null @@ -37,21 +37,21 @@ public class Xog_redlink_mgr implements GfoInvkAble { public void Redlink() { synchronized (this) { // NOTE: attempt to eliminate random IndexBounds errors; DATE:2014-09-02 if (redlink_lnki_list.Disabled()) return; - ListAdp work_list = ListAdp_.new_(); - OrderedHash page_hash = OrderedHash_.new_bry_(); + List_adp work_list = List_adp_.new_(); + Ordered_hash page_hash = Ordered_hash_.new_bry_(); page_hash.Clear(); // NOTE: do not clear in Page_bgn, else will fail b/c of threading; EX: Open Page -> Preview -> Save; DATE:2013-11-17 work_list.Clear(); int len = lnki_list.Count(); - if (log_enabled) usr_dlg.Log_many("", "", "redlink.redlink_bgn: page=~{0} total_links=~{1}", String_.new_utf8_(page.Ttl().Raw()), len); + if (log_enabled) usr_dlg.Log_many("", "", "redlink.redlink_bgn: page=~{0} total_links=~{1}", String_.new_u8(page.Ttl().Raw()), len); for (int i = 0; i < len; i++) { // make a copy of list else thread issues if (win.Usr_dlg().Canceled()) return; if (redlink_lnki_list.Thread_id() != thread_id) return; - work_list.Add(lnki_list.FetchAt(i)); + work_list.Add(lnki_list.Get_at(i)); } for (int i = 0; i < len; i++) { if (win.Usr_dlg().Canceled()) return; if (redlink_lnki_list.Thread_id() != thread_id) return; - Xop_lnki_tkn lnki = (Xop_lnki_tkn)work_list.FetchAt(i); + Xop_lnki_tkn lnki = (Xop_lnki_tkn)work_list.Get_at(i); Xoa_ttl ttl = lnki.Ttl(); Xowd_page_itm db_page = new Xowd_page_itm().Ttl_(ttl); byte[] full_txt = ttl.Full_db(); @@ -72,17 +72,17 @@ public class Xog_redlink_mgr implements GfoInvkAble { Xol_vnt_mgr vnt_mgr = wiki.Lang().Vnt_mgr(); Xopg_redlink_idx_list redlink_mgr = page.Hdump_data().Redlink_mgr(); for (int j = 0; j < len; j++) { - Xop_lnki_tkn lnki = (Xop_lnki_tkn)work_list.FetchAt(j); + Xop_lnki_tkn lnki = (Xop_lnki_tkn)work_list.Get_at(j); byte[] full_db = lnki.Ttl().Full_db(); - Xowd_page_itm db_page = (Xowd_page_itm)page_hash.Fetch(full_db); + Xowd_page_itm db_page = (Xowd_page_itm)page_hash.Get_by(full_db); if (db_page == null) continue; // pages shouldn't be null, but just in case if (!db_page.Exists()) { - String lnki_id = Xopg_redlink_lnki_list.Lnki_id_prefix + Int_.Xto_str(lnki.Html_id()); + String lnki_id = Xopg_redlink_lnki_list.Lnki_id_prefix + Int_.Xto_str(lnki.Html_uid()); if (variants_enabled) { Xowd_page_itm vnt_page = vnt_mgr.Convert_ttl(wiki, lnki.Ttl()); if (vnt_page != null) { Xoa_ttl vnt_ttl = Xoa_ttl.parse_(wiki, lnki.Ttl().Ns().Id(), vnt_page.Ttl_page_db()); - html_itm.Html_atr_set(lnki_id, "href", "/wiki/" + String_.new_utf8_(vnt_ttl.Full_url())); + html_itm.Html_atr_set(lnki_id, "href", "/wiki/" + String_.new_u8(vnt_ttl.Full_url())); if (!String_.Eq(vnt_mgr.Html_style(), "")) html_itm.Html_atr_set(lnki_id, "style", vnt_mgr.Html_style()); continue; @@ -90,11 +90,11 @@ public class Xog_redlink_mgr implements GfoInvkAble { } if (log_enabled) { if (bfr == null) bfr = Bry_bfr.new_(); - bfr.Add_int_variable(lnki.Html_id()).Add_byte_pipe().Add(Xop_tkn_.Lnki_bgn).Add(full_db).Add(Xop_tkn_.Lnki_end).Add_byte(Byte_ascii.Semic).Add_byte_space(); + bfr.Add_int_variable(lnki.Html_uid()).Add_byte_pipe().Add(Xop_tkn_.Lnki_bgn).Add(full_db).Add(Xop_tkn_.Lnki_end).Add_byte(Byte_ascii.Semic).Add_byte_space(); } if (win.Usr_dlg().Canceled()) return; if (redlink_lnki_list.Thread_id() != thread_id) return; - int uid = lnki.Html_id(); + int uid = lnki.Html_uid(); gplx.xowa.files.gui.Js_img_mgr.Update_link_missing(html_itm, Xopg_redlink_lnki_list.Lnki_id_prefix + Int_.Xto_str(uid)); redlink_mgr.Add(uid); ++redlink_count; diff --git a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xopg_redlink_lnki_list.java b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xopg_redlink_lnki_list.java index 539048d53..abbba936e 100644 --- a/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xopg_redlink_lnki_list.java +++ b/400_xowa/src/gplx/xowa/parsers/lnkis/redlinks/Xopg_redlink_lnki_list.java @@ -23,11 +23,11 @@ public class Xopg_redlink_lnki_list { this.disabled = ttl_is_module; } public boolean Disabled() {return disabled;} private final boolean disabled; - public ListAdp Lnki_list() {return lnki_list;} private final ListAdp lnki_list = ListAdp_.new_(); + public List_adp Lnki_list() {return lnki_list;} private final List_adp lnki_list = List_adp_.new_(); public int Thread_id() {return thread_id;} private int thread_id = 1; public void Clear() { if (disabled) return; - lnki_idx = 1; // NOTE: must start at 1; html_wtr checks for > 0 + lnki_idx = 0; // NOTE: must start at 0, so that ++lnki_idx is > 0; html_wtr checks for > 0 lnki_list.Clear(); thread_id++; } @@ -35,7 +35,7 @@ public class Xopg_redlink_lnki_list { if (disabled) return; Xoa_ttl ttl = lnki.Ttl(); if (ttl == null) return; // occurs for invalid links Xow_ns ns = ttl.Ns(); - lnki.Html_id_(lnki_idx); // NOTE: set html_id in order html to print out "id='xowa_lnki_1'; want to print out id for consistency's sake, even if these links won't be check for redlinks; DATE:2015-05-07 + lnki.Html_uid_(++lnki_idx); // NOTE: set html_id in order html to print out "id='xowa_lnki_1'; want to print out id for consistency's sake, even if these links won't be check for redlinks; DATE:2015-05-07 if ( ns.Id_file_or_media() // ignore files which will usually not be in local wiki (most are in commons), and whose html is built up separately || (ns.Id_ctg() && !ttl.ForceLiteralLink()) // ignore ctgs which have their own html builder, unless it is literal; EX: [[:Category:A]]; DATE:2014-02-24 || ns.Id_special() // ignore special, especially Search; EX: Special:Search/Earth @@ -44,7 +44,6 @@ public class Xopg_redlink_lnki_list { ) return; lnki_list.Add(lnki); - ++lnki_idx; } public static final String Lnki_id_prefix = "xowa_lnki_"; public static final int Lnki_id_prefix_len = String_.Len(Lnki_id_prefix); diff --git a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_basic_wkr.java b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_basic_wkr.java index 383f1be4b..a34f43d47 100644 --- a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_basic_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_basic_wkr.java @@ -34,14 +34,14 @@ public class Xop_log_basic_wkr implements GfoInvkAble { public void Log_end(Xoae_page page, long log_bgn, int log_tid, byte[] log_msg, byte[] src, int src_bgn, int src_end, int args_len, int args_bgn, int args_end) { log_tbl.Insert ( log_tid - , log_msg == Xop_log_basic_wkr.Null_log_msg ? "" : String_.new_utf8_(log_msg) + , log_msg == Xop_log_basic_wkr.Null_log_msg ? "" : String_.new_u8(log_msg) , save_log_time ? Env_.TickCount_elapsed_in_frac(log_bgn) : Xop_log_basic_wkr.Null_log_time , page.Revision_data().Id() - , save_page_ttl ? String_.new_utf8_(page.Ttl().Full_db()) : Xop_log_basic_wkr.Null_page_ttl + , save_page_ttl ? String_.new_u8(page.Ttl().Full_db()) : Xop_log_basic_wkr.Null_page_ttl , save_args_len ? args_len : Xop_log_basic_wkr.Null_args_len - , save_args_str ? String_.new_utf8_(src, args_bgn, args_end) : Xop_log_basic_wkr.Null_args_str + , save_args_str ? String_.new_u8(src, args_bgn, args_end) : Xop_log_basic_wkr.Null_args_str , src_end - src_bgn - , save_src_str ? String_.new_utf8_(src, src_bgn, src_end) : Xop_log_basic_wkr.Null_src_str + , save_src_str ? String_.new_u8(src, src_bgn, src_end) : Xop_log_basic_wkr.Null_src_str ); log_mgr.Commit_chk(); } diff --git a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_invoke_wkr.java b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_invoke_wkr.java index b81b320b8..5762bc4c1 100644 --- a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_invoke_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_invoke_wkr.java @@ -44,7 +44,7 @@ public class Xop_log_invoke_wkr implements GfoInvkAble { private void Exclude_mod_names_add(String[] v) { int len = v.length; for (int i = 0; i < len; i++) { - byte[] bry = Bry_.new_utf8_(v[i]); + byte[] bry = Bry_.new_u8(v[i]); exclude_mod_names.Add_bry_bry(bry); } } diff --git a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_mgr.java b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_mgr.java index ffb704d0a..f176f65c5 100644 --- a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_mgr.java +++ b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_mgr.java @@ -32,7 +32,7 @@ public class Xop_log_mgr implements GfoInvkAble { } private Io_url log_dir; private Db_conn Conn() { if (conn == null) { - if (log_dir == null) log_dir = app.User().Fsys_mgr().App_temp_dir(); + if (log_dir == null) log_dir = app.Usere().Fsys_mgr().App_temp_dir(); Xob_db_file db_file = Xob_db_file.new__temp_log(log_dir); conn = db_file.Conn(); } diff --git a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_property_wkr.java b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_property_wkr.java index 506e2ff54..c22f5de13 100644 --- a/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_property_wkr.java +++ b/400_xowa/src/gplx/xowa/parsers/logs/Xop_log_property_wkr.java @@ -42,7 +42,7 @@ public class Xop_log_property_wkr implements GfoInvkAble { private void Include_props_add(String[] v) { int len = v.length; for (int i = 0; i < len; i++) { - byte[] bry = Bry_.new_utf8_(v[i]); + byte[] bry = Bry_.new_u8(v[i]); include_props.Add_bry_bry(bry); } include_all = false; // set include_all to false, since specific items added diff --git a/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java index ebf892017..8bdef2f58 100644 --- a/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java +++ b/400_xowa/src/gplx/xowa/parsers/tblws/Xop_tblw_lxr.java @@ -129,7 +129,7 @@ public class Xop_tblw_lxr implements Xop_lxr { core_trie.Add(Hook_th2, new Xop_tblw_lxr(Xop_tblw_wkr.Tblw_type_th2)); } public void Init_by_lang(Xol_lang lang, Btrie_fast_mgr core_trie) {} - public static final byte[] Hook_tb = Bry_.new_ascii_("\n{|"), Hook_te = Bry_.new_ascii_("\n|}"), Hook_tr = Bry_.new_ascii_("\n|-") - , Hook_td = Bry_.new_ascii_("\n|"), Hook_th = Bry_.new_ascii_("\n!"), Hook_tc = Bry_.new_ascii_("\n|+") - , Hook_td2 = Bry_.new_ascii_("||"), Hook_th2 = Bry_.new_ascii_("!!"); + public static final byte[] Hook_tb = Bry_.new_a7("\n{|"), Hook_te = Bry_.new_a7("\n|}"), Hook_tr = Bry_.new_a7("\n|-") + , Hook_td = Bry_.new_a7("\n|"), Hook_th = Bry_.new_a7("\n!"), Hook_tc = Bry_.new_a7("\n|+") + , Hook_td2 = Bry_.new_a7("||"), Hook_th2 = Bry_.new_a7("!!"); } 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 index cca9cb36e..353a6f031 100644 --- 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 @@ -60,7 +60,7 @@ public class Xop_tblw_lxr_ws { } 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 byte[] Hook_tb = Bry_.new_a7("{|"), Hook_te = Bry_.new_a7("|}"), Hook_tr = Bry_.new_a7("|-") + , Hook_th = Bry_.new_a7("!"), Hook_tc = Bry_.new_a7("|+"); public static final int Tblw_ws_cell_pipe = -1; } 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 dec03cbbd..e303733a1 100644 --- a/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java +++ b/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java @@ -79,7 +79,7 @@ public class Gxw_html_server implements Gxw_html { private String Exec(String s) { if (wtr == null) return ""; // HACK: handles http_server s = "(function () {" + s + "})();"; // NOTE: dependent on firefox addon which does 'var result = Function("with(arguments[0]){return "+cmd_text+"}")(session.window);'; DATE:2014-01-28 - Xosrv_msg msg = Xosrv_msg.new_(Xosrv_cmd_types.Browser_exec, Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.new_utf8_(s)); + Xosrv_msg msg = Xosrv_msg.new_(Xosrv_cmd_types.Browser_exec, Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.Empty, Bry_.new_u8(s)); usr_dlg.Note_many("", "", "sending browser.js: msg=~{0}", s); wtr.Write(msg); return ""; diff --git a/400_xowa/src/gplx/xowa/servers/http/Http_server_mgr.java b/400_xowa/src/gplx/xowa/servers/http/Http_server_mgr.java index f70c3f8b0..6cdfbf86d 100644 --- a/400_xowa/src/gplx/xowa/servers/http/Http_server_mgr.java +++ b/400_xowa/src/gplx/xowa/servers/http/Http_server_mgr.java @@ -72,16 +72,16 @@ public class Http_server_mgr implements GfoInvkAble { } public String Parse_page_to_html(Xoae_app app, String wiki_domain_str, String page_ttl_str) { Init_gui(); - byte[] wiki_domain = Bry_.new_utf8_(wiki_domain_str); - byte[] page_ttl = Bry_.new_utf8_(page_ttl_str); + byte[] wiki_domain = Bry_.new_u8(wiki_domain_str); + byte[] page_ttl = Bry_.new_u8(page_ttl_str); Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(wiki_domain); // get the wiki Xoa_url page_url = app.Url_parser().Parse(page_ttl); // get the url (needed for query args) Xoa_ttl ttl = Xoa_ttl.parse_(wiki, page_ttl); // get the ttl - Xoae_page page = wiki.GetPageByTtl(page_url, ttl); // get page and parse it + Xoae_page page = wiki.Load_page_by_ttl(page_url, ttl); // get page and parse it Gxw_html_server.Assert_tab(app, page); // HACK: assert at least 1 tab app.Gui_mgr().Browser_win().Active_page_(page); // HACK: init gui_mgr's page for output (which server ordinarily doesn't need) if (page.Missing()) { // if page does not exist, replace with message; else null_ref error; DATE:2014-03-08 - page.Data_raw_(Bry_.new_ascii_("'''Page not found.'''")); + page.Data_raw_(Bry_.new_a7("'''Page not found.'''")); wiki.ParsePage(page, false); } byte[] output_html = wiki.Html_mgr().Page_wtr_mgr().Gen(page, Xopg_view_mode.Tid_read); // write html from page data @@ -95,7 +95,7 @@ public class Http_server_mgr implements GfoInvkAble { } break; } - return String_.new_utf8_(output_html); + return String_.new_u8(output_html); } private void Note(String s) { usr_dlg.Prog_many("", "", s); @@ -222,7 +222,7 @@ class HttpRequest implements Runnable{ String home_url = app.Http_server().Home();; if (String_.HasAtBgn(home_url, "file://")) { Io_url file_url = Io_url_.http_any_(home_url, Op_sys.Cur().Tid_is_wnt()); - String page_html = Io_mgr._.LoadFilStr(file_url); + String page_html = Io_mgr.I.LoadFilStr(file_url); Write_page(dos, page_html, app_root_dir, wiki_domain); } else diff --git a/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr_.java b/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr_.java index cd76077ce..de9dd81e3 100644 --- a/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr_.java +++ b/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr_.java @@ -26,12 +26,12 @@ class Http_server_wkr_ { else if (req_array.length == 3) mode = 2; if (mode == -1) return req; // not a link to a Main Page; EX:localhost:8080/en.wikipedia.org/wiki/Earth if (req_array.length < 3) return req; // shouldn't happen; EX: "localhost:8080wiki" - byte[] wiki_domain = Bry_.new_utf8_(req_array[1]); + byte[] wiki_domain = Bry_.new_u8(req_array[1]); Xow_domain domain_itm = Xow_domain_.parse(wiki_domain); - if (domain_itm.Domain_tid() == Xow_domain_.Tid_int_other && domain_itm.Lang_itm().Id() == Xol_lang_itm_.Id__intl) return req; + if (domain_itm.Domain_tid() == Xow_domain_type_.Tid_other && domain_itm.Lang_itm().Id() == Xol_lang_itm_.Id__intl) return req; Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(wiki_domain); wiki.Init_assert(); - String main_page = String_.new_utf8_(wiki.Props().Main_page()); + String main_page = String_.new_u8(wiki.Props().Main_page()); if (mode == 1) main_page = "/" + main_page; else if (mode == 2) main_page = "wiki/" + main_page; return req + main_page; diff --git a/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr__tst.java b/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr__tst.java index 8a75074e8..b56df6242 100644 --- a/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr__tst.java +++ b/400_xowa/src/gplx/xowa/servers/http/Http_server_wkr__tst.java @@ -33,8 +33,8 @@ class Http_server_wkr__fxt { this.app = Xoa_app_fxt.app_(); } public void Init_wiki_main_page(String domain, String main_page) { - Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_utf8_(domain)); - wiki.Props().Main_page_(Bry_.new_utf8_(main_page)); + Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(Bry_.new_u8(domain)); + wiki.Props().Main_page_(Bry_.new_u8(main_page)); } public void Test_assert_main_page(String url, String expd) { Tfds.Eq(expd, Http_server_wkr_.Assert_main_page(app, url)); diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_cmd_types.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_cmd_types.java index 772783357..a4cf1d363 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_cmd_types.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_cmd_types.java @@ -18,8 +18,8 @@ along with this program. If not, see . package gplx.xowa.servers.tcp; import gplx.*; import gplx.xowa.*; import gplx.xowa.servers.*; public class Xosrv_cmd_types { public static final byte[] - Cmd_exec = Bry_.new_ascii_("xowa.cmd.exec") , Cmd_pass = Bry_.new_ascii_("xowa.cmd.result") , Cmd_fail = Bry_.new_ascii_("xowa.cmd.error") - , Js_exec = Bry_.new_ascii_("xowa.js.exec") , Js_pass = Bry_.new_ascii_("xowa.js.result") , Js_fail = Bry_.new_ascii_("xowa.js.error") - , Browser_exec = Bry_.new_ascii_("browser.js.exec"), Browser_pass = Bry_.new_ascii_("browser.js.result") , Browser_fail = Bry_.new_ascii_("browser.js.error") + Cmd_exec = Bry_.new_a7("xowa.cmd.exec") , Cmd_pass = Bry_.new_a7("xowa.cmd.result") , Cmd_fail = Bry_.new_a7("xowa.cmd.error") + , Js_exec = Bry_.new_a7("xowa.js.exec") , Js_pass = Bry_.new_a7("xowa.js.result") , Js_fail = Bry_.new_a7("xowa.js.error") + , Browser_exec = Bry_.new_a7("browser.js.exec"), Browser_pass = Bry_.new_a7("browser.js.result") , Browser_fail = Bry_.new_a7("browser.js.error") ; } diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg.java index a6f2b09de..dc469f002 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg.java @@ -40,7 +40,7 @@ public class Xosrv_msg { public static final Xosrv_msg Exit = new Xosrv_msg(); public static Xosrv_msg fail_(String fmt, Object... ary) { Xosrv_msg rv = new Xosrv_msg(); - rv.msg_text = Bry_.new_utf8_(String_.Format(fmt, ary)); + rv.msg_text = Bry_.new_u8(String_.Format(fmt, ary)); return rv; } public static Xosrv_msg new_(byte[] cmd_name, byte[] msg_id, byte[] sender, byte[] recipient, byte[] msg_date, byte[] msg_text) { diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java index 0e799c73a..8dc9e84bf 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java @@ -25,12 +25,12 @@ public class Xosrv_msg_rdr { int bytes_read = rdr.Read(header_bry, 0, 24); // 24 = version(1) + pipe + msg_len (10) + pipe + cksum (10) + pipe if (bytes_read < 24) { if (bytes_read == -1) return Xosrv_msg.Exit; // stream closed; should only occur when shutting down - else return Xosrv_msg.fail_("header is invalid; hdr:{0}", String_.new_utf8_(header_bry, 0, bytes_read)); + else return Xosrv_msg.fail_("header is invalid; hdr:{0}", String_.new_u8(header_bry, 0, bytes_read)); } byte version = header_bry[0]; if (version != Byte_ascii.Num_0) return Xosrv_msg.fail_("version must be 0; version:{0}", Byte_.Xto_str(version)); - int body_len = Bry_.Xto_int_or(header_bry, 2, 12, -1); if (body_len == -1) return Xosrv_msg.fail_("body_len is not number; body_len:{0}", String_.new_utf8_(header_bry, 2, 23)); - int cksum = Bry_.Xto_int_or(header_bry, 13, 23, -1); if (cksum == -1) return Xosrv_msg.fail_("checksum is not number; cksum:{0}", String_.new_utf8_(header_bry, 13, 23)); - if (!Chk_bytes(header_bry, Byte_ascii.Pipe, 1, 12, 23)) return Xosrv_msg.fail_("message should be delimited by pipes at 1, 12 and 23; message:{0}", String_.new_utf8_(header_bry, 0, 24)); + int body_len = Bry_.Xto_int_or(header_bry, 2, 12, -1); if (body_len == -1) return Xosrv_msg.fail_("body_len is not number; body_len:{0}", String_.new_u8(header_bry, 2, 23)); + int cksum = Bry_.Xto_int_or(header_bry, 13, 23, -1); if (cksum == -1) return Xosrv_msg.fail_("checksum is not number; cksum:{0}", String_.new_u8(header_bry, 13, 23)); + if (!Chk_bytes(header_bry, Byte_ascii.Pipe, 1, 12, 23)) return Xosrv_msg.fail_("message should be delimited by pipes at 1, 12 and 23; message:{0}", String_.new_u8(header_bry, 0, 24)); if (cksum != (body_len * 2) + 1) return Xosrv_msg.fail_("checksum failed; body_len:{0} chksum:{1}", body_len, cksum); byte[] body_bry = body_len > default_body_bry_len ? new byte[body_len] : default_body_bry; rdr.Read(body_bry, 0, body_len); @@ -50,7 +50,7 @@ public class Xosrv_msg_rdr { fld_bgn.Val_(fld_end + 1); // +1 to place after pipe return rv; } - private static Xosrv_msg Read_fld_fail(String_obj_ref fld_name, byte[] body_bry) {return Xosrv_msg.fail_("pipe not found for " + fld_name.Val() + "; body:{0}", String_.new_utf8_(body_bry));} + private static Xosrv_msg Read_fld_fail(String_obj_ref fld_name, byte[] body_bry) {return Xosrv_msg.fail_("pipe not found for " + fld_name.Val() + "; body:{0}", String_.new_u8(body_bry));} private static boolean Chk_bytes(byte[] bry, byte expd, int... pos_ary) { int len = pos_ary.length; int bry_len = bry.length; 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 3caaef738..34ee625cf 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 @@ -39,22 +39,22 @@ class Xosrv_msg_rdr_fxt { return this; } private Xosrv_msg_rdr msg_rdr; private IoStream_mock msg_rdr_stream; public Xosrv_msg Test_parse_msg(String raw, String expd_cmd, String expd_id, String expd_sender, String expd_recipient, String expd_date, String expd_text) { - byte[] raw_bry = Bry_.new_ascii_(raw); + byte[] raw_bry = Bry_.new_a7(raw); msg_rdr_stream.Data_bry_(raw_bry).Read_limit_(raw_bry.length); Xosrv_msg msg = msg_rdr.Read(); - Tfds.Eq(String_.new_ascii_(msg.Cmd_name()) , expd_cmd); - Tfds.Eq(String_.new_ascii_(msg.Msg_id()) , expd_id); - Tfds.Eq(String_.new_ascii_(msg.Sender()) , expd_sender); - Tfds.Eq(String_.new_ascii_(msg.Recipient()) , expd_recipient); - Tfds.Eq(String_.new_ascii_(msg.Msg_date()) , expd_date); - Tfds.Eq(String_.new_ascii_(msg.Msg_text()) , expd_text); + Tfds.Eq(String_.new_a7(msg.Cmd_name()) , expd_cmd); + Tfds.Eq(String_.new_a7(msg.Msg_id()) , expd_id); + Tfds.Eq(String_.new_a7(msg.Sender()) , expd_sender); + Tfds.Eq(String_.new_a7(msg.Recipient()) , expd_recipient); + Tfds.Eq(String_.new_a7(msg.Msg_date()) , expd_date); + Tfds.Eq(String_.new_a7(msg.Msg_text()) , expd_text); return msg; } public void Test_parse_err(String raw, String expd_err) { - byte[] raw_bry = Bry_.new_ascii_(raw); + byte[] raw_bry = Bry_.new_a7(raw); msg_rdr_stream.Data_bry_(raw_bry).Read_limit_(raw_bry.length); Xosrv_msg msg = msg_rdr.Read(); - String msg_text = String_.new_ascii_(msg.Msg_text()); + String msg_text = String_.new_a7(msg.Msg_text()); Tfds.Eq_true(String_.HasAtBgn(msg_text, expd_err), msg_text); } public void Test_print(Xosrv_msg msg, String expd) { diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java index c3afe20c6..cf214eb78 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java @@ -52,12 +52,12 @@ public class Xosrv_server implements GfoInvkAble { long time_bgn = Env_.TickCount(); last_cmd = time_bgn; byte[] msg_bry = msg.Msg_text(); - String msg_str = String_.new_utf8_(msg_bry); + String msg_str = String_.new_u8(msg_bry); app.Usr_dlg().Note_many("", "", "processing cmd: ~{0}", msg_str); String rsp_str = null; if (Bry_.Eq(cmd_name, Xosrv_cmd_types.Cmd_exec)) {rsp_name = Xosrv_cmd_types.Cmd_pass; rsp_str = Exec_cmd(msg_str);} else if (Bry_.Eq(cmd_name, Xosrv_cmd_types.Js_exec)) {rsp_name = Xosrv_cmd_types.Js_pass; rsp_str = Exec_js(msg.Sender(), msg_bry);} - Xosrv_msg rsp_msg = Xosrv_msg.new_(rsp_name, msg.Msg_id(), msg.Recipient(), msg.Sender(), msg.Msg_date(), Bry_.new_utf8_(rsp_str)); + Xosrv_msg rsp_msg = Xosrv_msg.new_(rsp_name, msg.Msg_id(), msg.Recipient(), msg.Sender(), msg.Msg_date(), Bry_.new_u8(rsp_str)); app.Usr_dlg().Note_many("", "", "sending rsp: bytes=~{0}", String_.Len(rsp_str)); wtr.Write(rsp_msg); app.Usr_dlg().Note_many("", "", "rsp sent: elapsed=~{0}", TimeSpanAdp_.fracs_(Env_.TickCount() - time_bgn).XtoStrUiAbbrv()); @@ -79,7 +79,7 @@ public class Xosrv_server implements GfoInvkAble { trace.Val_("json_write: " + Object_.Xto_str_strict_or_null_mark(rv_obj)); return json_wtr.Write_root(Bry_xowa_js_result, rv_obj).Bld_as_str(); } catch (Exception e) {throw Err_.err_(e, "exec_js error: {0} {1} {2}", trace, msg_text, Err_.Message_gplx(e));} - } private Xosrv_xowa_exec_parser xowa_exec_parser = new Xosrv_xowa_exec_parser(); private Json_doc_srl json_wtr = new Json_doc_srl(); private static final byte[] Bry_xowa_js_result = Bry_.new_ascii_("xowa_js_result"); + } private Xosrv_xowa_exec_parser xowa_exec_parser = new Xosrv_xowa_exec_parser(); private Json_doc_srl json_wtr = new Json_doc_srl(); private static final byte[] Bry_xowa_js_result = Bry_.new_a7("xowa_js_result"); public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_rdr_port)) return rdr_port; else if (ctx.Match(k, Invk_rdr_port_)) rdr_port = m.ReadInt("v"); @@ -113,13 +113,13 @@ class Xosrv_xowa_exec_parser { private Object Parse_ary_itm(Json_itm itm) { switch (itm.Tid()) { case Json_itm_.Tid_string: - return String_.new_utf8_(itm.Data_bry()); + return String_.new_u8(itm.Data_bry()); case Json_itm_.Tid_array: Json_itm_ary ary = (Json_itm_ary)itm; int len = ary.Subs_len(); String[] rv = new String[len]; for (int i = 0; i < len; i++) - rv[i] = String_.new_utf8_(ary.Subs_get_at(i).Data_bry()); + rv[i] = String_.new_u8(ary.Subs_get_at(i).Data_bry()); return rv; default: throw Err_.unhandled(itm.Tid()); diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server_tst.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server_tst.java index af9908a76..5061bf929 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server_tst.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server_tst.java @@ -34,7 +34,7 @@ class Xosrv_server_fxt { return this; } private Xoae_app app; public void Test_exec_js(String raw, String expd) { - String actl = app.Tcp_server().Exec_js(null, Bry_.new_ascii_(raw)); + String actl = app.Tcp_server().Exec_js(null, Bry_.new_a7(raw)); Tfds.Eq(expd, actl); } } diff --git a/400_xowa/src/gplx/xowa/setup/addons/Xoi_firefox_installer.java b/400_xowa/src/gplx/xowa/setup/addons/Xoi_firefox_installer.java index 4f4fe5e2a..77b4ba1a2 100644 --- a/400_xowa/src/gplx/xowa/setup/addons/Xoi_firefox_installer.java +++ b/400_xowa/src/gplx/xowa/setup/addons/Xoi_firefox_installer.java @@ -33,16 +33,16 @@ public class Xoi_firefox_installer implements GfoInvkAble { program.Run(trg_xpi.Raw()); } public void Generate() { - Io_mgr._.CopyFil(src_xpi, trg_xpi, true); + Io_mgr.I.CopyFil(src_xpi, trg_xpi, true); Io_zip_mgr_base._.Unzip_to_dir(trg_xpi, trg_xpi_package); Pref_gen(); Io_zip_mgr_base._.Zip_dir(trg_xpi_package, trg_xpi); } private void Pref_gen() { Io_url prefs_fil = trg_xpi_package.GenSubFil_nest("defaults", "preferences", "prefs.js"); - String prefs_str = Io_mgr._.LoadFilStr(prefs_fil); + String prefs_str = Io_mgr.I.LoadFilStr(prefs_fil); prefs_str = Pref_update(prefs_str, "extensions.xowa_viewer.xowa_app", Env_.AppUrl().Raw()); - Io_mgr._.SaveFilStr(prefs_fil, prefs_str); + Io_mgr.I.SaveFilStr(prefs_fil, prefs_str); } public static String Pref_update(String src, String key, String val) { String find = String_.Format("pref(\"{0}\"", key); // EX: 'pref("key"' diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_itm.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_itm.java index b6730e68f..c2d890709 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_itm.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_itm.java @@ -32,6 +32,6 @@ public class Wmf_dump_itm implements gplx.CompareAble { } private byte[] status_msg; public byte Status_tid() {return status_tid;} private byte status_tid; public int compareTo(Object obj) {Wmf_dump_itm comp = (Wmf_dump_itm)obj; return Bry_.Compare(wiki_abrv, comp.wiki_abrv);} - private static byte[] Status_msg_dump_complete = Bry_.new_ascii_("Dump complete"), Status_msg_dump_in_progress = Bry_.new_ascii_("Dump in progress"); + private static byte[] Status_msg_dump_complete = Bry_.new_a7("Dump complete"), Status_msg_dump_in_progress = Bry_.new_a7("Dump in progress"); public static final byte Status_tid_complete = 0, Status_tid_working = 1, Status_tid_error = 2; } \ No newline at end of file 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 fb75c13de..3674431ef 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 @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.setup.maints; import gplx.*; import gplx.xowa.*; import gplx.xowa.setup.*; public class Wmf_dump_list_parser { public Wmf_dump_itm[] Parse(byte[] src) { - OrderedHash itms = OrderedHash_.new_bry_(); + Ordered_hash itms = Ordered_hash_.new_bry_(); int pos = 0; while (true) { int a_pos = Bry_finder.Find_fwd(src, Find_anchor, pos); if (a_pos == Bry_.NotFound) break; // no more anchors found @@ -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.Xto_ary(Wmf_dump_itm.class); + return (Wmf_dump_itm[])itms.To_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 @@ -42,7 +42,7 @@ public class Wmf_dump_list_parser { int date_end = href_bry.length; int date_bgn = Bry_finder.Find_bwd(href_bry, Byte_ascii.Slash); if (date_bgn == Bry_.NotFound) return false; byte[] date_bry = Bry_.Mid(href_bry, date_bgn + 1, date_end); - DateAdp date = DateAdp_.parse_fmt(String_.new_ascii_(date_bry), "yyyyMMdd"); + DateAdp date = DateAdp_.parse_fmt(String_.new_a7(date_bry), "yyyyMMdd"); itm.Dump_date_(date); int abrv_end = date_bgn; int abrv_bgn = Bry_finder.Find_bwd(href_bry, Byte_ascii.Slash, abrv_end); if (abrv_bgn == Bry_.NotFound) abrv_bgn = -1; // "enwiki/20130708" @@ -54,7 +54,7 @@ public class Wmf_dump_list_parser { int li_pos = Bry_finder.Find_bwd(src, Find_li, a_pos); if (li_pos == Bry_.NotFound) return null; int bgn = Bry_finder.Find_fwd(src, Byte_ascii.Gt, li_pos + Find_li.length); if (bgn == Bry_.NotFound) return null; byte[] rv_bry = Bry_.Mid(src, bgn + 1, a_pos); - return DateAdp_.parse_fmt(String_.Trim(String_.new_ascii_(rv_bry)), "yyyy-MM-dd HH:mm:ss"); + return DateAdp_.parse_fmt(String_.Trim(String_.new_a7(rv_bry)), "yyyy-MM-dd HH:mm:ss"); } private byte[] Parse_status_msg(byte[] src, int a_pos) { int span_pos = Bry_finder.Find_fwd(src, Find_span_bgn, a_pos); if (span_pos == Bry_.NotFound) return null; @@ -63,10 +63,10 @@ public class Wmf_dump_list_parser { return Bry_.Mid(src, bgn + 1, end); } private static byte[] - Find_anchor = Bry_.new_ascii_("") + Find_anchor = Bry_.new_a7("") ; } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser_tst.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser_tst.java index eaa69bb84..b48721411 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser_tst.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_dump_list_parser_tst.java @@ -49,7 +49,7 @@ public class Wmf_dump_list_parser_tst { // , "usability.wikipedia.org", "vote.wikipedia.org" // , "bd.wikimedia.org", "dk.wikimedia.org", "mx.wikimedia.org", "nyc.wikimedia.org", "nz.wikimedia.org", "pa-us.wikimedia.org", "rs.wikimedia.org", "ua.wikimedia.org" // ); -// Wmf_dump_itm[] itms = new Wmf_dump_list_parser().Parse(Io_mgr._.LoadFilBry("C:\\xowa\\bin\\any\\html\\xowa\\maint\\backup-index.html")); +// Wmf_dump_itm[] itms = new Wmf_dump_list_parser().Parse(Io_mgr.I.LoadFilBry("C:\\xowa\\bin\\any\\html\\xowa\\maint\\backup-index.html")); // Array_.Sort(itms); // Bry_bfr sql_bfr = Bry_bfr.new_(); // Bry_bfr bld_bfr = Bry_bfr.new_(); @@ -58,13 +58,13 @@ public class Wmf_dump_list_parser_tst { // for (int i = 0; i < itms_len; i++) { // Wmf_dump_itm itm = itms[i]; // byte[] abrv = itm.Wiki_abrv(); -// if (Bry_.Eq(abrv, Bry_.new_ascii_("testwikidatawiki"))) continue; +// if (Bry_.Eq(abrv, Bry_.new_a7("testwikidatawiki"))) continue; // byte[] domain_bry = Xow_wiki_alias.Parse__domain_name(abrv, 0, abrv.length); // if (domain_bry == null) continue; // not a standard WMF wiki; ignore -// if (Bry_finder.Find_fwd(domain_bry, Bry_.new_ascii_("wikimania")) != Bry_.NotFound) continue; +// if (Bry_finder.Find_fwd(domain_bry, Bry_.new_a7("wikimania")) != Bry_.NotFound) continue; // if (excluded_domains.Has(domain_bry)) continue; // Xow_domain domain_itm = Xow_domain_.parse(domain_bry); -// byte[] tid_name = Xto_display_name(Xow_domain_.Tid__get_bry(domain_itm.Domain_tid())); +// byte[] tid_name = Xto_display_name(Xow_domain_type_.Get_type_as_bry(domain_itm.Domain_tid())); // sql_bfr // .Add_byte(Byte_ascii.Paren_bgn) // .Add_int_variable(counter++) @@ -80,7 +80,7 @@ public class Wmf_dump_list_parser_tst { // .Add_byte(Byte_ascii.Apos) // .Add_byte(Byte_ascii.Paren_end) // .Add_byte(Byte_ascii.Comma) -// .Add_str("--" + String_.new_utf8_(abrv)) +// .Add_str("--" + String_.new_u8(abrv)) // .Add_byte_nl() // ; // bld_bfr @@ -93,13 +93,13 @@ public class Wmf_dump_list_parser_tst { // ; // } // Io_url temp = Io_url_.new_fil_("C:\\import_update.txt"); -// Io_mgr._.SaveFilBfr(temp, sql_bfr); -//// Io_mgr._.AppendFilBfr(temp, bld_bfr); +// Io_mgr.I.SaveFilBfr(temp, sql_bfr); +//// Io_mgr.I.AppendFilBfr(temp, bld_bfr); // } // private static byte[] Xto_display_name(byte[] v) { -// if (Bry_.Eq(v, Xow_domain_.Tid_bry_wikimediafoundation)) return Bry_.new_ascii_("Wikimedia Foundation"); -// else if (Bry_.Eq(v, Xow_domain_.Tid_bry_species)) return Bry_.new_ascii_("Wikispecies"); -// else if (Bry_.Eq(v, Xow_domain_.Tid_bry_mediawiki)) return Bry_.new_ascii_("MediaWiki"); +// if (Bry_.Eq(v, Xow_domain_type_.Key_bry_wmforg)) return Bry_.new_a7("Wikimedia Foundation"); +// else if (Bry_.Eq(v, Xow_domain_type_.Key_bry_species)) return Bry_.new_a7("Wikispecies"); +// else if (Bry_.Eq(v, Xow_domain_type_.Key_bry_mediawiki)) return Bry_.new_a7("MediaWiki"); // else return Bry_.Add(Byte_ascii.Case_upper(v[0]), Bry_.Mid(v, 1, v.length)); // } } @@ -114,7 +114,7 @@ class Wmf_dump_list_parser_fxt { ); } public void Test_parse(String raw, String... expd) { - Wmf_dump_itm[] actl = parser.Parse(Bry_.new_ascii_(raw)); + Wmf_dump_itm[] actl = parser.Parse(Bry_.new_a7(raw)); Tfds.Eq_str_lines(String_.Concat_lines_nl(expd), String_.Concat_lines_nl(Xto_str(actl))); } public String[] Xto_str(Wmf_dump_itm[] ary) { @@ -127,9 +127,9 @@ class Wmf_dump_list_parser_fxt { public static String Xto_str(Wmf_dump_itm itm) { DateAdp status_time = itm.Status_time(); String status_time_str = status_time == null ? "" : status_time.XtoStr_fmt(DateAdp_.Fmt_iso8561_date_time); - return String_.Concat_with_str("\n", String_.new_ascii_(itm.Wiki_abrv()), itm.Dump_date().XtoStr_fmt("yyyyMMdd") + return String_.Concat_with_str("\n", String_.new_a7(itm.Wiki_abrv()), itm.Dump_date().XtoStr_fmt("yyyyMMdd") , Byte_.Xto_str(itm.Status_tid()) - , String_.new_ascii_(itm.Status_msg()) + , String_.new_a7(itm.Status_msg()) , status_time_str ); diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java index 9bb007ae1..34da23303 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java @@ -18,26 +18,26 @@ along with this program. If not, see . package gplx.xowa.setup.maints; import gplx.*; import gplx.xowa.*; import gplx.xowa.setup.*; import gplx.core.btries.*; import gplx.ios.*; public class Wmf_latest_parser { - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public int Count() {return hash.Count();} - public Wmf_latest_itm Get_at(int i) {return (Wmf_latest_itm)hash.FetchAt(i);} - public Wmf_latest_itm Get_by(byte[] k) {return (Wmf_latest_itm)hash.Fetch(k);} - public Wmf_latest_itm[] Xto_ary() {return (Wmf_latest_itm[])hash.Xto_ary(Wmf_latest_itm.class);} + public Wmf_latest_itm Get_at(int i) {return (Wmf_latest_itm)hash.Get_at(i);} + public Wmf_latest_itm Get_by(byte[] k) {return (Wmf_latest_itm)hash.Get_by(k);} + public Wmf_latest_itm[] To_ary() {return (Wmf_latest_itm[])hash.To_ary(Wmf_latest_itm.class);} public void Parse(byte[] src) { hash.Clear(); Bry_bfr tmp_bfr = Bry_bfr.reset_(255); - byte[] name_bgn_bry = Bry_.new_ascii_("\n"); - byte[] date_end_bry = Bry_.new_ascii_(" "); -// byte[] size_bgn_bry = Bry_.new_ascii_("
  • "); + byte[] name_bgn_bry = Bry_.new_a7("\n"); + byte[] date_end_bry = Bry_.new_a7(" "); +// byte[] size_bgn_bry = Bry_.new_a7(""); Btrie_slim_mgr date_trie = Btrie_slim_mgr.cs_() .Add_bry("Jan", "01").Add_bry("Feb", "02").Add_bry("Mar", "03").Add_bry("Apr", "04").Add_bry("May", "05").Add_bry("Jun", "06") .Add_bry("Jul", "07").Add_bry("Aug", "08").Add_bry("Sep", "09").Add_bry("Oct", "10").Add_bry("Nov", "11").Add_bry("Dec", "12") ; // Btrie_slim_mgr size_trie = Btrie_slim_mgr.cs_() // .Add_bry("B", " B").Add_bry("K", " KB").Add_bry("M", " MB").Add_bry("G", " GB"); - byte[] date_or = Bry_.new_ascii_("1970-01-01 00:00:00"); -// byte[] size_or = Bry_.new_ascii_("0 B"); + byte[] date_or = Bry_.new_a7("1970-01-01 00:00:00"); +// byte[] size_or = Bry_.new_a7("0 B"); int size_end = 0; int src_len = src.length; while (true) { int name_bgn = Bry_finder.Move_fwd(src, name_bgn_bry, size_end, src_len); if (name_bgn == Bry_finder.Not_found) break; @@ -47,11 +47,11 @@ public class Wmf_latest_parser { date_bgn = Bry_finder.Find_fwd_while_space_or_tab(src, date_bgn, src_len); if (date_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_.I.Warn_many("", "", "date_bgn not found"); break;} int date_end = Bry_finder.Find_fwd(src, date_end_bry, date_bgn, src_len); byte[] date_bry = Bry_.Mid(src, date_bgn, date_end); - DateAdp date = DateAdp_.parse_fmt(String_.new_ascii_(Replace_or(tmp_bfr, date_trie, date_bry, 3, date_or)), "dd-MM-yyyy HH:mm"); + DateAdp date = DateAdp_.parse_fmt(String_.new_a7(Replace_or(tmp_bfr, date_trie, date_bry, 3, date_or)), "dd-MM-yyyy HH:mm"); int size_bgn = Bry_finder.Find_fwd_while_space_or_tab(src, date_end, src_len); if (size_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_.I.Warn_many("", "", "size_bgn not found"); break;} size_end = Bry_finder.Find_fwd(src, Byte_ascii.CarriageReturn, size_bgn, src_len); byte[] size_bry = Bry_.Mid(src, size_bgn, size_end); - long size = Long_.parse_or_(String_.new_utf8_(size_bry), -1); + long size = Long_.parse_or_(String_.new_u8(size_bry), -1); Wmf_latest_itm itm = new Wmf_latest_itm(name, date, size); hash.Add(name, itm); } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java index c5bd44ab6..a0bf03431 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java @@ -27,17 +27,17 @@ public class Wmf_latest_parser_tst { } // @Test public void Smoke() { // Wmf_latest_parser parser = new Wmf_latest_parser(); -// parser.Parse(Io_mgr._.LoadFilBry("C:\\wmf_latest.html")); -// Tfds.Write(String_.Concat_lines_nl(Wmf_latest_parser_fxt.Xto_str_ary(parser.Xto_ary()))); +// parser.Parse(Io_mgr.I.LoadFilBry("C:\\wmf_latest.html")); +// Tfds.Write(String_.Concat_lines_nl(Wmf_latest_parser_fxt.Xto_str_ary(parser.To_ary()))); // } } class Wmf_latest_parser_fxt { public void Clear() {} private Wmf_latest_parser parser = new Wmf_latest_parser(); - public Wmf_latest_itm itm(String name, String date, String size) {return new Wmf_latest_itm(Bry_.new_ascii_(name), DateAdp_.parse_iso8561(date), Io_size_.parse_or_(size, 0));} + public Wmf_latest_itm itm(String name, String date, String size) {return new Wmf_latest_itm(Bry_.new_a7(name), DateAdp_.parse_iso8561(date), Io_size_.parse_or_(size, 0));} public void Test_parse(String raw, Wmf_latest_itm... expd) { - parser.Parse(Bry_.new_ascii_(raw)); - Wmf_latest_itm[] actl = parser.Xto_ary(); + parser.Parse(Bry_.new_a7(raw)); + Wmf_latest_itm[] actl = parser.To_ary(); Tfds.Eq_str_lines(String_.Concat_lines_nl(Xto_str_ary(expd)), String_.Concat_lines_nl(Xto_str_ary(actl))); } public static String[] Xto_str_ary(Wmf_latest_itm[] ary) { @@ -48,6 +48,6 @@ class Wmf_latest_parser_fxt { return rv; } public static String Xto_str(Wmf_latest_itm itm) { - return String_.Concat_with_str("\n", String_.new_ascii_(itm.Name()), itm.Date().XtoStr_fmt_iso_8561(), Io_size_.Xto_str(itm.Size())); + return String_.Concat_with_str("\n", String_.new_a7(itm.Name()), itm.Date().XtoStr_fmt_iso_8561(), Io_size_.To_str(itm.Size())); } } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_mgr.java b/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_mgr.java index f1f5c1cf3..c69ac44ee 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_mgr.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_mgr.java @@ -50,7 +50,7 @@ public class Xoa_maint_mgr implements GfoInvkAble { public boolean Wmf_status_parse() { Wmf_dump_list_parser parser = new Wmf_dump_list_parser(); Hash_adp_bry itms_hash = Hash_adp_bry.cs_(); - Wmf_dump_itm[] itms = parser.Parse(Io_mgr._.LoadFilBry(wmf_dump_status_url)); + Wmf_dump_itm[] itms = parser.Parse(Io_mgr.I.LoadFilBry(wmf_dump_status_url)); int len = itms.length; for (int i = 0; i < len; i++) { Wmf_dump_itm itm = itms[i]; diff --git a/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_wikis_mgr.java b/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_wikis_mgr.java index bcfdfa409..427f92aba 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_wikis_mgr.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Xoa_maint_wikis_mgr.java @@ -18,20 +18,20 @@ along with this program. If not, see . package gplx.xowa.setup.maints; import gplx.*; import gplx.xowa.*; import gplx.xowa.setup.*; public class Xoa_maint_wikis_mgr implements GfoInvkAble { public Xoa_maint_wikis_mgr(Xoae_app app) {this.app = app;} private Xoae_app app; - private OrderedHash hash = OrderedHash_.new_bry_(); + private Ordered_hash hash = Ordered_hash_.new_bry_(); public int Len() {return hash.Count();} public Xowe_wiki Get_at(int i) { if (init) Init(); - byte[] domain = (byte[])hash.FetchAt(i); + byte[] domain = (byte[])hash.Get_at(i); Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(domain); wiki.Init_assert(); return wiki; } - public void Add(byte[] domain) {hash.AddReplace(domain, domain);} // NOTE: must be AddReplace to replace existing wikis + public void Add(byte[] domain) {hash.Add_if_dupe_use_nth(domain, domain);} // NOTE: must be Add_if_dupe_use_nth to replace existing wikis public void Init() { int len = this.Len(); for (int i = 0; i < len; i++) { - byte[] domain = (byte[])hash.FetchAt(i); + byte[] domain = (byte[])hash.Get_at(i); Xowe_wiki wiki = app.Wiki_mgr().Get_by_key_or_make(domain); wiki.Init_assert(); } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Xow_maint_mgr.java b/400_xowa/src/gplx/xowa/setup/maints/Xow_maint_mgr.java index b4faeae59..25beab159 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Xow_maint_mgr.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Xow_maint_mgr.java @@ -41,7 +41,7 @@ public class Xow_maint_mgr implements GfoInvkAble { else if (ctx.Match(k, Invk_wmf_dump_date_)) Wmf_dump_date_(m.ReadDate("v")); else if (ctx.Match(k, Invk_wmf_dump_done)) return Yn.Xto_str(wmf_dump_done); else if (ctx.Match(k, Invk_wmf_dump_done_)) wmf_dump_done = m.ReadYn("v"); - else if (ctx.Match(k, Invk_wmf_dump_status)) return String_.new_utf8_(wmf_dump_status); + else if (ctx.Match(k, Invk_wmf_dump_status)) return String_.new_u8(wmf_dump_status); else if (ctx.Match(k, Invk_wmf_dump_status_)) wmf_dump_status = m.ReadBry("v"); else if (ctx.Match(k, Invk_wiki_dump_date)) return DateAdp_.Xto_str_fmt_or(Wiki_dump_date(), "yyyy-MM-dd", ""); else if (ctx.Match(k, Invk_wiki_dump_date_)) wiki_dump_date = m.ReadDate("v"); diff --git a/400_xowa/src/gplx/xowa/specials/Xoa_special_mgr.java b/400_xowa/src/gplx/xowa/specials/Xoa_special_mgr.java index 5b7377ef2..df721d480 100644 --- a/400_xowa/src/gplx/xowa/specials/Xoa_special_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/Xoa_special_mgr.java @@ -17,12 +17,12 @@ along with this program. If not, see . */ package gplx.xowa.specials; import gplx.*; import gplx.xowa.*; public class Xoa_special_mgr implements GfoInvkAble { - private OrderedHash hash = OrderedHash_.new_(); + private Ordered_hash hash = Ordered_hash_.new_(); public Xoa_special_mgr() { hash.Add(gplx.xowa.xtns.wdatas.specials.Wdata_itemByTitle_cfg.Key, new gplx.xowa.xtns.wdatas.specials.Wdata_itemByTitle_cfg()); } public void Add(String key, GfoInvkAble cfg) {hash.Add(key, cfg);} - public GfoInvkAble Get_or_null(String key) {return (GfoInvkAble)hash.Fetch(key);} + public GfoInvkAble Get_or_null(String key) {return (GfoInvkAble)hash.Get_by(key);} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_get)) return Get_or_null(m.ReadStr("v")); else return GfoInvkAble_.Rv_unhandled; diff --git a/400_xowa/src/gplx/xowa/specials/Xows_special_meta.java b/400_xowa/src/gplx/xowa/specials/Xows_special_meta.java index cc3d84b8d..dee93f10e 100644 --- a/400_xowa/src/gplx/xowa/specials/Xows_special_meta.java +++ b/400_xowa/src/gplx/xowa/specials/Xows_special_meta.java @@ -19,9 +19,9 @@ package gplx.xowa.specials; import gplx.*; import gplx.xowa.*; public class Xows_special_meta { public Xows_special_meta(int src, int uid, String key_str) { this.src = src; this.uid = uid; this.key_str = key_str; - this.key_bry = Bry_.new_utf8_(key_str); + this.key_bry = Bry_.new_u8(key_str); this.ttl_str = "Special:" + key_str; // canonical name - this.ttl_bry = Bry_.new_utf8_(ttl_str); + this.ttl_bry = Bry_.new_u8(ttl_str); } public int Src() {return src;} private final int src; public int Uid() {return uid;} private final int uid; 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 4a122d8bd..77b7d7295 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 @@ -70,8 +70,8 @@ public class Xows_page_allpages implements GfoInvkAble, Bry_fmtr_arg, Xows_page public Xowd_page_itm[] Rslt_list_ttls() {return rslt_list_ttls;} private Xowd_page_itm[] rslt_list_ttls; public void Special_gen(Xowe_wiki wiki, Xoae_page page, Xoa_url url, Xoa_ttl ttl) { wiki.Ctx().Cur_page().Html_data().Display_ttl_(wiki.Msg_mgr().Val_by_id(Xol_msg_itm_.Id_sp_allpages_hdr)); - url.Page_bry_(Bry_.Add(Bry_.new_ascii_("Special:"), ttl.Page_txt_wo_qargs())); // HACK: need to re-set Page b/c href_parser does not eliminate qargs; DATE:2013-02-08 - if (wiki.Domain_tid() == Xow_domain_.Tid_int_home) {wiki.Appe().Usr_dlg().Prog_many(GRP_KEY, "home.invalid", "AllPages not implemented for home wiki"); return;} + url.Page_bry_(Bry_.Add(Bry_.new_a7("Special:"), ttl.Page_txt_wo_qargs())); // HACK: need to re-set Page b/c href_parser does not eliminate qargs; DATE:2013-02-08 + if (wiki.Domain_tid() == Xow_domain_type_.Tid_home) {wiki.Appe().Usr_dlg().Prog_many(GRP_KEY, "home.invalid", "AllPages not implemented for home wiki"); return;} if (rslt_list_ttls == null) this.Itms_per_page_(itms_per_page); boolean found = Build_data(url, ttl); if (!found) return; Build_html(page); @@ -104,16 +104,16 @@ public class Xows_page_allpages implements GfoInvkAble, Bry_fmtr_arg, Xows_page Xowd_page_itm rslt_nxt2 = new Xowd_page_itm(); Xowd_page_itm rslt_prv2 = new Xowd_page_itm(); int all_pages_min = 0;// no minimum for all pages - ListAdp rslt_list = ListAdp_.new_(); + List_adp rslt_list = List_adp_.new_(); wiki.Db_mgr().Load_mgr().Load_ttls_for_all_pages(Cancelable_.Never, rslt_list, rslt_nxt2, rslt_prv2, rslt_len, init_ns, from_ttl.Page_db(), itms_per_page, all_pages_min, itms_per_page, !hide_redirects_val, true); rslt_list_len = rslt_len.Val(); for (int i = 0; i < rslt_list_len; i++) - rslt_list_ttls[i] = (Xowd_page_itm)rslt_list.FetchAt(i); + rslt_list_ttls[i] = (Xowd_page_itm)rslt_list.Get_at(i); rslt_nxt = rslt_nxt2; rslt_prv = rslt_prv2; return true; } private Xoa_url_arg_hash arg_hash = new Xoa_url_arg_hash(); - private static final byte[] Bry_arg_from = Bry_.new_ascii_("from"), Bry_arg_ns = Bry_.new_ascii_("namespace"), Bry_arg_hideredirects = Bry_.new_ascii_("hideredirects"); + private static final byte[] Bry_arg_from = Bry_.new_a7("from"), Bry_arg_ns = Bry_.new_a7("namespace"), Bry_arg_hideredirects = Bry_.new_a7("hideredirects"); public Xow_ns Init_ns() {return init_ns;} private Xow_ns init_ns; public void Build_html(Xoae_page page) { Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_m001(); @@ -167,7 +167,7 @@ class Xos_pagelist_html_itm_fmtr implements Bry_fmtr_arg { public Xos_pagelist_html_itm_fmtr(Xows_page_allpages mgr, Xowe_wiki wiki) { this.mgr = mgr; this.wiki = wiki; this.href_parser = wiki.Appe().Href_parser(); this.wiki_key = wiki.Domain_bry(); this.itm_normal = mgr.Html_list_itm_normal(); this.itm_redirect = mgr.Html_list_itm_redirect(); - history_mgr = wiki.Appe().User().History_mgr(); + history_mgr = wiki.Appe().Usere().History_mgr(); } private Xows_page_allpages mgr; Xowe_wiki wiki; Xoh_href_parser href_parser; Bry_fmtr itm_normal, itm_redirect; byte[] wiki_key; gplx.xowa.users.history.Xou_history_mgr history_mgr; public void Itm_idx_(int v) {itm_idx = v;} private int itm_idx; public void XferAry_bgn() { 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 815f32fb9..370297ffb 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 @@ -134,10 +134,10 @@ class Xows_page_allpages_fxt { return this; } private Xoae_app app; public Xowe_wiki Wiki() {return wiki;} private Xowe_wiki wiki; Xows_page_allpages allpages; - public Xows_page_allpages_fxt Init_arg(String key, String val) {init_args.Add(new Gfo_url_arg(Bry_.new_ascii_(key), Bry_.new_ascii_(val))); return this;} private ListAdp init_args = ListAdp_.new_(); + public Xows_page_allpages_fxt Init_arg(String key, String val) {init_args.Add(new Gfo_url_arg(Bry_.new_a7(key), Bry_.new_a7(val))); return this;} private List_adp init_args = List_adp_.new_(); public Xows_page_allpages_fxt Init_ttl_leaf(String val) {init_ttl_leaf = val; return this;} private String init_ttl_leaf; public Xows_page_allpages_fxt Init_itms_per_page(int v) {init_itms_per_page = v; return this;} private int init_itms_per_page = 5; - public Xows_page_allpages_fxt Expd_arg(String key, String val) {expd_args.Add(new Gfo_url_arg(Bry_.new_ascii_(key), Bry_.new_ascii_(val))); return this;} private ListAdp expd_args = ListAdp_.new_(); + public Xows_page_allpages_fxt Expd_arg(String key, String val) {expd_args.Add(new Gfo_url_arg(Bry_.new_a7(key), Bry_.new_a7(val))); return this;} private List_adp expd_args = List_adp_.new_(); public Xows_page_allpages_fxt Expd_prv(String v) {expd_prv = v; return this;} private String expd_prv; public Xows_page_allpages_fxt Expd_nxt(String v) {expd_nxt = v; return this;} private String expd_nxt; public Xows_page_allpages_fxt Expd_ttls(String... v) {expd_ttls = v; return this;} private String[] expd_ttls; @@ -147,8 +147,8 @@ class Xows_page_allpages_fxt { public static String Xto_str(Xowe_wiki wiki, Xowd_page_itm v) { if (v == null) return null; Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(v.Ns_id()); - String ns_str = ns == null ? "" : String_.new_ascii_(ns.Name_db_w_colon()); - return ns_str + String_.new_ascii_(v.Ttl_page_db()); + String ns_str = ns == null ? "" : String_.new_a7(ns.Name_db_w_colon()); + return ns_str + String_.new_a7(v.Ttl_page_db()); } public static String[] Xto_str_ary(Xowe_wiki wiki, Xowd_page_itm[] ary) { int ary_len = ary.length; @@ -164,7 +164,7 @@ class Xows_page_allpages_fxt { String[] rv = new String[ary_len]; for (int i = 0; i < ary_len; i++) { Gfo_url_arg itm = ary[i]; - rv[i] = String_.new_utf8_(itm.Key_bry()) + "=" + String_.new_utf8_(itm.Val_bry()); + rv[i] = String_.new_u8(itm.Key_bry()) + "=" + String_.new_u8(itm.Val_bry()); } return rv; } @@ -173,8 +173,8 @@ class Xows_page_allpages_fxt { parserx.Parse(init_url, Xows_special_meta_.Itm__all_pages.Ttl_bry()); Xoa_ttl init_ttl = Make_init_ttl(); allpages.Special_gen(wiki, wiki.Ctx().Cur_page(), init_url, init_ttl); - if (expd_display_ttl != null) Tfds.Eq(expd_display_ttl, String_.new_utf8_(wiki.Ctx().Cur_page().Html_data().Display_ttl())); - if (expd_address_page != null) Tfds.Eq(expd_address_page, String_.new_utf8_(init_url.Page_bry())); + if (expd_display_ttl != null) Tfds.Eq(expd_display_ttl, String_.new_u8(wiki.Ctx().Cur_page().Html_data().Display_ttl())); + if (expd_address_page != null) Tfds.Eq(expd_address_page, String_.new_u8(init_url.Page_bry())); return this; } public Xows_page_allpages_fxt Test_build_data() { @@ -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.Xto_ary(Gfo_url_arg.class); + Gfo_url_arg[] expd_args_ary = (Gfo_url_arg[])expd_args.To_ary(Gfo_url_arg.class); Tfds.Eq_ary_str(Xto_str_ary(init_url.Args()), Xto_str_ary(expd_args_ary)); } return this; @@ -191,15 +191,15 @@ class Xows_page_allpages_fxt { public Xows_page_allpages_fxt Test_build_html(String expd) { Exec_build(); allpages.Build_html(wiki.Ctx().Cur_page()); - Tfds.Eq_str_lines(expd, String_.new_ascii_(wiki.Ctx().Cur_page().Data_raw())); + Tfds.Eq_str_lines(expd, String_.new_a7(wiki.Ctx().Cur_page().Data_raw())); return this; } 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.Xto_ary(Gfo_url_arg.class)); + init_url.Args_((Gfo_url_arg[])init_args.To_ary(Gfo_url_arg.class)); init_args.Clear(); Xoa_ttl init_ttl = Make_init_ttl(); allpages.Build_data(init_url, init_ttl); } - private Xoa_ttl Make_init_ttl() {return Xoa_ttl.parse_(wiki, Bry_.new_utf8_(Xows_special_meta_.Itm__all_pages.Ttl_str() + init_ttl_leaf));} + private Xoa_ttl Make_init_ttl() {return Xoa_ttl.parse_(wiki, Bry_.new_u8(Xows_special_meta_.Itm__all_pages.Ttl_str() + init_ttl_leaf));} } 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 11a43437d..8d9b08d7a 100644 --- a/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java +++ b/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java @@ -132,7 +132,7 @@ class Move_trg_ns_list_fmtr implements Bry_fmtr_arg { fmtr.Bld_bfr_many(bfr, ns.Id(), bry_selected, ns.Name_ui()); } } - private static final byte[] Bry_selected = Bry_.new_ascii_(" selected=''"); + private static final byte[] Bry_selected = Bry_.new_a7(" selected=''"); private Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last ( "" , " " @@ -150,7 +150,7 @@ class Move_url_args { int args_len = args.length; for (int i = 0; i < args_len; i++) { Gfo_url_arg arg = args[i]; - Object tid_obj = arg_keys.Fetch(arg.Key_bry()); + Object tid_obj = arg_keys.Get_by(arg.Key_bry()); byte[] val_bry = arg.Val_bry(); if (tid_obj != null) { switch (((Byte_obj_val)tid_obj).Val()) { 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 199d57b73..713f39b4b 100644 --- a/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/nearby/Nearby_mgr.java @@ -20,8 +20,8 @@ public class Nearby_mgr implements Xows_page { Xowe_wiki wiki; byte[] trg; private Hash_adp_bry excluded = Hash_adp_bry.ci_ascii_(); private Hash_adp_bry visited = Hash_adp_bry.ci_ascii_(); - ListAdp trail = ListAdp_.new_(); - ListAdp results = ListAdp_.new_(); + List_adp trail = List_adp_.new_(); + List_adp results = List_adp_.new_(); int results_cur = 0; // int depth_max = 5; // int pages_count = 0; @@ -35,22 +35,22 @@ public class Nearby_mgr implements Xows_page { } byte[] Bld_html(Xowe_wiki wiki) { form_fmtr.Bld_bfr_many(tmp_bfr); - ListAdp list = Find_from_to(wiki, Bry_.new_ascii_("Earth"), Bry_.new_ascii_("Atom"), excluded); - tmp_bfr.Add_str(""); + List_adp list = Find_from_to(wiki, Bry_.new_a7("Earth"), Bry_.new_a7("Atom"), excluded); + tmp_bfr.Add_str_a7("
    "); int len = list.Count(); for (int i = 0; i < len; i++) { - Nearby_rslt rslt = (Nearby_rslt)list.FetchAt(i); - tmp_bfr.Add_str(""); + Nearby_rslt rslt = (Nearby_rslt)list.Get_at(i); + tmp_bfr.Add_str_a7(""); int cell_len = rslt.Len(); for (int j = 0; j < cell_len; j++) { Xoa_ttl ttl = (Xoa_ttl)rslt.Get_at(j); - tmp_bfr.Add_str(""); + tmp_bfr.Add_str_a7("]]"); } - tmp_bfr.Add_str(""); + tmp_bfr.Add_str_a7(""); } - tmp_bfr.Add_str("
    [["); + tmp_bfr.Add_str_a7("[["); tmp_bfr.Add(ttl.Page_db()); - tmp_bfr.Add_str("]]
    "); + tmp_bfr.Add_str_a7("
    "); return tmp_bfr.Xto_bry_and_clear(); } Bry_fmtr form_fmtr = Bry_fmtr.new_(String_.Concat_lines_nl @@ -65,11 +65,11 @@ public class Nearby_mgr implements Xows_page { , "" )); Xoa_ttl trg_ttl; - OrderedHash src_pool = OrderedHash_.new_bry_(); - public ListAdp Find_from_to(Xowe_wiki wiki, byte[] src_bry, byte[] trg_bry, Hash_adp_bry excluded) { + Ordered_hash src_pool = Ordered_hash_.new_bry_(); + public List_adp Find_from_to(Xowe_wiki wiki, byte[] src_bry, byte[] trg_bry, Hash_adp_bry excluded) { this.wiki = wiki; this.excluded = excluded; - Xoa_ttl src_ttl = Xoa_ttl.parse_(wiki, src_bry); if (src_ttl == null) return ListAdp_.Null; - trg_ttl = Xoa_ttl.parse_(wiki, trg_bry); if (trg_ttl == null) return ListAdp_.Null; + Xoa_ttl src_ttl = Xoa_ttl.parse_(wiki, src_bry); if (src_ttl == null) return List_adp_.Noop; + trg_ttl = Xoa_ttl.parse_(wiki, trg_bry); if (trg_ttl == null) return List_adp_.Noop; trg = trg_ttl.Page_db(); trail.Clear(); results.Clear(); @@ -81,11 +81,11 @@ public class Nearby_mgr implements Xows_page { Examine_page(src_pool); return results; } - private void Examine_page(OrderedHash src_pool){ + private void Examine_page(Ordered_hash src_pool){ int len = src_pool.Count(); - OrderedHash next_pool = OrderedHash_.new_bry_(); + Ordered_hash next_pool = Ordered_hash_.new_bry_(); for (int i = 0; i < len; i++) { - Nearby_itmx itmx = (Nearby_itmx)src_pool.FetchAt(i); + Nearby_itmx itmx = (Nearby_itmx)src_pool.Get_at(i); Xoa_ttl ttl = itmx.Ttl(); byte[] ttl_bry = ttl.Page_db(); if (excluded.Has(ttl_bry)) continue; @@ -94,7 +94,7 @@ public class Nearby_mgr implements Xows_page { Xoae_page page = wiki.Data_mgr().Get_page(ttl, false); if (page.Missing()) continue; wiki.ParsePage(page, true); - OrderedHash lnkis = OrderedHash_.new_bry_(); + Ordered_hash lnkis = Ordered_hash_.new_bry_(); Collect_lnkis(lnkis, page.Root()); if (lnkis.Has(trg)) { ++results_cur; @@ -103,7 +103,7 @@ public class Nearby_mgr implements Xows_page { } int lnkis_len = lnkis.Count(); for (int j = 0; j < lnkis_len; j++) { - Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.FetchAt(j); + Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.Get_at(j); if (next_pool.Has(lnki_ttl.Page_db())) continue; Nearby_itmx next_itmx = new Nearby_itmx(itmx.Trail(), lnki_ttl); next_pool.Add(lnki_ttl.Page_db(), next_itmx); @@ -113,19 +113,19 @@ public class Nearby_mgr implements Xows_page { Examine_page(next_pool); // ++pages_count; // wiki.ParsePage(page, true); -// OrderedHash lnkis = OrderedHash_.new_bry_(); +// Ordered_hash lnkis = Ordered_hash_.new_bry_(); // int len = lnkis.Count(); // for (int i = 0; i < len; i++) { -// Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.FetchAt(i); +// Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.Get_at(i); // if (!lnki_ttl.Ns().Id_main()) continue; // if (Bry_.Eq(lnki_ttl.Page_db(), trg)) continue; // skip trg page // trail.Add(lnki_ttl); // Examine_page(wiki, lnki_ttl, trail); -// ListAdp_.DelAt_last(trail); +// List_adp_.DelAt_last(trail); // if (results_cur == results_max) return; // } } -// private void Examine_page(Xowe_wiki wiki, Xoa_ttl ttl, ListAdp trail){ +// private void Examine_page(Xowe_wiki wiki, Xoa_ttl ttl, List_adp trail){ // byte[] ttl_bry = ttl.Page_db(); // if (excluded.Has(ttl_bry)) return; // if (visited.Has(ttl_bry)) return; @@ -134,7 +134,7 @@ public class Nearby_mgr implements Xows_page { // if (page.Missing()) return; // ++pages_count; // wiki.ParsePage(page, true); -// OrderedHash lnkis = OrderedHash_.new_bry_(); +// Ordered_hash lnkis = Ordered_hash_.new_bry_(); // Collect_lnkis(lnkis, page.Root()); // if (lnkis.Has(trg)) { // ++results_cur; @@ -143,16 +143,16 @@ public class Nearby_mgr implements Xows_page { // } // int len = lnkis.Count(); // for (int i = 0; i < len; i++) { -// Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.FetchAt(i); +// Xoa_ttl lnki_ttl = (Xoa_ttl)lnkis.Get_at(i); // if (!lnki_ttl.Ns().Id_main()) continue; // if (Bry_.Eq(lnki_ttl.Page_db(), trg)) continue; // skip trg page // trail.Add(lnki_ttl); // Examine_page(wiki, lnki_ttl, trail); -// ListAdp_.DelAt_last(trail); +// List_adp_.DelAt_last(trail); // if (results_cur == results_max) return; // } // } - private void Collect_lnkis(OrderedHash lnkis, Xop_tkn_itm tkn) { + private void Collect_lnkis(Ordered_hash lnkis, Xop_tkn_itm tkn) { if (tkn.Tkn_tid() == Xop_tkn_itm_.Tid_lnki) { Xop_lnki_tkn lnki_tkn = (Xop_lnki_tkn)tkn; Xoa_ttl lnki_ttl = lnki_tkn.Ttl(); @@ -169,28 +169,28 @@ public class Nearby_mgr implements Xows_page { } } class Nearby_rslt { - public Nearby_rslt(ListAdp trail, Xoa_ttl trg_ttl) { + public Nearby_rslt(List_adp trail, Xoa_ttl trg_ttl) { int len = trail.Count(); for (int i = 0; i < len; i++) { - Xoa_ttl ttl = (Xoa_ttl)trail.FetchAt(i); + Xoa_ttl ttl = (Xoa_ttl)trail.Get_at(i); list.Add(ttl); } list.Add(trg_ttl); } public int Len() {return list.Count();} - public Xoa_ttl Get_at(int i) {return (Xoa_ttl)list.FetchAt(i);} - ListAdp list = ListAdp_.new_(); + public Xoa_ttl Get_at(int i) {return (Xoa_ttl)list.Get_at(i);} + List_adp list = List_adp_.new_(); } class Nearby_itmx { - public Nearby_itmx(ListAdp v, Xoa_ttl ttl) { + public Nearby_itmx(List_adp v, Xoa_ttl ttl) { int len = v.Count(); for (int i = 0; i < len; i++) { - Xoa_ttl v_ttl = (Xoa_ttl)v.FetchAt(i); + Xoa_ttl v_ttl = (Xoa_ttl)v.Get_at(i); trail.Add(v_ttl); } trail.Add(ttl); this.ttl = ttl; } public Xoa_ttl Ttl() {return ttl;} private Xoa_ttl ttl; - public ListAdp Trail() {return trail;} ListAdp trail = ListAdp_.new_(); + public List_adp Trail() {return trail;} List_adp trail = List_adp_.new_(); } 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 8cd11d672..502fc9a1a 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 @@ -50,20 +50,20 @@ class Nearby_mgr_fxt { tmp_bfr = Bry_bfr.new_(); } fxt.Reset(); - Io_mgr._.InitEngine_mem(); + Io_mgr.I.InitEngine_mem(); nearby_mgr.Results_max_(1); return this; } private Xop_fxt fxt; Nearby_mgr nearby_mgr; Hash_adp_bry excluded; Bry_bfr tmp_bfr; public void Init_page(String ttl, String text) {fxt.Init_page_create(ttl, text);} public Nearby_mgr_fxt Init_results_max(int v) {nearby_mgr.Results_max_(v); return this;} public void Test_find(String src, String trg, String... expd) { - ListAdp actl = nearby_mgr.Find_from_to(fxt.Wiki(), Bry_.new_ascii_(src), Bry_.new_ascii_(trg), excluded); + List_adp actl = nearby_mgr.Find_from_to(fxt.Wiki(), Bry_.new_a7(src), Bry_.new_a7(trg), excluded); Tfds.Eq_ary(String_.SplitLines_nl(Xto_str(actl)), expd); } - String Xto_str(ListAdp list) { + String Xto_str(List_adp list) { int len = list.Count(); for (int i = 0; i < len; i++) { - Nearby_rslt rslt = (Nearby_rslt)list.FetchAt(i); + Nearby_rslt rslt = (Nearby_rslt)list.Get_at(i); int ttls = rslt.Len(); if (i != 0) tmp_bfr.Add_byte_nl(); for (int j = 0; j < ttls; j++) { diff --git a/400_xowa/src/gplx/xowa/specials/randoms/Xop_randomRootPage_page_tst.java b/400_xowa/src/gplx/xowa/specials/randoms/Xop_randomRootPage_page_tst.java index 905d49f43..d7d2de291 100644 --- a/400_xowa/src/gplx/xowa/specials/randoms/Xop_randomRootPage_page_tst.java +++ b/400_xowa/src/gplx/xowa/specials/randoms/Xop_randomRootPage_page_tst.java @@ -40,14 +40,14 @@ class Xop_randomRootPage_page_fxt { public void Init_create_page(String page) {parser_fxt.Init_page_create(page, page);} public void Test_open(String special_url, String expd) { Xoae_page page = Test_special_open(wiki, special_page, special_url); - Tfds.Eq(expd, String_.new_ascii_(page.Url().Page_bry())); - Tfds.Eq(expd, String_.new_ascii_(page.Data_raw())); + Tfds.Eq(expd, String_.new_a7(page.Url().Page_bry())); + Tfds.Eq(expd, String_.new_a7(page.Data_raw())); } public static Xoae_page Test_special_open(Xowe_wiki wiki, Xows_page special_page, String special_url) { Xoae_page page = wiki.Ctx().Cur_page(); Xoa_url url = Xoa_url_parser.Parse_url(wiki.Appe(), wiki, special_url); page.Url_(url); - Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_ascii_(special_url)); + Xoa_ttl ttl = Xoa_ttl.parse_(wiki, Bry_.new_a7(special_url)); page.Ttl_(ttl); special_page.Special_gen(wiki, page, url, ttl); return page; 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 7dd895f22..0f8d2484f 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 @@ -21,7 +21,7 @@ class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { private Xowe_wiki wiki; private byte[] search_bry; private Xosrh_page_mgr searcher; private int max_results, all_pages_extend, all_pages_min; public Xog_search_suggest_cmd(Xoae_app app, Xog_search_suggest_mgr mgr) { this.app = app; this.mgr = mgr; - } private Xoae_app app; Xog_search_suggest_mgr mgr; Bry_bfr tmp_bfr = Bry_bfr.reset_(255); ListAdp rslts_1 = ListAdp_.new_(), rslts_2 = ListAdp_.new_(); + } private Xoae_app app; Xog_search_suggest_mgr mgr; Bry_bfr tmp_bfr = Bry_bfr.reset_(255); List_adp rslts_1 = List_adp_.new_(), rslts_2 = List_adp_.new_(); public void Init(Xowe_wiki wiki, byte[] search_bry, int max_results, byte search_mode, int all_pages_extend, int all_pages_min) { this.wiki = wiki; this.search_bry = search_bry; this.max_results = max_results; this.search_mode = search_mode; this.all_pages_extend = all_pages_extend; this.all_pages_min = all_pages_min; @@ -33,7 +33,7 @@ class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { public void Cancel() {this.canceled = true;} private boolean canceled; public void Cancel_reset() {this.canceled = false;} public boolean Working() {return working;} public void Working_(boolean v) {working = v;} private boolean working; - public ListAdp Results() {return rslts_2;} + public List_adp Results() {return rslts_2;} public void Search() { try { // NOTE: must handle any errors in async mode canceled = false; @@ -65,9 +65,9 @@ class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { Xowd_page_itm rslt_prv = new Xowd_page_itm(); Xoa_ttl search_ttl = Xoa_ttl.parse_(wiki, search_bry); if (search_ttl == null) return false; byte[] search_ttl_bry = search_ttl.Page_db(); - ListAdp page_list = ListAdp_.new_(); + List_adp page_list = List_adp_.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); - Xowd_page_itm[] page_ary = (Xowd_page_itm[])page_list.Xto_ary_and_clear(Xowd_page_itm.class); + Xowd_page_itm[] page_ary = (Xowd_page_itm[])page_list.To_ary_and_clear(Xowd_page_itm.class); int idx = 0, page_ary_len = page_ary.length; for (int i = 0; i < page_ary_len; i++) { Xowd_page_itm page = page_ary[i]; @@ -90,16 +90,16 @@ class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { for (int i = 0; i < len; i++) rslts_1.Add(rv.Itms_get_at(i)); if (canceled) {working = false; return false;} - rslts_1.SortBy(Xowd_page_itm_sorter.EnyLenDsc); + rslts_1.Sort_by(Xowd_page_itm_sorter.EnyLenDsc); if (canceled) {working = false; return false;} if (len > max_results) len = max_results; rslts_2.Clear(); for (int i = 0; i < len; i++) - rslts_2.Add(rslts_1.FetchAt(i)); + rslts_2.Add(rslts_1.Get_at(i)); if (canceled) {working = false; return false;} - rslts_2.SortBy(Xowd_page_itm_sorter.IdAsc); + rslts_2.Sort_by(Xowd_page_itm_sorter.IdAsc); wiki.Db_mgr().Load_mgr().Load_by_ids(this, rslts_2, 0, len); - rslts_2.SortBy(Xowd_page_itm_sorter.TitleAsc); + rslts_2.Sort_by(Xowd_page_itm_sorter.TitleAsc); if (canceled) {working = false; return false;} return true; } 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 495465943..d15d30287 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 @@ -33,7 +33,7 @@ public class Xog_search_suggest_mgr implements GfoInvkAble { public Gfo_url_arg[] Args_default() {return args_default;} private Gfo_url_arg[] args_default = Gfo_url_arg.Ary_empty; public void Args_default_str_(String v) { this.args_default_str = v; - byte[] bry = Bry_.new_utf8_("http://x.org/a?" + v); + byte[] bry = Bry_.new_u8("http://x.org/a?" + v); Gfo_url tmp_url = new Gfo_url(); app.Url_parser().Url_parser().Parse(tmp_url, bry, 0, bry.length); args_default = tmp_url.Args(); @@ -45,7 +45,7 @@ public class Xog_search_suggest_mgr implements GfoInvkAble { long prv_time = Env_.TickCount(); while (cur_cmd.Working()) { if (Env_.TickCount() - prv_time > 4000) { - if (log_enabled) app.Usr_dlg().Log_many("", "", "search cancel timeout: word=~{0}", String_.new_utf8_(search_bry)); + if (log_enabled) app.Usr_dlg().Log_many("", "", "search cancel timeout: word=~{0}", String_.new_u8(search_bry)); cur_cmd.Working_(false); break; } @@ -62,12 +62,12 @@ public class Xog_search_suggest_mgr implements GfoInvkAble { this.Cancel(); synchronized (thread_lock) { if (Bry_.Eq(search_bry , last_search_bry)) { - if (log_enabled) app.Usr_dlg().Log_many("", "", "search repeated?: word=~{0}", String_.new_utf8_(search_bry)); + if (log_enabled) app.Usr_dlg().Log_many("", "", "search repeated?: word=~{0}", String_.new_u8(search_bry)); return; } cur_cmd.Init(wiki, search_bry, results_max, search_mode, all_pages_extend, all_pages_min); this.last_search_bry = search_bry; - if (log_enabled) app.Usr_dlg().Log_many("", "", "search bgn: word=~{0}", String_.new_utf8_(search_bry)); + if (log_enabled) app.Usr_dlg().Log_many("", "", "search bgn: word=~{0}", String_.new_u8(search_bry)); cur_cmd.Search(); } } private Xog_search_suggest_cmd cur_cmd; byte[] last_search_bry; @@ -75,24 +75,24 @@ public class Xog_search_suggest_mgr implements GfoInvkAble { // synchronized (thread_lock) NOTE: never use synchronized here; will synchronized search; DATE:2013-09-24 byte[] search_bry = cur_cmd.Search_bry(); if (!Bry_.Eq(search_bry, last_search_bry)) { - if (log_enabled) app.Usr_dlg().Log_many("", "", "search does not match?: expd=~{0} actl=~{1}", String_.new_utf8_(last_search_bry), String_.new_utf8_(search_bry)); + if (log_enabled) app.Usr_dlg().Log_many("", "", "search does not match?: expd=~{0} actl=~{1}", String_.new_u8(last_search_bry), String_.new_u8(search_bry)); return; // do not notify if search terms do not match } - ListAdp found = cur_cmd.Results(); + List_adp found = cur_cmd.Results(); wtr.Add_str(cbk_func); wtr.Add_paren_bgn(); wtr.Add_str_quote(search_bry).Add_comma(); wtr.Add_brack_bgn(); int len = found.Count(); for (int i = 0; i < len; i++) { - Xowd_page_itm p = (Xowd_page_itm)found.FetchAt(i); + Xowd_page_itm p = (Xowd_page_itm)found.Get_at(i); Xow_ns ns = wiki.Ns_mgr().Ids_get_or_null(p.Ns_id()); byte[] ttl = Xoa_ttl.Replace_unders(ns.Gen_ttl(p.Ttl_page_db())); wtr.Add_str_arg(i, ttl); } wtr.Add_brack_end(); wtr.Add_paren_end_semic(); - if (log_enabled) app.Usr_dlg().Log_many("", "", "search end: word=~{0}", String_.new_utf8_(search_bry)); + if (log_enabled) app.Usr_dlg().Log_many("", "", "search end: word=~{0}", String_.new_u8(search_bry)); main_win.Active_html_box().Html_js_eval_script(wtr.Xto_str_and_clear()); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { 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 fe07fc0d3..c9f42f2f3 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 @@ -98,12 +98,12 @@ along with this program. If not, see . // Xoae_app app; Xowe_wiki wiki; Bry_bfr bfr = Bry_bfr.reset_(500); Xows_page__search search_mgr; // public Xoae_app App() {return app;} // public Xowe_wiki Wiki() {return wiki;} -// public Xobl_regy_itm regy_itm_(int id, String bgn, String end, int count) {return new Xobl_regy_itm(id, Bry_.new_utf8_(bgn), Bry_.new_utf8_(end), count);} +// public Xobl_regy_itm regy_itm_(int id, String bgn, String end, int count) {return new Xobl_regy_itm(id, Bry_.new_u8(bgn), Bry_.new_u8(end), count);} // public Xowd_page_itm data_ttl_(int id, String ttl) {return data_ttl_(id, 0, 0, false, 0, ttl);} -// public Xowd_page_itm data_ttl_(int id, int fil, int row, boolean redirect, int len, String ttl) {return new Xowd_page_itm().Init(id, Bry_.new_utf8_(ttl), redirect, len, fil, row);} +// public Xowd_page_itm data_ttl_(int id, int fil, int row, boolean redirect, int len, String ttl) {return new Xowd_page_itm().Init(id, Bry_.new_u8(ttl), redirect, len, fil, row);} // public Xowd_page_itm data_id_(int id, String ttl) {return data_id_(id, Xow_ns_.Id_main, ttl);} -// public Xowd_page_itm data_id_(int id, int ns, String ttl) {return new Xowd_page_itm().Id_(id).Ns_id_(ns).Ttl_page_db_(Bry_.new_utf8_(ttl)).Text_db_id_(0).Text_len_(0);} -// public Xobl_search_ttl data_sttl_(String word, params int[] ids) {return new Xobl_search_ttl(Bry_.new_utf8_(word), data_ttl_word_page_ary_(ids));} +// public Xowd_page_itm data_id_(int id, int ns, String ttl) {return new Xowd_page_itm().Id_(id).Ns_id_(ns).Ttl_page_db_(Bry_.new_u8(ttl)).Text_db_id_(0).Text_len_(0);} +// public Xobl_search_ttl data_sttl_(String word, params int[] ids) {return new Xobl_search_ttl(Bry_.new_u8(word), data_ttl_word_page_ary_(ids));} // public Xobl_search_ttl_page[] data_ttl_word_page_ary_(params int[] ids) { // int ids_len = ids.length; // Xobl_search_ttl_page[] rv = new Xobl_search_ttl_page[ids_len]; @@ -121,7 +121,7 @@ along with this program. If not, see . // Xobl_regy_itm itm = ary[i]; // itm.Srl_save(tmp_bfr); // } -// Io_mgr._.SaveFilBfr(url, tmp_bfr); +// Io_mgr.I.SaveFilBfr(url, tmp_bfr); // } private Bry_bfr tmp_bfr = Bry_bfr.reset_(255); // public void Init_data(Io_url fil, params Xobl_data_itm[] ary) { // Xob_xdat_file xdat_file = new Xob_xdat_file(); @@ -159,7 +159,7 @@ along with this program. If not, see . // search_mgr.Page_mgr().Ns_mgr().Add_all(); // WORKAROUND: xdat fmt does not store ns with search data; pages will be retrieved with ns_id = null; force ns_all (instead of allowing ns_main default); // } // public void Clear() { -// Io_mgr._.InitEngine_mem(); +// Io_mgr.I.InitEngine_mem(); // app = Xoa_app_fxt.app_(); // wiki = Xoa_app_fxt.wiki_tst_(app); // search_mgr = wiki.Special_mgr().Page_search(); @@ -169,17 +169,17 @@ along with this program. If not, see . // public void Test_url_search_bry(String url_str, String expd) { // Xoa_url url = Xoa_url_parser.Parse_url(app, wiki, url_str); // search_mgr.Args_mgr().Clear().Parse(url.Args()); -// Tfds.Eq(expd, String_.new_utf8_(search_mgr.Args_mgr().Search_bry())); +// Tfds.Eq(expd, String_.new_u8(search_mgr.Args_mgr().Search_bry())); // } // public void Test_url__ns(String url_str, String expd) { // Xoa_url url = Xoa_url_parser.Parse_url(app, wiki, url_str); // search_mgr.Args_mgr().Clear().Parse(url.Args()); -// Tfds.Eq(expd, String_.new_ascii_(search_mgr.Args_mgr().Ns_mgr().Xto_hash_key())); +// Tfds.Eq(expd, String_.new_a7(search_mgr.Args_mgr().Ns_mgr().Xto_hash_key())); // } // public void Test_search_exact(String ttl_str, params String[] expd_ary) {Test_search(ttl_str, 0, expd_ary);} // public void Test_search_match_bgn(String ttl_str, params String[] expd_ary) {Test_search(ttl_str, 0, expd_ary);} // public void Test_search(String ttl_str, int page_idx, params String[] expd_ary) { -// byte[] ttl_bry = Bry_.new_ascii_(ttl_str); +// byte[] ttl_bry = Bry_.new_a7(ttl_str); // Bry_bfr bfr = wiki.Utl__bfr_mkr().Get_b128(); // Xosrh_rslt_grp page = search_mgr.Page_mgr().Search(bfr, wiki, ttl_bry, page_idx, search_mgr.Page_mgr()); // bfr.Mkr_rls(); @@ -187,18 +187,18 @@ along with this program. If not, see . // } // public void Test_html_by_url(String ttl_str, String args_str, String expd_html) { // wiki.Init_needed_(false); -// byte[] ttl_bry = Bry_.new_ascii_(ttl_str); +// byte[] ttl_bry = Bry_.new_a7(ttl_str); // Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); // Xoae_page page = Xoae_page.test_(wiki, ttl); -// byte[] url_bry = Bry_.new_utf8_("http://en.wikipedia.org/wiki/Special:Search/" + ttl_str + args_str); +// byte[] url_bry = Bry_.new_u8("http://en.wikipedia.org/wiki/Special:Search/" + ttl_str + args_str); // Xoa_url url = wiki.Appe().Url_parser().Parse(url_bry); // search_mgr.Special_gen(url, page, wiki, ttl); -// Tfds.Eq_str_lines(expd_html, String_.new_utf8_(page.Root().Data_htm())); +// Tfds.Eq_str_lines(expd_html, String_.new_u8(page.Root().Data_htm())); // } // public void Test_search2(byte match_tid, String ttl_str, int page_idx, byte sort_tid, params String[] expd_ary) { // Bry_bfr bfr = wiki.Utl__bfr_mkr().Get_b128(); // Xoa_url_parser url_parser = new Xoa_url_parser(); -// byte[] url_raw = Bry_.new_ascii_("Special:Search/" + ttl_str + ((match_tid == Xows_page__search.Match_tid_all) ? "" : "*") + "?fulltext=y" + Xosrh_rslt_itm_sorter.Xto_url_arg(sort_tid) + "&xowa_page_size=1&xowa_page_index=" + page_idx); +// byte[] url_raw = Bry_.new_a7("Special:Search/" + ttl_str + ((match_tid == Xows_page__search.Match_tid_all) ? "" : "*") + "?fulltext=y" + Xosrh_rslt_itm_sorter.Xto_url_arg(sort_tid) + "&xowa_page_size=1&xowa_page_index=" + page_idx); // Xoa_url url = url_parser.Parse(url_raw); // Xoa_ttl ttl = Xoa_ttl.parse_(wiki, url_raw); // Xoae_page page = wiki.Ctx().Cur_page(); @@ -212,7 +212,7 @@ along with this program. If not, see . // String[] rv = new String[itms_len]; // for (int i = 0; i < itms_len; i++) { // Xowd_page_itm itm = page.Itms_get_at(i); -// rv[i] = String_.new_utf8_(itm.Ttl_page_db()); +// rv[i] = String_.new_u8(itm.Ttl_page_db()); // } // return rv; // } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr.java index 5d4ec13ff..2c145ee16 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr.java @@ -34,7 +34,7 @@ public class Xosrh_page_mgr implements Xosrh_page_mgr_searcher { public boolean Prv_search_is_same(byte[] cur_search_bry, byte[] cur_ns_bry) { return Bry_.Eq(cur_ns_bry, prv_ns_bry) && Bry_.Eq(cur_search_bry, prv_search_bry); } - private Xosrh_rslt_grp[] pages_ary; ListAdp cur_ids = ListAdp_.new_(); + private Xosrh_rslt_grp[] pages_ary; List_adp cur_ids = List_adp_.new_(); private Xosrh_rslt_itm_sorter sorter = new Xosrh_rslt_itm_sorter(); private Xowe_wiki wiki; public Xows_ns_mgr Ns_mgr() {return ns_mgr;} public void Ns_mgr_(Xows_ns_mgr v) {ns_mgr = v;} private Xows_ns_mgr ns_mgr = new Xows_ns_mgr(); @@ -51,7 +51,7 @@ public class Xosrh_page_mgr implements Xosrh_page_mgr_searcher { } } else { // search is new; rebuild; - ListAdp ids = searcher.Parse_search_and_load_ids(cancelable, bfr, ns_mgr, search); + List_adp ids = searcher.Parse_search_and_load_ids(cancelable, bfr, ns_mgr, search); Rebuild(cancelable, wiki, ids); prv_search_bry = search; prv_ns_bry = ns_mgr.To_hash_key(); @@ -67,31 +67,31 @@ public class Xosrh_page_mgr implements Xosrh_page_mgr_searcher { } rv = new Xosrh_rslt_grp(page_idx); for (int i = itms_bgn; i < itms_end; i++) - rv.Itms_add((Xowd_page_itm)cur_ids.FetchAt(i)); + rv.Itms_add((Xowd_page_itm)cur_ids.Get_at(i)); pages_ary[page_idx] = rv; rv.Itms_total_(cur_ids.Count()); return rv; } - public ListAdp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_mgr, byte[] search) { + public List_adp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_mgr, byte[] search) { search = wiki.Lang().Case_mgr().Case_build_lower(search, 0, search.length); Xosrh_qry_itm cur_root = Xosrh_parser._.Parse(search); cur_root.Search(cancelable, bfr, search, wiki, itms_per_page, ns_mgr); return cur_root.Matches(search).Ids(); } - private void Rebuild(Cancelable cancelable, Xowe_wiki wiki, ListAdp ids) { + private void Rebuild(Cancelable cancelable, Xowe_wiki wiki, List_adp ids) { int ids_len = ids.Count(); int pages_len = ((ids_len - 1) / itms_per_page) + 1; if (pages_len == 0) pages_len = 1; pages_ary = new Xosrh_rslt_grp[pages_len]; cur_ids.Clear(); for (int i = 0; i < ids_len; i++) - cur_ids.Add(ids.FetchAt(i)); + cur_ids.Add(ids.Get_at(i)); if (sort_tid == Xosrh_rslt_itm_sorter.Tid_ttl_asc) { - cur_ids.SortBy(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_id)); + cur_ids.Sort_by(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_id)); wiki.Db_mgr().Load_mgr().Load_by_ids(cancelable, cur_ids, 0, ids_len); - cur_ids.SortBy(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_ttl_asc)); + cur_ids.Sort_by(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_ttl_asc)); } else { - cur_ids.SortBy(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_len_dsc)); + cur_ids.Sort_by(sorter.Tid_(Xosrh_rslt_itm_sorter.Tid_len_dsc)); } } private static final Xosrh_rslt_grp Grp_empty = new Xosrh_rslt_grp(-1); diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_searcher.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_searcher.java index b8bae94dd..65f3ec0f5 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_searcher.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_page_mgr_searcher.java @@ -17,5 +17,5 @@ along with this program. If not, see . */ package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; public interface Xosrh_page_mgr_searcher { - ListAdp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_Mgr, byte[] search); + List_adp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_Mgr, byte[] search); } 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 45aad5345..a5643ab77 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 @@ -56,7 +56,7 @@ class Xosrh_page_mgr_fxt { public Xosrh_page_mgr_fxt Init_sort_by_name_(boolean v) {page_mgr.Sort_tid_(v ? Xosrh_rslt_itm_sorter.Tid_ttl_asc : Xosrh_rslt_itm_sorter.Tid_len_dsc); return this;} public Xosrh_page_mgr_fxt Init_itms_per_page_(int v) {page_mgr.Itms_per_page_(v); return this;} public Xosrh_page_mgr_searcher_mok ids_(int bgn, int end) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); int len = end - bgn; for (int i = 0; i < len; i++) { int itm_id = i + bgn; @@ -67,7 +67,7 @@ class Xosrh_page_mgr_fxt { return new Xosrh_page_mgr_searcher_mok(rv); } public void Test_search(String search_str, Xosrh_page_mgr_searcher searcher, int page_idx, int[] expd) { - byte[] search_bry = Bry_.new_ascii_(search_str); + byte[] search_bry = Bry_.new_a7(search_str); Xosrh_rslt_grp page = page_mgr.Search(tmp_bfr, wiki, search_bry, page_idx, searcher); Tfds.Eq_ary(expd, Xto_int_ary(page)); } @@ -81,6 +81,6 @@ class Xosrh_page_mgr_fxt { } } class Xosrh_page_mgr_searcher_mok implements Xosrh_page_mgr_searcher { - public Xosrh_page_mgr_searcher_mok(ListAdp list) {this.list = list;} ListAdp list; - public ListAdp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_mgr, byte[] search) {return list;} + public Xosrh_page_mgr_searcher_mok(List_adp list) {this.list = list;} List_adp list; + public List_adp Parse_search_and_load_ids(Cancelable cancelable, Bry_bfr bfr, Xows_ns_mgr ns_mgr, byte[] search) {return list;} } 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 6b8c2313b..a4c2c4517 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 @@ -69,7 +69,7 @@ class Xosearch_searcher_fxt { Xoae_app app; Xowe_wiki wiki; Xowd_hive_mgr mgr; Bry_bfr tmp_bfr; Xosrh_parser parser; public void Init_search(String ttl_str, int... ids) { - byte[] ttl_bry = Bry_.new_ascii_(ttl_str); + byte[] ttl_bry = Bry_.new_a7(ttl_str); tmp_bfr.Add(ttl_bry); int len = ids.length; for (int i = 0; i < len; i++) { @@ -82,7 +82,7 @@ class Xosearch_searcher_fxt { 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); + byte[] ttl_bry = Bry_.new_a7(ttl_str); Xosrh_qry_itm qry_root = parser.Parse(ttl_bry); Xows_ns_mgr ns_mgr = new Xows_ns_mgr(); ns_mgr.Add_all(); // WORKAROUND: xdat fmt does not store ns with search data; pages will be retrieved with ns_id = null; force ns_all (instead of allowing ns_main default); qry_root.Search(Cancelable_.Never, tmp_bfr, ttl_bry, wiki, 100, ns_mgr); @@ -94,37 +94,37 @@ class Xosearch_parser_fxt { public Xosearch_parser_fxt Clear() { if (parser == null) { parser = Xosrh_parser._; - matches = OrderedHash_.new_bry_(); + matches = Ordered_hash_.new_bry_(); } matches.Clear(); return this; - } private Xosrh_parser parser; OrderedHash matches; + } private Xosrh_parser parser; Ordered_hash matches; public void Init_match(String name, int... ids) { int len = ids.length; - ListAdp id_vals = ListAdp_.new_(); + List_adp id_vals = List_adp_.new_(); for (int i = 0; i < len; i++) id_vals.Add(Xowd_page_itm.new_srch(ids[i], 0)); - matches.Add(Bry_.new_ascii_(name), id_vals); + matches.Add(Bry_.new_a7(name), id_vals); } public void Test_match(String raw, int... expd) { - byte[] src = Bry_.new_ascii_(raw); + byte[] src = Bry_.new_a7(raw); Xosrh_qry_itm qry_root = parser.Parse(src); Test_match_assign_ids(src, qry_root); Xosrh_qry_ids matches = qry_root.Matches(src); Tfds.Eq_ary(expd, Xto_ints(matches.Ids())); } - public static int[] Xto_ints(ListAdp list) { + public static int[] Xto_ints(List_adp list) { if (list == null) return Int_.Ary_empty; int len = list.Count(); int[] rv = new int[len]; for (int i = 0; i < len; i++) - rv[i] = ((Xowd_page_itm)list.FetchAt(i)).Id(); + rv[i] = ((Xowd_page_itm)list.Get_at(i)).Id(); return rv; } private void Test_match_assign_ids(byte[] src, Xosrh_qry_itm itm) { if (itm.Tid() == Xosrh_qry_itm.Tid_word) { byte[] word = itm.Word(); - ListAdp ids = (ListAdp)matches.Fetch(word); + List_adp ids = (List_adp)matches.Get_by(word); itm.Ids_(ids); } else { @@ -133,12 +133,12 @@ class Xosearch_parser_fxt { } } public void Test_scan(String raw, String... expd) { - byte[] src = Bry_.new_ascii_(raw); + byte[] src = Bry_.new_a7(raw); Xosrh_qry_tkn[] actl_itms = Xosrh_scanner._.Scan(src); Tfds.Eq_ary(expd, To_strings(src, actl_itms)); } public void Test_scan_tids(String raw, byte... expd) { - byte[] src = Bry_.new_ascii_(raw); + byte[] src = Bry_.new_a7(raw); Xosrh_qry_tkn[] actl_itms = Xosrh_scanner._.Scan(src); Tfds.Eq_ary(expd, To_tids(actl_itms)); } @@ -147,7 +147,7 @@ class Xosearch_parser_fxt { String[] rv = new String[len]; for (int i = 0; i < len; i++) { Xosrh_qry_tkn tkn = ary[i]; - rv[i] = String_.new_ascii_(tkn.Val(src)); + rv[i] = String_.new_a7(tkn.Val(src)); } return rv; } @@ -161,7 +161,7 @@ class Xosearch_parser_fxt { return rv; } public void Test_parse(String raw, String expd) { - byte[] src = Bry_.new_ascii_(raw); + byte[] src = Bry_.new_a7(raw); Xosrh_qry_itm qry_root = parser.Parse(src); Tfds.Eq(expd, qry_root.Xto_str(src)); } 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 19089c121..2b8fbf8af 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 @@ -24,7 +24,7 @@ class Xosrh_qry_itm { public byte Tid() {return tid;} private byte tid; public Xosrh_qry_itm Lhs() {return lhs;} private Xosrh_qry_itm lhs; public Xosrh_qry_itm Rhs() {return rhs;} private Xosrh_qry_itm rhs; - public ListAdp Ids() {return ids;} public void Ids_(ListAdp v) {this.ids = v;} ListAdp ids = ListAdp_.Null; + public List_adp Ids() {return ids;} public void Ids_(List_adp v) {this.ids = v;} List_adp ids = List_adp_.Noop; public byte[] Word() {return word;} private byte[] word; public String Xto_str(byte[] src) { Bry_bfr bfr = Bry_bfr.new_(); @@ -39,14 +39,14 @@ class Xosrh_qry_itm { case Xosrh_qry_itm.Tid_not: Xosrh_qry_ids rv = rhs.Matches(src); return rv.Not_(!rv.Not()); case Xosrh_qry_itm.Tid_or: case Xosrh_qry_itm.Tid_and: - ListAdp merged = Evaluate(src, tid == Xosrh_qry_itm.Tid_and, lhs, rhs); + List_adp merged = Evaluate(src, tid == Xosrh_qry_itm.Tid_and, lhs, rhs); return new Xosrh_qry_ids(false, merged); case Xosrh_qry_itm.Tid_null: return Xosrh_qry_ids.Null; default: throw Err_.unhandled(tid); } } - private static ListAdp Search_word(Xowe_wiki wiki, Cancelable cancelable, Bry_bfr tmp_bfr, Xows_ns_mgr ns_mgr, byte[] search_word, int results_max) { - ListAdp found = ListAdp_.new_(); + private static List_adp Search_word(Xowe_wiki wiki, Cancelable cancelable, Bry_bfr tmp_bfr, Xows_ns_mgr ns_mgr, byte[] search_word, int results_max) { + List_adp found = List_adp_.new_(); byte wiki_db_tid = wiki.Db_mgr().Tid(); if (wiki_db_tid == Xodb_mgr_sql.Tid_sql && wiki.Appe().Gui_mgr().Search_suggest_mgr().Auto_wildcard()) { // HACK: auto-asterisk words for sqlite; DATE:2013-09-05 @@ -56,10 +56,10 @@ class Xosrh_qry_itm { search_word = Bry_.Add(Byte_ascii.Asterisk, search_word); } wiki.Db_mgr().Load_mgr().Load_search(cancelable, found, search_word, results_max); - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); int found_len = found.Count(); for (int i = 0; i < found_len; i++) { - Xowd_page_itm page = (Xowd_page_itm)found.FetchAt(i); + Xowd_page_itm page = (Xowd_page_itm)found.Get_at(i); if ( ns_mgr.Has(page.Ns_id()) || wiki_db_tid == Xodb_mgr_txt.Tid_txt) // xdat does not store ns, so ns will always be null; no choice but to bring back all results; DATE:2013-11-14 rv.Add(page); @@ -74,28 +74,28 @@ class Xosrh_qry_itm { ids = Search_word(wiki, cancelable, tmp_bfr, ns_mgr, word, results_max); break; case Xosrh_qry_itm.Tid_word_quote: - OrderedHash tmp_search_list = OrderedHash_.new_(); + Ordered_hash tmp_search_list = Ordered_hash_.new_(); byte[][] words = gplx.xowa.bldrs.cmds.texts.Xob_search_base.Split_ttl_into_words(wiki.Lang(), tmp_search_list, tmp_bfr, word); int words_len = words.length; - ListAdp prv_list = null; + List_adp prv_list = null; for (int i = 0; i < words_len; i++) { if (cancelable.Canceled()) return; - ListAdp cur_list = Search_word(wiki, cancelable, tmp_bfr, ns_mgr, words[i], results_max); + List_adp cur_list = Search_word(wiki, cancelable, tmp_bfr, ns_mgr, words[i], results_max); if (prv_list == null) // 1st list; just set to cur_list prv_list = cur_list; else { // nth list; AND to prv_list; "A B" should find all titles with "A AND B" prv_list = Evaluate(word, true, prv_list, false, cur_list, false); } } - ListAdp tmp_ids = prv_list; + List_adp tmp_ids = prv_list; int ids_len = tmp_ids.Count(); if (ids_len == 0) return; if (cancelable.Canceled()) return; wiki.Db_mgr().Load_mgr().Load_by_ids(cancelable, tmp_ids, 0, ids_len); if (cancelable.Canceled()) return; - ids = ListAdp_.new_(); + ids = List_adp_.new_(); for (int i = 0; i < ids_len; i++) { - Xowd_page_itm itm = (Xowd_page_itm)tmp_ids.FetchAt(i); + Xowd_page_itm itm = (Xowd_page_itm)tmp_ids.Get_at(i); byte[] itm_ttl = itm.Ttl_page_db(); itm_ttl = wiki.Lang().Case_mgr().Case_build_lower(itm_ttl, 0, itm_ttl.length); // lowercase ttl (since all search words are lower-cased) itm_ttl = Bry_.Replace(itm_ttl, Byte_ascii.Underline, Byte_ascii.Space); // replace _ with " " (assume user will use spaces in search term) @@ -110,10 +110,10 @@ class Xosrh_qry_itm { } } static final byte Evaluate_tid_null = 0, Evaluate_tid_and = 1, Evaluate_tid_or = 2, Evaluate_tid_not_and = 3; - ListAdp Evaluate(byte[] src, boolean join_tid_is_and, Xosrh_qry_itm lhs, Xosrh_qry_itm rhs) { + List_adp Evaluate(byte[] src, boolean join_tid_is_and, Xosrh_qry_itm lhs, Xosrh_qry_itm rhs) { Xosrh_qry_ids lhs_grp = lhs.Matches(src), rhs_grp = rhs.Matches(src); boolean lhs_not = lhs_grp.Not(), rhs_not = rhs_grp.Not(); - ListAdp lhs_list = lhs_grp.Ids(), rhs_list = rhs_grp.Ids(); + List_adp lhs_list = lhs_grp.Ids(), rhs_list = rhs_grp.Ids(); if (lhs_not && rhs_not) return Evaluate_not_found("NOT cannot be applied to both lists: lhs:~{0} rhs:~{1}", lhs.Xto_str(src), rhs.Xto_str(src)); return Evaluate(src, join_tid_is_and, lhs_list, lhs_not, rhs_list, rhs_not); } @@ -125,10 +125,10 @@ class Xosrh_qry_itm { OR ,2 nots; fail; NOT xq OR NOT qx will yield all titles OR ,1 nots; fail; (a, cur_b, c, d) OR NOT (xq) will yield all titles */ - ListAdp Evaluate(byte[] src, boolean join_tid_is_and, ListAdp lhs_list, boolean lhs_not, ListAdp rhs_list, boolean rhs_not) { - ListAdp list_to_hash = null, list_to_comp = null; int len = 0; + List_adp Evaluate(byte[] src, boolean join_tid_is_and, List_adp lhs_list, boolean lhs_not, List_adp rhs_list, boolean rhs_not) { + List_adp list_to_hash = null, list_to_comp = null; int len = 0; byte tid = Evaluate_tid_null; - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); if (lhs_not || rhs_not) { if (!join_tid_is_and) return Evaluate_not_found("NOT cannot be applied with OR: lhs:~{0} rhs:~{1}", lhs.Xto_str(src), rhs.Xto_str(src)); @@ -156,16 +156,16 @@ class Xosrh_qry_itm { } len = list_to_hash.Count(); for (int i = 0; i < len; i++) { - Xowd_page_itm id = (Xowd_page_itm)list_to_hash.FetchAt(i); + Xowd_page_itm id = (Xowd_page_itm)list_to_hash.Get_at(i); try { if (!tmp_hash.Has(id.Id_val())) tmp_hash.Add(id.Id_val(), id); - } catch (Exception e) {Err_.Noop(e); tmp_hash.Clear(); return ListAdp_.Null;} // handle error in case of threading issues; must clear tmp_hash else will accumulate; + } catch (Exception e) {Err_.Noop(e); tmp_hash.Clear(); return List_adp_.Noop;} // handle error in case of threading issues; must clear tmp_hash else will accumulate; if (tid == Evaluate_tid_or) rv.Add(id); } len = list_to_comp.Count(); for (int i = 0; i < len; i++) { - Xowd_page_itm id = (Xowd_page_itm)list_to_comp.FetchAt(i); + Xowd_page_itm id = (Xowd_page_itm)list_to_comp.Get_at(i); boolean exists = tmp_hash.Has(id.Id_val()); switch (tid) { case Evaluate_tid_and: // iterate comp and add if in a; EX: (a,cur_b,c) AND (a,d); add a @@ -182,8 +182,8 @@ class Xosrh_qry_itm { } tmp_hash.Clear(); return rv; - } static OrderedHash tmp_hash = OrderedHash_.new_(); - ListAdp Evaluate_not_found(String msg, Object... args) { + } static Ordered_hash tmp_hash = Ordered_hash_.new_(); + List_adp Evaluate_not_found(String msg, Object... args) { return null; } public void Xto_str_bld(byte[] src, Bry_bfr bfr) { @@ -203,7 +203,7 @@ class Xosrh_qry_itm { } } public static final byte Tid_null = 0, Tid_root = 1, Tid_word = 2, Tid_word_quote = 3, Tid_not = 4, Tid_or = 5, Tid_and = 6; - public static byte[] Bry_not = Bry_.new_ascii_("NOT "), Bry_and = Bry_.new_ascii_(" AND "), Bry_or = Bry_.new_ascii_(" OR "); + public static byte[] Bry_not = Bry_.new_a7("NOT "), Bry_and = Bry_.new_a7(" AND "), Bry_or = Bry_.new_a7(" OR "); public static final Xosrh_qry_itm Null = new Xosrh_qry_itm(Tid_null, null, null, null); public static Xosrh_qry_itm nde_(byte tid, Xosrh_qry_itm lhs, Xosrh_qry_itm rhs) {return new Xosrh_qry_itm(tid, null, lhs, rhs);} public static Xosrh_qry_itm word_(byte[] src, Xosrh_qry_tkn word_tkn) { @@ -212,8 +212,8 @@ class Xosrh_qry_itm { } } class Xosrh_qry_ids { - public Xosrh_qry_ids(boolean not, ListAdp ids) {this.not = not; this.ids = ids;} + public Xosrh_qry_ids(boolean not, List_adp ids) {this.not = not; this.ids = ids;} public boolean Not() {return not;} public Xosrh_qry_ids Not_(boolean v) {not = v; return this;} private boolean not; - public ListAdp Ids() {return ids;} public Xosrh_qry_ids Ids_(ListAdp v) {ids = v; return this;} ListAdp ids = ListAdp_.Null; - public static final Xosrh_qry_ids Null = new Xosrh_qry_ids(false, ListAdp_.Null); + public List_adp Ids() {return ids;} public Xosrh_qry_ids Ids_(List_adp v) {ids = v; return this;} List_adp ids = List_adp_.Noop; + public static final Xosrh_qry_ids Null = new Xosrh_qry_ids(false, List_adp_.Noop); } 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 8c687baa3..d21f3dafd 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.core.primitives.*; import gplx.core.btries.*; class Xosrh_scanner { - ListAdp tkns = ListAdp_.new_(); byte[] src; int src_len; int pos; int txt_bgn; + List_adp tkns = List_adp_.new_(); byte[] src; int src_len; int pos; int txt_bgn; public Xosrh_qry_tkn[] Scan(byte[] src) { this.src = src; this.src_len = src.length; tkns.Clear(); pos = 0; txt_bgn = -1; @@ -44,7 +44,7 @@ class Xosrh_scanner { case Xosrh_qry_tkn.Tid_quote: // find end quote and add as word int quote_bgn = pos + 1; int quote_end = Bry_finder.Find_fwd(src, Byte_ascii.Quote, quote_bgn, src_len); - if (quote_end == Bry_.NotFound) throw Err_.new_fmt_("could not find end quote: {0}", String_.new_utf8_(src)); + if (quote_end == Bry_.NotFound) throw Err_.new_fmt_("could not find end quote: {0}", String_.new_u8(src)); Tkns_add_word(Xosrh_qry_tkn.Tid_word_quoted, quote_bgn, quote_end); pos = quote_end + 1; // +1 to place after quote break; @@ -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.Xto_ary_and_clear(Xosrh_qry_tkn.class); + return (Xosrh_qry_tkn[])tkns.To_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) { @@ -110,7 +110,7 @@ class Xosrh_scanner { } private void Tkns_add_word(byte tid, int src_bgn, int src_end) { if (tkns.Count() > 0) { // at least 1 tkn - Xosrh_qry_tkn last_tkn = (Xosrh_qry_tkn)tkns.FetchAtLast(); + Xosrh_qry_tkn last_tkn = (Xosrh_qry_tkn)tkns.Get_at_last(); if (last_tkn.Tid() == Xosrh_qry_tkn.Tid_word) // previous tkn is not word; auto "AND" words; EX: A B -> A AND B tkns.Add(Xosrh_qry_tkn.new_bry_(Xosrh_qry_tkn.Tid_and, Bry_and)); } @@ -127,9 +127,9 @@ class Xosrh_scanner { } tkns.Add(new_tkn_(tid, src_bgn, src_end)); } - OrderedHash tmp_list = OrderedHash_.new_(); Bry_bfr tmp_bfr = Bry_bfr.new_(); + Ordered_hash tmp_list = Ordered_hash_.new_(); Bry_bfr tmp_bfr = Bry_bfr.new_(); Xosrh_qry_tkn new_tkn_(byte tid, int val_bgn, int val_end) {return Xosrh_qry_tkn.new_pos_(tid, val_bgn, val_end);} - private static byte[] Bry_and = Bry_.new_ascii_("AND"); + private static byte[] Bry_and = Bry_.new_a7("AND"); private static final Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_()// NOTE:ci.ascii:OR / AND only .Add_str_byte(" ", Xosrh_qry_tkn.Tid_space) .Add_str_byte("\"", Xosrh_qry_tkn.Tid_quote) diff --git a/400_xowa/src/gplx/xowa/specials/search/Xow_domain_sorter__manual_tid.java b/400_xowa/src/gplx/xowa/specials/search/Xow_domain_sorter__manual_tid.java index d323d71d8..3699c4ae1 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xow_domain_sorter__manual_tid.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xow_domain_sorter__manual_tid.java @@ -52,12 +52,12 @@ class Xow_domain_sorter__manual implements gplx.lists.ComparerAble { } } class Xow_domain_sorter__manual_tid implements gplx.lists.ComparerAble { - private final HashAdp sort_hash = HashAdp_.new_(); private final Int_obj_ref sort_key = Int_obj_ref.neg1_(); + private final Hash_adp sort_hash = Hash_adp_.new_(); private final Int_obj_ref sort_key = Int_obj_ref.neg1_(); public Xow_domain_sorter__manual_tid(int[] id_ary) { int len = id_ary.length; for (int i = 0; i < len; ++i) { int id_itm = id_ary[i]; - sort_hash.AddReplace(Int_obj_ref.new_(id_itm), Int_obj_ref.new_(i)); + sort_hash.Add_if_dupe_use_nth(Int_obj_ref.new_(id_itm), Int_obj_ref.new_(i)); } } public int compare(Object lhsObj, Object rhsObj) { @@ -68,10 +68,10 @@ class Xow_domain_sorter__manual_tid implements gplx.lists.ComparerAble { if (lhs_sort == -1 && rhs_sort != -1) return rhs_sort; else if (lhs_sort != -1 && rhs_sort == -1) return lhs_sort; else if (lhs_sort != -1 && rhs_sort != -1) return Int_.Compare(lhs_sort, rhs_sort); - else return Bry_.Compare(Xow_domain_.Tid__get_bry(lhs.Domain_tid()), Xow_domain_.Tid__get_bry(rhs.Domain_tid())); + else return Bry_.Compare(Xow_domain_type_.Get_type_as_bry(lhs.Domain_tid()), Xow_domain_type_.Get_type_as_bry(rhs.Domain_tid())); } private int Get_sort_idx_or_neg1(int tid) { - Object o = sort_hash.Fetch(sort_key.Val_(tid)); + Object o = sort_hash.Get_by(sort_key.Val_(tid)); return o == null ? -1 : ((Int_obj_ref)o).Val(); } public static Xow_domain_sorter__manual_tid new_(byte[]... id_brys) { @@ -79,19 +79,19 @@ class Xow_domain_sorter__manual_tid implements gplx.lists.ComparerAble { int[] id_ints = new int[len]; for (int i = 0; i < len; ++i) { byte[] id_bry = id_brys[i]; - int id_int = Xow_domain_.Tid__get_int(id_bry); + int id_int = Xow_domain_type_.Get_type_as_tid(id_bry); id_ints[i] = id_int; } return new Xow_domain_sorter__manual_tid(id_ints); } } class Xow_domain_sorter__manual_lang implements gplx.lists.ComparerAble { - private final HashAdp sort_hash = HashAdp_.new_(); private final Int_obj_ref sort_key = Int_obj_ref.neg1_(); + private final Hash_adp sort_hash = Hash_adp_.new_(); private final Int_obj_ref sort_key = Int_obj_ref.neg1_(); public Xow_domain_sorter__manual_lang(int[] id_ary) { int len = id_ary.length; for (int i = 0; i < len; ++i) { int id_int = id_ary[i]; - sort_hash.AddReplace(Int_obj_ref.new_(id_int), Int_obj_ref.new_(i)); + sort_hash.Add_if_dupe_use_nth(Int_obj_ref.new_(id_int), Int_obj_ref.new_(i)); } } public int compare(Object lhsObj, Object rhsObj) { @@ -105,7 +105,7 @@ class Xow_domain_sorter__manual_lang implements gplx.lists.ComparerAble { else return Bry_.Compare(lhs.Lang_key(), rhs.Lang_key()); } private int Get_sort_idx_or_neg1(int tid) { - Object o = sort_hash.Fetch(sort_key.Val_(tid)); + Object o = sort_hash.Get_by(sort_key.Val_(tid)); return o == null ? -1 : ((Int_obj_ref)o).Val(); } public static Xow_domain_sorter__manual_lang new_(byte[]... id_brys) { diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_arg_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xows_arg_mgr.java index ce5501c33..a163c722d 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_arg_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_arg_mgr.java @@ -40,12 +40,12 @@ class Xows_arg_mgr { for (int i = 0; i < len; ++i) { Gfo_url_arg arg = arg_ary[i]; byte[] key = arg.Key_bry(); - Object tid = url_args.Fetch(key); + Object tid = url_args.Get_by(key); if (tid != null) { switch (((Byte_obj_val)tid).Val()) { case Arg_search: this.search_bry = Bry_.Replace(arg.Val_bry(), Byte_ascii.Plus, Byte_ascii.Space); break; case Arg_page_idx: this.paging_idx = Bry_.Xto_int_or(arg.Val_bry(), 0); break; - case Arg_sort: this.sort_tid = Xosrh_rslt_itm_sorter.parse_(String_.new_ascii_(arg.Val_bry())); break; + case Arg_sort: this.sort_tid = Xosrh_rslt_itm_sorter.parse_(String_.new_a7(arg.Val_bry())); break; case Arg_cancel: this.cancel = arg.Val_bry(); break; case Arg_paging: this.paging_itms = paging_parser.Parse(arg.Val_bry()); break; default: break; @@ -59,10 +59,10 @@ class Xows_arg_mgr { ns_mgr.Add_main_if_empty(); } private static final byte Arg_search = 0, Arg_page_idx = 1, Arg_sort = 2, Arg_cancel = 3, Arg_paging = 4; - private static byte[] Ns_bry = Bry_.new_ascii_("ns"); + private static byte[] Ns_bry = Bry_.new_a7("ns"); public static final byte[] - Arg_bry_page_index = Bry_.new_ascii_("xowa_page_index") - , Arg_bry_cancel = Bry_.new_ascii_("cancel") + Arg_bry_page_index = Bry_.new_a7("xowa_page_index") + , Arg_bry_cancel = Bry_.new_a7("cancel") ; private static final Hash_adp_bry url_args = Hash_adp_bry.ci_ascii_() .Add_str_byte("xowa_paging", Arg_paging) diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_core.java b/400_xowa/src/gplx/xowa/specials/search/Xows_core.java index 340b3a104..cb0338d94 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_core.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_core.java @@ -18,10 +18,10 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.dbs.*; import gplx.xowa.wikis.*; import gplx.xowa.wikis.data.*; class Xows_core { - private final Xoa_wiki_mgr wiki_mgr; + private final Xoae_wiki_mgr wiki_mgr; private final Hash_adp_bry cache_hash = Hash_adp_bry.cs_(); private final Hash_adp_bry cmd_hash = Hash_adp_bry.cs_(); private boolean ask_for_upgrade = true; private final Hash_adp_bry upgraded_wikis = Hash_adp_bry.cs_(); - public Xows_core(Xoa_wiki_mgr wiki_mgr) {this.wiki_mgr = wiki_mgr;} + public Xows_core(Xoae_wiki_mgr wiki_mgr) {this.wiki_mgr = wiki_mgr;} private final Xows_html_wkr html_wkr = new Xows_html_wkr(); public Xows_db_cache Get_cache_or_new(byte[] key) { Xows_db_cache cache = (Xows_db_cache)cache_hash.Get_by_bry(key); @@ -50,7 +50,7 @@ class Xows_core { Bry_bfr tmp_bfr = Bry_bfr.new_(); for (int i = 0; i < cmds_len; ++i) { Xows_ui_cmd cmd = qry.Cmds__get_at(i); byte[] cmd_key = cmd.Key(); - cmd_hash.AddReplace(cmd_key, cmd); + cmd_hash.Add_if_dupe_use_nth(cmd_key, cmd); boolean searching_db = cmd.Search(); html_wkr.Gen_tbl(tmp_bfr, cmd.Rslt(), cmd_key, cmd.Wiki().Domain_bry(), searching_db); } @@ -72,7 +72,7 @@ class Xows_core { && !search_db.Tbl__search_word().Ddl__page_count() && !upgraded_wikis.Has(wiki.Domain_bry()) ) { ask_for_upgrade = false; - upgraded_wikis.AddKeyVal(wiki.Domain_bry()); + upgraded_wikis.Add_as_key_and_val(wiki.Domain_bry()); boolean ok = wiki.Appe().Gui_mgr().Kit().Ask_ok_cancel("", "", String_.Concat_lines_nl_skip_last ( "XOWA would like to upgrade your search database for " + wiki.Domain_str() + "." , "* Press OK to upgrade. This may take a few minutes." diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_db_cache.java b/400_xowa/src/gplx/xowa/specials/search/Xows_db_cache.java index e860bb8ec..952d6e6d9 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_db_cache.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_db_cache.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.xowa.specials.search.parsers_old.*; class Xows_db_cache { // one cache per search term; EX: "Earth* AND (History OR Future) AND -"middle earth"" is one cache - private final OrderedHash hash = OrderedHash_.new_bry_(); + private final Ordered_hash hash = Ordered_hash_.new_bry_(); public Xows_db_word[] Words() {return words;} private Xows_db_word[] words; // words in cache; EX: earth, history, future but not "middle earth" (since not'ed) public Xows_db_matcher Matcher() {return matcher;} private Xows_db_matcher matcher; // criteria public boolean Done() {return done;} public void Done_y_() {done = true;} private boolean done; // marks if db search is done @@ -29,14 +29,14 @@ class Xows_db_cache { // one cache per search term; EX: "Earth* AND (History OR this.words = new Xows_db_matcher_bldr().Gather_words_for_db(cxl, matcher, word_tbl); } public boolean Has(byte[] key) {return hash.Has(key);} - public Xows_db_row Get_at(int i) {return (Xows_db_row)hash.FetchAt(i);} + public Xows_db_row Get_at(int i) {return (Xows_db_row)hash.Get_at(i);} public void Add(Xows_db_row row) {hash.Add(row.Page_ttl().Full_db(), row);} public void Get_between(Xows_ui_rslt search_ui, int bgn, int end) { if (bgn >= hash.Count()) return; // requested start not in cache; exit for (int i = bgn; i < end; ++i) { if (i >= hash.Count()) break; - search_ui.Add((Xows_db_row)hash.FetchAt(i)); + search_ui.Add((Xows_db_row)hash.Get_at(i)); } } - public void Sort() {hash.SortBy(Xows_db_row_sorter.Page_len_dsc);} + public void Sort() {hash.Sort_by(Xows_db_row_sorter.Page_len_dsc);} } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_db_matcher_bldr.java b/400_xowa/src/gplx/xowa/specials/search/Xows_db_matcher_bldr.java index 52ba944d5..9336adbca 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_db_matcher_bldr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_db_matcher_bldr.java @@ -19,12 +19,12 @@ package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gpl import gplx.xowa.wikis.data.tbls.*; class Xows_db_matcher_bldr { public Xows_db_word[] Gather_words_for_db(Cancelable cxl, Xows_db_matcher matcher, Xowd_search_word_tbl word_tbl) { - ListAdp rv = ListAdp_.new_(); + List_adp rv = List_adp_.new_(); Gather_words_for_db(cxl, matcher, rv, word_tbl); - rv.SortBy(Xows_db_word_sorter.Page_count_dsc); - return (Xows_db_word[])rv.Xto_ary(Xows_db_word.class); + rv.Sort_by(Xows_db_word_sorter.Page_count_dsc); + return (Xows_db_word[])rv.To_ary(Xows_db_word.class); } - private void Gather_words_for_db(Cancelable cxl, Xows_db_matcher matcher, ListAdp rv, Xowd_search_word_tbl word_tbl) { + private void Gather_words_for_db(Cancelable cxl, Xows_db_matcher matcher, List_adp rv, Xowd_search_word_tbl word_tbl) { switch (matcher.Tid()) { case Xows_db_matcher.Tid_word: byte[] word_text = matcher.Raw(); @@ -34,7 +34,7 @@ class Xows_db_matcher_bldr { Load_word_one(rv, word_text, word_tbl); break; case Xows_db_matcher.Tid_word_quote: - ListAdp tmp = ListAdp_.new_(); + List_adp tmp = List_adp_.new_(); byte[][] words = Bry_.Split(matcher.Raw(), Byte_ascii.Space, Bool_.Y); int words_len = words.length; for (int i = 0; i < words_len; ++i) { @@ -42,14 +42,14 @@ class Xows_db_matcher_bldr { Load_word_one(tmp, word, word_tbl); } if (tmp.Count() == 0) return; // no words in db; EX: "xyz cba" - tmp.SortBy(Xows_db_word_sorter.Page_count_dsc); - rv.Add(tmp.FetchAt(0)); // add lowest page_count word to db; EX: search for "earth and" should search for "earth" only, but match for "earth and" + tmp.Sort_by(Xows_db_word_sorter.Page_count_dsc); + rv.Add(tmp.Get_at(0)); // add lowest page_count word to db; EX: search for "earth and" should search for "earth" only, but match for "earth and" break; case Xows_db_matcher.Tid_and: - ListAdp lhs_tmp = ListAdp_.new_(), rhs_tmp = ListAdp_.new_(); + List_adp lhs_tmp = List_adp_.new_(), rhs_tmp = List_adp_.new_(); Gather_words_for_db(cxl, matcher.Lhs(), lhs_tmp, word_tbl); Gather_words_for_db(cxl, matcher.Rhs(), rhs_tmp, word_tbl); - ListAdp_.Add_list(rv, Calc_lowest(lhs_tmp, rhs_tmp)); // calc side with lowest count; add to rv; + List_adp_.Add_list(rv, Calc_lowest(lhs_tmp, rhs_tmp)); // calc side with lowest count; add to rv; break; case Xows_db_matcher.Tid_or: Gather_words_for_db(cxl, matcher.Lhs(), rv, word_tbl); @@ -60,7 +60,7 @@ class Xows_db_matcher_bldr { default: throw Err_.unhandled(matcher.Tid()); } } - private ListAdp Calc_lowest(ListAdp lhs, ListAdp rhs) { + private List_adp Calc_lowest(List_adp lhs, List_adp rhs) { int lhs_count = Calc(lhs); int rhs_count = Calc(rhs); // never return 0 as lowest count; note that NOT will return 0; @@ -68,22 +68,22 @@ class Xows_db_matcher_bldr { else if (rhs_count == 0) return lhs; else return lhs_count < rhs_count ? lhs : rhs; } - private int Calc(ListAdp list) { + private int Calc(List_adp list) { int rv = 0; int len = list.Count(); for (int i = 0; i < len; ++i) { - Xows_db_word word = (Xows_db_word)list.FetchAt(i); + Xows_db_word word = (Xows_db_word)list.Get_at(i); rv += word.Page_count(); } return rv; } - private void Load_word_one(ListAdp rv, byte[] word_text, Xowd_search_word_tbl word_tbl) { + private void Load_word_one(List_adp rv, byte[] word_text, Xowd_search_word_tbl word_tbl) { Xoa_app_.Usr_dlg().Prog_many("", "", "search:word by text; word=~{0}", word_text); Xowd_search_word_row row = word_tbl.Select_by_or_null(word_text); if (row == Xowd_search_word_row.Null) return; Xows_db_word word = new Xows_db_word(row.Id(), row.Text(), row.Page_count()); rv.Add(word); } - private void Load_word_many(Cancelable cxl, ListAdp rv, byte[] word_text, Xowd_search_word_tbl word_tbl) { + private void Load_word_many(Cancelable cxl, List_adp rv, byte[] word_text, Xowd_search_word_tbl word_tbl) { Xoa_app_.Usr_dlg().Prog_many("", "", "search:word by wildcard; word=~{0}", word_text); Xowd_search_word_row[] rows = word_tbl.Select_in(cxl, word_text); int len = rows.length; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_db_wkr.java b/400_xowa/src/gplx/xowa/specials/search/Xows_db_wkr.java index 51608d713..d0a9d1bc0 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_db_wkr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_db_wkr.java @@ -76,7 +76,7 @@ class Xows_db_wkr { int page_ns = rdr.Read_int(page_tbl.Fld_page_ns()); if (!qry.Ns_mgr().Has(page_ns)) continue; // ignore: ns doesn't match byte[] page_ttl = rdr.Read_bry_by_str(page_tbl.Fld_page_title()); - // Io_mgr._.AppendFilStr("C:\\temp.txt", String_.new_utf8_(word.Text()) + "|" + Int_.Xto_str(page_ns) + "|" + String_.new_utf8_(page_ttl) + "\n"); + // Io_mgr.I.AppendFilStr("C:\\temp.txt", String_.new_u8(word.Text()) + "|" + Int_.Xto_str(page_ns) + "|" + String_.new_u8(page_ttl) + "\n"); byte[] page_ttl_lc = case_mgr.Case_build_lower(Xoa_ttl.Replace_unders(page_ttl)); byte[][] page_ttl_words = Bry_.Split(page_ttl_lc, Byte_ascii.Space, Bool_.Y); if (!matcher.Matches(page_ttl_lc, page_ttl_words)) continue; // ignore: ttl doesn't match matcher diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr.java b/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr.java index d8eb5c758..3a0a5ac96 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr.java @@ -28,8 +28,8 @@ class Xows_html_wkr { self_lnkr.Init_w_qarg(qry.Special_link_base_href()); } public byte[] Gen_page(byte[] tbls) { - byte[] rslts_hdr = fmtr_rslts.Bld_bry_many(tmp_bfr, num_mgr.Format_num(qry.Itms_bgn() + ListAdp_.Base1), num_mgr.Format_num(qry.Itms_end()), qry.Search_raw()); - byte[] option_link = lnki_bldr.Href_(Bry_.new_ascii_("home"), wiki.Ttl_parse(Bry_.new_ascii_("Help:Options/Search"))).Img_16x16(Xoh_img_path.Img_option).Bld_to_bry(); + byte[] rslts_hdr = fmtr_rslts.Bld_bry_many(tmp_bfr, num_mgr.Format_num(qry.Itms_bgn() + List_adp_.Base1), num_mgr.Format_num(qry.Itms_end()), qry.Search_raw()); + byte[] option_link = lnki_bldr.Href_(Bry_.new_a7("home"), wiki.Ttl_parse(Bry_.new_a7("Help:Options/Search"))).Img_16x16(Xoh_img_path.Img_option).Bld_to_bry(); fmtr_page.Bld_bfr_many(tmp_bfr, rslts_hdr, option_link, Paging_link(Bool_.N), Paging_link(Bool_.Y), tbls); return tmp_bfr.Xto_bry_and_clear(); } @@ -39,7 +39,7 @@ class Xows_html_wkr { fmtr_tbl.Bld_bfr_many(bfr, search_link, searching_db ? Cancel_link(wiki_domain, cmd_key) : Bry_.Empty, Bry_hdr_len, Bry_hdr_ttl, Xows_ui_async.Gen_insert_key(wiki_domain), html_rows); } private byte[] Cancel_link(byte[] domain, byte[] cmd_key) { - lnki_bldr.Id_(Bry_.Add(Bry_.new_ascii_("xowa_cancel_"), domain)); + lnki_bldr.Id_(Bry_.Add(Bry_.new_a7("xowa_cancel_"), domain)); lnki_bldr.Href_(wiki, self_lnkr.Add_int(Xows_arg_mgr.Arg_bry_page_index, qry.Page_idx()).Add_bry(Xows_arg_mgr.Arg_bry_cancel, cmd_key).Bld_to_bry()); lnki_bldr.Title_(Bry_cancel); lnki_bldr.Img_16x16(Xoh_img_path.Img_cancel); @@ -86,8 +86,8 @@ class Xows_html_wkr { , "
    " ), "wiki", "cancel", "hdr_len", "hdr_ttl", "insert_key", "rows"); private static final Bry_fmtr fmtr_rslts = Bry_fmtr.new_("Results ~{bgn} of ~{end} for ~{raw}", "bgn", "end", "raw"); - private static final byte[] Bry_paging_fwd = Bry_.new_ascii_("Next"), Bry_paging_bwd = Bry_.new_ascii_("Previous"), Bry_cancel = Bry_.new_ascii_("Stop searching") - , Bry_hdr_len = Bry_.new_ascii_("Page length"), Bry_hdr_ttl = Bry_.new_ascii_("Page title") + private static final byte[] Bry_paging_fwd = Bry_.new_a7("Next"), Bry_paging_bwd = Bry_.new_a7("Previous"), Bry_cancel = Bry_.new_a7("Stop searching") + , Bry_hdr_len = Bry_.new_a7("Page length"), Bry_hdr_ttl = Bry_.new_a7("Page title") ; } class Xows_html_row implements Bry_fmtr_arg { diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr_tst.java b/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr_tst.java index 64416634d..9e6072b1a 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_html_wkr_tst.java @@ -54,11 +54,11 @@ class Xows_html_wkr_fxt { return this; } public void Test_paging(boolean fwd, int paging_idx, String expd) { - Xows_ui_qry qry = new Xows_ui_qry(Bry_.new_ascii_("A"), paging_idx, 100, Xosrh_rslt_itm_sorter.Tid_len_dsc, new Xows_ns_mgr(), true, new Xow_domain[] {Xow_domain_.parse(wiki.Domain_bry())}); + Xows_ui_qry qry = new Xows_ui_qry(Bry_.new_a7("A"), paging_idx, 100, Xosrh_rslt_itm_sorter.Tid_len_dsc, new Xows_ns_mgr(), true, new Xow_domain[] {Xow_domain_.parse(wiki.Domain_bry())}); qry.Page_max_(2); html_mgr.Init_by_wiki(wiki, wiki.Lang().Num_mgr(), qry); byte[] paging_link = html_mgr.Paging_link(fwd); - Tfds.Eq(expd, String_.new_ascii_(paging_link)); + Tfds.Eq(expd, String_.new_a7(paging_link)); } public void Test_rows(Xows_db_row[] rows, String expd) { Xows_ui_rslt rslt = new Xows_ui_rslt(); @@ -70,7 +70,7 @@ class Xows_html_wkr_fxt { Tfds.Eq_str_lines(expd, tmp_bfr.Xto_str_and_clear()); } public Xows_db_row Make_row(int len, String ttl_str) { - byte[] ttl_bry = Bry_.new_utf8_(ttl_str); - return new Xows_db_row(Bry_.new_ascii_("w"), wiki.Ttl_parse(ttl_bry), 1, len); + byte[] ttl_bry = Bry_.new_u8(ttl_str); + return new Xows_db_row(Bry_.new_a7("w"), wiki.Ttl_parse(ttl_bry), 1, len); } } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_ns_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xows_ns_mgr.java index 0a842e41c..71024db45 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_ns_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_ns_mgr.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.core.primitives.*; public class Xows_ns_mgr { - private final OrderedHash ns_hash = OrderedHash_.new_(); private final Int_obj_ref tmp_ns_id = Int_obj_ref.neg1_(); private final Bry_bfr tmp_bfr = Bry_bfr.reset_(32); + private final Ordered_hash ns_hash = Ordered_hash_.new_(); private final Int_obj_ref tmp_ns_id = Int_obj_ref.neg1_(); private final Bry_bfr tmp_bfr = Bry_bfr.reset_(32); private boolean ns_all, ns_main; public void Clear() { ns_hash.Clear(); @@ -33,7 +33,7 @@ public class Xows_ns_mgr { public void Add_by_id(int ns_id) { if (ns_hash.Has(tmp_ns_id.Val_(ns_id))) ns_hash.Del(tmp_ns_id); - ns_hash.AddKeyVal(Int_obj_ref.new_(ns_id)); + ns_hash.Add_as_key_and_val(Int_obj_ref.new_(ns_id)); } public void Add_by_name(byte[] ns_name) { int id = Xow_ns_.Canonical_id(ns_name); @@ -50,8 +50,8 @@ public class Xows_ns_mgr { if (key_len == 3 && key[2] == Byte_ascii.Asterisk) // translate ns* as ns_all ns_all = true; else { - int ns_id = Bry_.Xto_int_or(key, 2, key_len, -1); - if (ns_id != -1) { // ignore invalid ints; EX: &nsabc=1; + int ns_id = Bry_.Xto_int_or(key, 2, key_len, Int_.MinValue); + if (ns_id != Int_.MinValue) { // ignore invalid ints; EX: &nsabc=1; Add_by_id(ns_id); ns_main = ns_all = false; } @@ -71,7 +71,7 @@ public class Xows_ns_mgr { int ns_hash_len = ns_hash.Count(); for (int i = 0; i < ns_hash_len; i++) { if (i != 0) tmp_bfr.Add_byte_semic(); - Int_obj_ref ns_id_ref = (Int_obj_ref)ns_hash.FetchAt(i); + Int_obj_ref ns_id_ref = (Int_obj_ref)ns_hash.Get_at(i); tmp_bfr.Add_int_variable(ns_id_ref.Val()); } return tmp_bfr.Xto_bry_and_clear(); diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_page__search.java b/400_xowa/src/gplx/xowa/specials/search/Xows_page__search.java index 720819c4a..5b943edad 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_page__search.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_page__search.java @@ -34,7 +34,7 @@ public class Xows_page__search implements Xows_page, GfoInvkAble, GfoEvObj { public Xows_special_meta Special_meta() {return Xows_special_meta_.Itm__search;} private void Multi_wikis_changed() { Xow_domain_crt_itm crt = search_api.Multi_wikis_crt(wiki_domain); - this.search_domain_ary = app.User().Wiki().Xwiki_mgr().Get_by_crt(wiki_domain, crt); + this.search_domain_ary = app.Usere().Wiki().Xwiki_mgr().Get_by_crt(wiki_domain, crt); if (search_domain_ary.length == 0) search_domain_ary = new Xow_domain[] {wiki_domain}; // default to current if bad input Multi_sorts_changed(); } @@ -45,7 +45,7 @@ public class Xows_page__search implements Xows_page, GfoInvkAble, GfoEvObj { Xow_domain_sorter__manual.Sort(sorter, search_domain_ary); } public void Special_gen(Xowe_wiki wiki, Xoae_page page, Xoa_url url, Xoa_ttl ttl) { - if (wiki.Domain_tid() == Xow_domain_.Tid_int_home) return; // do not allow search in home wiki; will throw null ref error b/c no search_ttl dirs + if (wiki.Domain_tid() == Xow_domain_type_.Tid_home) return; // do not allow search in home wiki; will throw null ref error b/c no search_ttl dirs if (search_domain_ary == null) Multi_wikis_changed(); // get args Xog_search_suggest_mgr search_suggest_mgr = wiki.Appe().Gui_mgr().Search_suggest_mgr(); diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_paging_parser.java b/400_xowa/src/gplx/xowa/specials/search/Xows_paging_parser.java index 98d44e2e6..7eb95048c 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_paging_parser.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_paging_parser.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.core.brys.*; class Xows_paging_parser { - private final ListAdp itm_list = ListAdp_.new_(); + private final List_adp itm_list = List_adp_.new_(); private final Bry_rdr rdr = new Bry_rdr(); public Xows_paging_itm[] Parse(byte[] raw) { // EX: en.wikipedia.org|41|60;en.wiktionary.org|21|40; rdr.Src_(raw); @@ -29,7 +29,7 @@ class Xows_paging_parser { Xows_paging_itm itm = new Xows_paging_itm(wiki, bgn, end); itm_list.Add(itm); } - return (Xows_paging_itm[])itm_list.Xto_ary_and_clear(Xows_paging_itm.class); + return (Xows_paging_itm[])itm_list.To_ary_and_clear(Xows_paging_itm.class); } } class Xows_paging_itm { diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async.java b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async.java index 37259594e..4247bf802 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async.java @@ -66,5 +66,5 @@ class Xows_ui_async { return -Int_.Compare(lhs.Page_len(), rhs.Page_len()); } public static byte[] Gen_insert_key(byte[] wiki) {return Bry_.Add(Bry_insert_key, wiki);} - private static final byte[] Bry_insert_key = Bry_.new_ascii_("xowa_insert_"); + private static final byte[] Bry_insert_key = Bry_.new_a7("xowa_insert_"); } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async_tst.java b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async_tst.java index 79f851402..f40af0d31 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_async_tst.java @@ -31,7 +31,7 @@ public class Xows_ui_async_tst { } } class Xows_ui_async_fxt { - private Xows_html_row html_row; private static final byte[] Bry_enwiki = Bry_.new_ascii_("w"); + private Xows_html_row html_row; private static final byte[] Bry_enwiki = Bry_.new_a7("w"); private Xows_ui_async async; private Xog_js_wkr__log js_wkr = new Xog_js_wkr__log(); private Xowe_wiki wiki; @@ -43,7 +43,7 @@ class Xows_ui_async_fxt { async = new Xows_ui_async(Cancelable_.Never, html_row, js_wkr, 5, Bry_enwiki); } public Xows_db_row Make_rslt(int len, String ttl) { - byte[] ttl_bry = Bry_.new_ascii_(ttl); + byte[] ttl_bry = Bry_.new_a7(ttl); return new Xows_db_row(Bry_enwiki, wiki.Ttl_parse(ttl_bry), 1, len); } public Object[] Make_args_append(String uid, String html) {return Object_.Ary(Xog_js_wkr__log.Proc_append_above, uid, html);} diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_qry.java b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_qry.java index 1a13856b6..0d10ab107 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_qry.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_qry.java @@ -18,13 +18,13 @@ along with this program. If not, see . package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.xowa.wikis.*; class Xows_ui_qry { - private final ListAdp cmd_list = ListAdp_.new_(); + private final List_adp cmd_list = List_adp_.new_(); public Xows_ui_qry(byte[] search_raw, int page_idx, int page_len, byte sort_tid, Xows_ns_mgr ns_mgr, boolean async_db, Xow_domain[] wiki_domains) { this.search_raw = search_raw; this.page_idx = page_idx; this.page_len = page_len; this.sort_tid = sort_tid; this.ns_mgr = ns_mgr; this.async_db = async_db; this.wiki_domains = wiki_domains; this.itms_bgn = page_idx * page_len; this.page_max = page_idx; // default page_max to page_idx; adjust later when all results are known this.key = Bry_.Add_w_dlm(Byte_ascii.Pipe, search_raw, ns_mgr.To_hash_key()); - this.special_link_base_href = Bry_.Add(Bry_.new_ascii_("Special:Search/"), search_raw, Bry_.new_ascii_("?fulltext=y")); + this.special_link_base_href = Bry_.Add(Bry_.new_a7("Special:Search/"), search_raw, Bry_.new_a7("?fulltext=y")); } public byte[] Key() {return key;} private final byte[] key; public byte[] Search_raw() {return search_raw;} private final byte[] search_raw; @@ -39,7 +39,7 @@ class Xows_ui_qry { public Xow_domain[] Wiki_domains() {return wiki_domains;} private final Xow_domain[] wiki_domains; public void Page_max_(int v) {this.page_max = v;} public int Cmds__len() {return cmd_list.Count();} - public Xows_ui_cmd Cmds__get_at(int i) {return (Xows_ui_cmd)cmd_list.FetchAt(i);} + public Xows_ui_cmd Cmds__get_at(int i) {return (Xows_ui_cmd)cmd_list.Get_at(i);} public void Cmds__add(Xows_ui_cmd cmd) {cmd_list.Add(cmd);} public byte[] Special_link_base_href() {return special_link_base_href;} private final byte[] special_link_base_href; } diff --git a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_rslt.java b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_rslt.java index 5863ccee6..276a7b329 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xows_ui_rslt.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xows_ui_rslt.java @@ -17,8 +17,8 @@ along with this program. If not, see . */ package gplx.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; class Xows_ui_rslt { - private final ListAdp rslt_list = ListAdp_.new_(); + private final List_adp rslt_list = List_adp_.new_(); public int Len() {return rslt_list.Count();} public void Add(Xows_db_row rslt) {rslt_list.Add(rslt);} - public Xows_db_row Get_at(int i) {return (Xows_db_row)rslt_list.FetchAt(i);} + public Xows_db_row Get_at(int i) {return (Xows_db_row)rslt_list.Get_at(i);} } diff --git a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v1.java b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v1.java index 749336d42..a4020f7bc 100644 --- a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v1.java +++ b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v1.java @@ -19,7 +19,7 @@ package gplx.xowa.specials.search.parsers; import gplx.*; import gplx.xowa.*; im import gplx.core.primitives.*; class Xows_text_parser__v1 { private Xol_lang lang; private Bry_bfr bfr = Bry_bfr.new_(255); - private final OrderedHash list = OrderedHash_.new_bry_(); + private final Ordered_hash list = Ordered_hash_.new_bry_(); public void Init(Xol_lang lang) {this.lang = lang;} public void Parse(byte[] src, int src_len, int bgn, int end) { if (lang != null) { // null lang passed in by searcher @@ -61,8 +61,8 @@ class Xows_text_parser__v1 { break; } } -// byte[][] rv = (byte[][])list.Xto_ary(typeof(byte[])); -// list.Clear(); list.ResizeBounds(16); +// byte[][] rv = (byte[][])list.To_ary(typeof(byte[])); +// list.Clear(); list.Resize_bounds(16); // return rv; } } diff --git a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2.java b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2.java index 1efeaf978..27e98590b 100644 --- a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2.java +++ b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2.java @@ -83,12 +83,12 @@ class Xows_text_parser__v2 { public boolean Ws__is_word_end(int pos) {return parser__ws.Is_word_end(src, end, pos);} } class Xob_word_mgr { - private final OrderedHash hash = OrderedHash_.new_bry_(); + private final Ordered_hash hash = Ordered_hash_.new_bry_(); public void Clear() {hash.Clear();} public int Len() {return hash.Count();} - public Xob_word_itm Get_at(int i) {return (Xob_word_itm)hash.FetchAt(i);} + public Xob_word_itm Get_at(int i) {return (Xob_word_itm)hash.Get_at(i);} public void Add(byte[] word) { - Xob_word_itm itm = (Xob_word_itm)hash.Fetch(word); + Xob_word_itm itm = (Xob_word_itm)hash.Get_by(word); if (itm == null) { itm = new Xob_word_itm(word); hash.Add(word, itm); diff --git a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2_tst.java b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2_tst.java index 59cc7d551..771365063 100644 --- a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2_tst.java +++ b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_parser__v2_tst.java @@ -122,7 +122,7 @@ class Xows_text_parser__v2_fxt { word_mgr.Clear(); return this; } - public Xob_word_itm Make_word(String raw, int count) {return new Xob_word_itm(Bry_.new_utf8_(raw)).Count_(count);} + public Xob_word_itm Make_word(String raw, int count) {return new Xob_word_itm(Bry_.new_u8(raw)).Count_(count);} public void Test_split(String src, String... expd_words) { int len = expd_words.length; Xob_word_itm[] ary = new Xob_word_itm[len]; @@ -132,7 +132,7 @@ class Xows_text_parser__v2_fxt { Test_split(src, ary); } public void Test_split(String src, Xob_word_itm... expd_words) { - byte[] src_bry = Bry_.new_utf8_(src); + byte[] src_bry = Bry_.new_u8(src); word_parser.Parse(src_bry, src_bry.length, 0, src_bry.length); Tfds.Eq_str_lines(To_str(expd_words), To_str(word_mgr)); } diff --git a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_tkn.java b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_tkn.java index b0e07fea1..befdff5b4 100644 --- a/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_tkn.java +++ b/400_xowa/src/gplx/xowa/specials/search/parsers/Xows_text_tkn.java @@ -78,7 +78,7 @@ class Xows_text_tkn__ellipsis implements Xows_text_tkn { return rv; } public static Xows_text_tkn new_(Btrie_slim_mgr trie, String ellipsis) { - byte[] bry = Bry_.new_utf8_(ellipsis); + byte[] bry = Bry_.new_u8(ellipsis); Xows_text_tkn rv = new Xows_text_tkn__ellipsis(Bry_.Get_at_end_or_fail(bry)); trie.Add_obj(bry, rv); return rv; @@ -119,7 +119,7 @@ class Xows_text_tkn__apos implements Xows_text_tkn { } private static final byte Apos_contraction = 1, Apos_possessive_plural = 2, Apos_possessive_singular = 3; public static Xows_text_tkn new_(Btrie_slim_mgr trie, String apos, byte possessive_byte) { - byte[] bry = Bry_.new_utf8_(apos); + byte[] bry = Bry_.new_u8(apos); Xows_text_tkn rv = new Xows_text_tkn__apos(possessive_byte); trie.Add_obj(bry, rv); return rv; @@ -138,7 +138,7 @@ class Xows_text_tkn__apos implements Xows_text_tkn { // return tkn_end; // } // public static Xows_text_tkn new_(Btrie_slim_mgr trie, String dash) { -// byte[] bry = Bry_.new_utf8_(dash); +// byte[] bry = Bry_.new_u8(dash); // Xows_text_tkn rv = new Xows_text_tkn__slash(); // trie.Add_obj(bry, rv); // return rv; diff --git a/400_xowa/src/gplx/xowa/specials/search/parsers_old/Xow_search_scanner.java b/400_xowa/src/gplx/xowa/specials/search/parsers_old/Xow_search_scanner.java index da646867f..1529c8d4f 100644 --- a/400_xowa/src/gplx/xowa/specials/search/parsers_old/Xow_search_scanner.java +++ b/400_xowa/src/gplx/xowa/specials/search/parsers_old/Xow_search_scanner.java @@ -18,8 +18,8 @@ along with this program. If not, see . package gplx.xowa.specials.search.parsers_old; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.xowa.specials.search.*; import gplx.core.primitives.*; import gplx.core.btries.*; class Xow_search_scanner { - private final ListAdp tkns = ListAdp_.new_(); private byte[] src; private int src_len, pos, txt_bgn; - private final OrderedHash tmp_list = OrderedHash_.new_(); private final Bry_bfr tmp_bfr = Bry_bfr.new_(); + private final List_adp tkns = List_adp_.new_(); private byte[] src; private int src_len, pos, txt_bgn; + private final Ordered_hash tmp_list = Ordered_hash_.new_(); private final Bry_bfr tmp_bfr = Bry_bfr.new_(); public Xow_search_tkn[] Scan(byte[] src) { this.src = src; this.src_len = src.length; tkns.Clear(); pos = 0; txt_bgn = -1; @@ -45,7 +45,7 @@ class Xow_search_scanner { case Xow_search_tkn.Tid_quote: // find end quote and add as word int quote_bgn = pos + 1; int quote_end = Bry_finder.Find_fwd(src, Byte_ascii.Quote, quote_bgn, src_len); - if (quote_end == Bry_.NotFound) throw Err_.new_fmt_("could not find end quote: {0}", String_.new_utf8_(src)); + if (quote_end == Bry_.NotFound) throw Err_.new_fmt_("could not find end quote: {0}", String_.new_u8(src)); Tkns_add_word(Xow_search_tkn.Tid_word_quoted, quote_bgn, quote_end); pos = quote_end + 1; // +1 to place after quote break; @@ -66,7 +66,7 @@ class Xow_search_scanner { Tkns_add_word(Xow_search_tkn.Tid_word, txt_bgn, pos); txt_bgn = -1; } - return (Xow_search_tkn[])tkns.Xto_ary_and_clear(Xow_search_tkn.class); + return (Xow_search_tkn[])tkns.To_ary_and_clear(Xow_search_tkn.class); } private 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) { @@ -111,7 +111,7 @@ class Xow_search_scanner { } private void Tkns_add_word(byte tid, int src_bgn, int src_end) { if (tkns.Count() > 0) { // at least 1 tkn; check for "auto-and" - Xow_search_tkn last_tkn = (Xow_search_tkn)tkns.FetchAtLast(); + Xow_search_tkn last_tkn = (Xow_search_tkn)tkns.Get_at_last(); if (last_tkn.Tid() == Xow_search_tkn.Tid_word) // previous tkn is word; auto "AND" words; EX: A B -> A AND B tkns.Add(Xow_search_tkn.new_bry(Xow_search_tkn.Tid_and, Bry_and)); } @@ -132,7 +132,7 @@ class Xow_search_scanner { tkns.Add(new_tkn(tid, src_bgn, src_end)); } private Xow_search_tkn new_tkn(byte tid, int val_bgn, int val_end) {return Xow_search_tkn.new_pos(tid, val_bgn, val_end);} - private static final byte[] Bry_and = Bry_.new_ascii_("AND"); + private static final byte[] Bry_and = Bry_.new_a7("AND"); private static final Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_()// NOTE:ci.ascii:OR / AND only .Add_str_byte(" " , Xow_search_tkn.Tid_space) .Add_str_byte("\"" , Xow_search_tkn.Tid_quote) diff --git a/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page_tst.java b/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page_tst.java index 3f9d7128f..175d30b64 100644 --- a/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page_tst.java +++ b/400_xowa/src/gplx/xowa/specials/statistics/Xop_statistics_page_tst.java @@ -50,6 +50,6 @@ class Xop_statistics_page_fxt { special_page = wiki.Special_mgr().Page_statistics(); } private Xop_fxt parser_fxt; private Xop_statistics_page special_page; private Xowe_wiki wiki; public void Test_html(String expd) { - Tfds.Eq_str_lines(expd, String_.new_utf8_(special_page.Build_html(wiki))); + Tfds.Eq_str_lines(expd, String_.new_u8(special_page.Build_html(wiki))); } } diff --git a/400_xowa/src/gplx/xowa/specials/xowa/default_tab/Default_tab_page.java b/400_xowa/src/gplx/xowa/specials/xowa/default_tab/Default_tab_page.java index e3cf0643d..51f2aa020 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/default_tab/Default_tab_page.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/default_tab/Default_tab_page.java @@ -23,5 +23,5 @@ public class Default_tab_page implements Xows_page { page.Html_data().Custom_html_(Bry_.Empty); page.Html_data().Custom_name_(Tab_name_bry); } - public static final byte[] Tab_name_bry = Bry_.new_ascii_("New Tab"); + public static final byte[] Tab_name_bry = Bry_.new_a7("New Tab"); } diff --git a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java index 420287e21..bf568b24f 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java @@ -40,10 +40,10 @@ class Xoa_url_arg_mgr { Gfo_url_arg arg = (Gfo_url_arg)hash.Get_by_bry(key); return arg == null ? or : arg.Val_bry(); } - public String Read_str_or_null(String key) {return Read_str_or_null(Bry_.new_utf8_(key));} + public String Read_str_or_null(String key) {return Read_str_or_null(Bry_.new_u8(key));} public String Read_str_or_null(byte[] key) { Gfo_url_arg arg = (Gfo_url_arg)hash.Get_by_bry(key); - return arg == null ? null : String_.new_utf8_(arg.Val_bry()); + return arg == null ? null : String_.new_u8(arg.Val_bry()); } } class Xoa_url_enum_mgr { @@ -62,7 +62,7 @@ class Xoa_url_enum_itm { public Xoa_url_enum_itm(byte[] key) {this.key = key;} public byte[] Key() {return key;} private final byte[] key; public Xoa_url_enum_itm Add(String key, int val) { - hash.Add_bry_obj(Bry_.new_utf8_(key), Int_obj_val.new_(val)); + hash.Add_bry_obj(Bry_.new_u8(key), Int_obj_val.new_(val)); return this; } public int Get_as_int_or(byte[] val, int or) { diff --git a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xosp_fbrow_cmd__base.java b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xosp_fbrow_cmd__base.java index 066b05067..316f3f420 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xosp_fbrow_cmd__base.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xosp_fbrow_cmd__base.java @@ -33,7 +33,7 @@ abstract class Xosp_fbrow_cmd__base implements Xosp_fbrow_cmd { String path_str = arg_mgr.Read_str_or_null("path"); if (path_str == null) return Xosp_fbrow_rslt.err_("url has unknown path"); // if (Op_sys.Cur().Tid_is_wnt()) path_str = String_.Replace(path_str, "/", "\\"); Io_url path_url = Io_url_.new_any_(path_str); - IoItmDir dir = Io_mgr._.QueryDir_args(path_url).DirInclude_(true).ExecAsDir(); + IoItmDir dir = Io_mgr.I.QueryDir_args(path_url).DirInclude_(true).ExecAsDir(); dir.SubDirs().Sort(); dir.SubFils().Sort(); Xosp_fbrow_data_dir dir_itm = Xosp_fbrow_data_dir.new_(dir); Process_itms(dir_itm); @@ -57,7 +57,7 @@ abstract class Xosp_fbrow_cmd__base implements Xosp_fbrow_cmd { protected abstract String Cmd_gui(); protected abstract Xosp_fbrow_rslt Write_html_selected(Xoa_url_arg_mgr arg_mgr, String selected, GfoInvkAble select_invkable); protected abstract void Process_itm(Xosp_fbrow_data_sub itm); - private static final byte[] Html_head_default = Bry_.new_ascii_(String_.Concat_lines_nl_skip_last + private static final byte[] Html_head_default = Bry_.new_a7(String_.Concat_lines_nl_skip_last ( "