diff --git a/100_core/.classpath b/100_core/.classpath index 57d372839..4e608068e 100644 --- a/100_core/.classpath +++ b/100_core/.classpath @@ -10,7 +10,6 @@ - diff --git a/100_core/src/gplx/Err.java b/100_core/src/gplx/Err.java new file mode 100644 index 000000000..d995216f6 --- /dev/null +++ b/100_core/src/gplx/Err.java @@ -0,0 +1,77 @@ +/* +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 Err extends RuntimeException { + private final boolean is_gplx; + private final String trace; + private Err_msg[] msgs_ary = new Err_msg[8]; private int msgs_len = 8, msgs_idx = 0; + public Err(boolean is_gplx, String trace, String type, String msg, Object... args) { + this.is_gplx = is_gplx; + this.trace = is_gplx ? Err_.Trace_lang(this) : trace; // NOTE: Err_ factory methods pass in null stack trace for gplx excs; call Stack_trace here, note that trace will not show constructor + Msgs_add(type, msg, args); + } + public int Trace_ignore() {return trace_ignore;} public Err Trace_ignore_add_1_() {++trace_ignore; return this;} private int trace_ignore = 0; + public Err Args_add(Object... args) {msgs_ary[msgs_idx - 1].Args_add(args); return this;} // i - 1 to get current + @gplx.Internal protected boolean Type_match(String type) { + for (int i = 0; i < msgs_len; ++i) { + if (String_.Eq(type, msgs_ary[i].Type())) return true; + } + return false; + } + @gplx.Internal protected void Msgs_add(String type, String msg, Object[] args) { + if (msgs_idx == msgs_len) { + int new_len = msgs_len * 2; + Err_msg[] new_ary = new Err_msg[new_len]; + Array_.CopyTo(msgs_ary, new_ary, 0); + this.msgs_ary = new_ary; + this.msgs_len = new_len; + } + msgs_ary[msgs_idx] = new Err_msg(type, msg, args); + ++msgs_idx; + } + public String To_str__full() {return To_str(Bool_.N);} + public String To_str__log() {return To_str(Bool_.Y);} + private String To_str(boolean called_by_log) { + String nl_str = called_by_log ? "\t" : "\n"; + String rv = ""; //nl_str + "----------------------------------------------------------------------" + nl_str; + for (int i = 0; i < msgs_idx; ++i) { + rv += "[err " + Int_.Xto_str(i) + "] " + msgs_ary[i].To_str() + nl_str; + } + rv += "[trace]:" + Trace_to_str(is_gplx, called_by_log, trace_ignore, trace == null ? Err_.Trace_lang(this) : trace); + return rv; + } + @Override public String getMessage() {return To_str__full();} + public static String Trace_to_str(boolean is_gplx, boolean called_by_log, int ignore_lines, String trace) { + String[] lines = String_.Split_lang(trace, '\n'); int lines_len = lines.length; + int line_bgn = 0; + if (is_gplx) { // remove Err_.new_wo_type lines from trace for gplx exceptions + for (int i = 0; i < lines_len; ++i) { + String line = lines[i]; + if (String_.Has_at_bgn(line, "gplx.Err_.new")) continue; // ignore trace frames with "gplx.Err_.new"; EX: throw Err_.new_unimplemented + line_bgn = i + ignore_lines; + break; + } + } + // concat lines + String rv = ""; + String line_bgn_dlm = called_by_log ? "\t " : "\n "; // "\n " indents + for (int i = line_bgn; i < lines_len; ++i) + rv += line_bgn_dlm + lines[i]; + return rv; + } +} diff --git a/100_core/src/gplx/Err_.java b/100_core/src/gplx/Err_.java new file mode 100644 index 000000000..ffc034a5d --- /dev/null +++ b/100_core/src/gplx/Err_.java @@ -0,0 +1,71 @@ +/* +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 Err_ { + private static String Type__gplx = "gplx"; @gplx.Internal protected static String Trace_null = null; + public static void Noop(Exception e) {} + public static Err as_(Object obj) {return obj instanceof Err ? (Err)obj : null;} + public static Err new_(String type, String msg, Object... args) {return new Err(Bool_.Y, Trace_null, type, msg, args);} + public static Err new_wo_type(String msg, Object... args) {return new Err(Bool_.Y, Trace_null, Type__gplx, msg, args);} + public static Err new_exc(Exception e, String type, String msg, Object... args) { + Err rv = cast_or_make(e); + rv.Msgs_add(type, msg, args); + return rv; + } + public static Err new_unhandled(Object val) {return new Err(Bool_.Y, Trace_null, Type__gplx, "val is not in switch/if", "val", val);} + public static Err new_unimplemented() {return new Err(Bool_.Y, Trace_null, Type__gplx, "method not implemented");} + public static Err new_unimplemented_w_msg(String msg, Object... args) {return new Err(Bool_.Y, Trace_null, Type__gplx, msg, args);} + public static Err new_deprecated(String s) {return new Err(Bool_.Y, Trace_null, Type__gplx, "deprecated", "method", s);} + public static Err new_parse_type(Class c, String raw) {return new_parse(ClassAdp_.FullNameOf_type(c), raw);} + public static Err new_parse_exc(Exception e, Class c, String raw) {return new_parse(ClassAdp_.FullNameOf_type(c), raw).Args_add("e", Err_.Message_lang(e));} + public static Err new_parse(String type, String raw) {return new Err(Bool_.Y, Trace_null, Type__gplx, "parse failed", "type", type, "raw", raw);} + public static Err new_null() {return new Err(Bool_.Y, Trace_null, Type__gplx, "null obj");} + public static Err new_missing_idx(int idx, int len) {return new Err(Bool_.Y, Trace_null, Type__gplx, "index is out of bounds", "idx", idx, "len", len);} + public static Err new_missing_key(String key) {return new Err(Bool_.Y, Trace_null, Type__gplx, "key not found", "key", key);} + public static Err new_invalid_op(String msg) {return new Err(Bool_.Y, Trace_null, Type__gplx, msg);} + public static Err new_invalid_arg(String msg, Object... args) {return new Err(Bool_.Y, Trace_null, Type__gplx, msg, args);} + public static Err new_op_canceled() {return new Err(Bool_.Y, Trace_null, Type__op_canceled, "canceled by usr");} + public static Err new_type_mismatch_w_exc(Exception ignore, Class t, Object o) {return new_type_mismatch(t, o);} + public static Err new_type_mismatch(Class t, Object o) {return new Err(Bool_.Y, Trace_null, Type__gplx, "type mismatch", "expdType", ClassAdp_.FullNameOf_type(t), "actlType", ClassAdp_.NameOf_obj(o), "actlObj", Object_.Xto_str_strict_or_null_mark(o));} + public static Err new_cast(Exception ignore, Class t, Object o) { + String o_str = ""; + try {o_str = Object_.Xto_str_strict_or_null_mark(o);} + catch (Exception e) {o_str = ""; Err_.Noop(e);} + return new Err(Bool_.Y, Trace_null, Type__gplx, "cast failed", "type", ClassAdp_.NameOf_type(t), "obj", o_str); + } + + public static String Message_lang(Exception e) {return e.getMessage();} + public static String Trace_lang(Exception e) { + String rv = ""; + StackTraceElement[] ary = e.getStackTrace(); + int len = ary.length; + for (int i = 0; i < len; i++) { + if (i != 0) rv += "\n"; + rv += ary[i].toString(); + } + return rv; + } + public static boolean Type_match(Exception e, String type) { + Err exc = Err_.as_(e); + return exc == null ? false : exc.Type_match(type); + } + public static String Message_gplx_full(Exception e) {return cast_or_make(e).To_str__full();} + public static String Message_gplx_log(Exception e) {return cast_or_make(e).To_str__log();} + private static Err cast_or_make(Exception e) {return ClassAdp_.Eq_typeSafe(e, Err.class) ? (Err)e : new Err(Bool_.N, Err_.Trace_lang(e), ClassAdp_.NameOf_obj(e), Err_.Message_lang(e));} + public static final String Type__op_canceled = "gplx.op_canceled"; +} diff --git a/100_core/src/gplx/Exc_msg.java b/100_core/src/gplx/Err_msg.java similarity index 76% rename from 100_core/src/gplx/Exc_msg.java rename to 100_core/src/gplx/Err_msg.java index adb8e721a..2769e92b1 100644 --- a/100_core/src/gplx/Exc_msg.java +++ b/100_core/src/gplx/Err_msg.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; -class Exc_msg { +public class Err_msg { private final String msg; private Object[] args; - public Exc_msg(String type, String msg, Object[] args) { + public Err_msg(String type, String msg, Object[] args) { this.type = type; this.msg = msg; this.args = args; @@ -27,8 +27,10 @@ class Exc_msg { public void Args_add(Object[] add) { this.args = (Object[])Array_.Resize_add(args, add); } - public String To_str() { - String rv = String_.Len_eq_0(type) ? "" : "[" + type + "] "; + public String To_str() {return To_str_w_type(type, msg, args);} + public static String To_str(String msg, Object... args) {return To_str_w_type(null, msg, args);} + public static String To_str_w_type(String type, String msg, Object... args) { + String rv = String_.Len_eq_0(type) ? "" : "<" + type + "> "; rv += msg; int len = args.length; if (len > 0) { diff --git a/100_core/src/gplx/Err_tst.java b/100_core/src/gplx/Err_tst.java new file mode 100644 index 000000000..af3f55028 --- /dev/null +++ b/100_core/src/gplx/Err_tst.java @@ -0,0 +1,47 @@ +/* +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 Err_tst { + private final Err_fxt fxt = new Err_fxt(); + @Test public void Trace_to_str__gplx() { + fxt.Test_Trace_to_str(Bool_.Y, Bool_.N, 0, String_.Concat_lines_nl_skip_last + ( "gplx.Err_.new_wo_type(Err_.java:1)" // ignore this line + , "gplx.String_.Len(String_.java:2)" + ), String_.Concat_lines_nl_skip_last + ( "" + , " gplx.String_.Len(String_.java:2)" + )); + } + @Test public void Trace_to_str__gplx_ignore() { + fxt.Test_Trace_to_str(Bool_.Y, Bool_.N, 1, String_.Concat_lines_nl_skip_last + ( "gplx.Err_.new_wo_type(Err_.java:1)" // ignore this line + , "gplx.String_.Fail(String_.java:2)" // ignore this line also + , "gplx.String_.Len(String_.java:3)" + ), String_.Concat_lines_nl_skip_last + ( "" + , " gplx.String_.Len(String_.java:3)" + )); + } +} +class Err_fxt { + public void Test_Trace_to_str(boolean is_gplx, boolean called_by_log, int ignore_lines, String trace, String expd) { + String actl = Err.Trace_to_str(is_gplx, called_by_log, ignore_lines, trace); + Tfds.Eq_str_lines(expd, actl); + } +} diff --git a/100_core/src/gplx/Exc.java b/100_core/src/gplx/Exc.java deleted file mode 100644 index 0ed977a27..000000000 --- a/100_core/src/gplx/Exc.java +++ /dev/null @@ -1,70 +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; -public class Exc extends RuntimeException { - private final String stack; - private Exc_msg[] msgs_ary = new Exc_msg[8]; private int msgs_len = 8, msgs_idx = 0; - public Exc(String stack, String type, String msg, Object... args) { - Msgs_add(type, msg, args); - this.stack = stack; - } - public int Stack_erase() {return stack_erase;} public Exc Stack_erase_1_() {stack_erase = 1; return this;} private int stack_erase = 0; - public Exc Args_add(Object... args) {msgs_ary[msgs_idx - 1].Args_add(args); return this;} // i - 1 to get current - @gplx.Internal protected boolean Type_match(String type) { - for (int i = 0; i < msgs_len; ++i) { - if (String_.Eq(type, msgs_ary[i].Type())) return true; - } - return false; - } - @gplx.Internal protected void Msgs_add(String type, String msg, Object[] args) { - if (msgs_idx == msgs_len) { - int new_len = msgs_len * 2; - Exc_msg[] new_ary = new Exc_msg[new_len]; - Array_.CopyTo(msgs_ary, new_ary, 0); - this.msgs_ary = new_ary; - this.msgs_len = new_len; - } - msgs_ary[msgs_idx] = new Exc_msg(type, msg, args); - ++msgs_idx; - } - public String To_str_all() { - String rv = ""; - for (int i = msgs_idx - 1; i > -1; --i) { - rv += "[err " + Int_.Xto_str(i) + "] " + msgs_ary[i].To_str() + "\n"; - } - rv += "[stack]\n " + Stack_to_str(this, stack); - return rv; - } - @Override public String getMessage() {return To_str_all();} - private static String Stack_to_str(Exception e, String stack) { - String rv = stack; - if (rv == Exc_.Stack_null) { // occurs for thrown gplx exceptions; EX: throw Exc_.new_unimplemented - rv = ""; // set to "" b/c String concat below; - String[] lines = String_.Split_lang(Exc_.Stack_lang(e), '\n'); - int len = lines.length; - for (int i = 0; i < len; ++i) { - String line = lines[i]; - if (String_.Has_at_bgn(line, "gplx.Exc_.new")) continue; // ignore stack frames with "gplx.Exc_.new"; EX: throw Exc_.new_unimplemented - if (String_.Len(rv) > 0) rv += "\n"; - rv += line; - } - } - rv = String_.Replace(rv, "\n", "\n "); // " " is to indent stack stack - return rv; - } -} diff --git a/100_core/src/gplx/Exc_.java b/100_core/src/gplx/Exc_.java deleted file mode 100644 index 710bba32b..000000000 --- a/100_core/src/gplx/Exc_.java +++ /dev/null @@ -1,67 +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; -public class Exc_ { - private static String Type__none = ""; @gplx.Internal protected static String Stack_null = null; - public static final String Type__op_canceled = "gplx.op_canceled"; - public static void Noop(Exception e) {} - public static Exc as_(Object obj) {return obj instanceof Exc ? (Exc)obj : null;} - public static Exc new_(String msg, Object... args) {return new Exc(Stack_null, Type__none, msg, args);} - public static Exc new_w_type(String type, String msg, Object... args) {return new Exc(Stack_null, type, msg, args);} - public static Exc new_exc(Exception e, String type, String msg, Object... args) { - Exc rv = ClassAdp_.Eq_typeSafe(e, Exc.class) ? (Exc)e : new Exc(Exc_.Stack_lang(e), Type__none, Exc_.Message_lang(e)); - rv.Msgs_add(type, msg, args); - return rv; - } - public static Exc new_unhandled(Object val) {return new Exc(Stack_null, Type__none, "val is not in switch/if", "val", val);} - public static Exc new_unimplemented() {return new Exc(Stack_null, Type__none, "method not implemented");} - public static Exc new_unimplemented_w_msg(String msg, Object... args) {return new Exc(Stack_null, Type__none, msg, args);} - public static Exc new_deprecated(String s) {return new Exc(Stack_null, Type__none, "deprecated", "method", s);} - public static Exc new_parse_type(Class c, String raw) {return new_parse(ClassAdp_.FullNameOf_type(c), raw);} - public static Exc new_parse_exc(Exception e, Class c, String raw) {return new_parse(ClassAdp_.FullNameOf_type(c), raw).Args_add("e", Err_.Message_lang(e));} - public static Exc new_parse(String type, String raw) {return new Exc(Stack_null, Type__none, "parse failed", "type", type, "raw", raw);} - public static Exc new_null(String s) {return new Exc(Stack_null, Type__none, "null obj", "obj", s);} - public static Exc new_missing_idx(int idx, int len) {return new Exc(Stack_null, Type__none, "index is out of bounds", "idx", idx, "len", len);} - public static Exc new_missing_key(String key) {return new Exc(Stack_null, Type__none, "key not found", "key", key);} - public static Exc new_invalid_op(String msg) {return new Exc(Stack_null, Type__none, msg);} - public static Exc new_op_canceled() {return new Exc(Stack_null, Type__op_canceled, "canceled by usr");} - public static Exc new_type_mismatch_w_exc(Exception ignore, Class t, Object o) {return new_type_mismatch(t, o);} - public static Exc new_type_mismatch(Class t, Object o) {return new Exc(Stack_null, Type__none, "type mismatch", "expdType", ClassAdp_.FullNameOf_type(t), "actlType", ClassAdp_.NameOf_obj(o), "actlObj", Object_.Xto_str_strict_or_null_mark(o));} - public static Exc new_cast(Exception ignore, Class t, Object o) { - String o_str = ""; - try {o_str = Object_.Xto_str_strict_or_null_mark(o);} - catch (Exception e) {o_str = ""; Exc_.Noop(e);} - return new Exc(Stack_null, Type__none, "cast failed", "type", ClassAdp_.NameOf_type(t), "obj", o_str); - } - - public static String Message_lang(Exception e) {return e.getMessage();} - public static String Stack_lang(Exception e) { - String rv = ""; - StackTraceElement[] ary = e.getStackTrace(); - int len = ary.length; - for (int i = 0; i < len; i++) { - if (i != 0) rv += "\n"; - rv += ary[i].toString(); - } - return rv; - } - public static boolean Type_match(Exception e, String type) { - Exc exc = Exc_.as_(e); - return exc == null ? false : exc.Type_match(type); - } -} diff --git a/100_core/src/gplx/core/brys/Bry_rdr.java b/100_core/src/gplx/core/brys/Bry_rdr.java index 7aabed2fc..0618206c9 100644 --- a/100_core/src/gplx/core/brys/Bry_rdr.java +++ b/100_core/src/gplx/core/brys/Bry_rdr.java @@ -44,7 +44,7 @@ public class Bry_rdr { public int Read_int_to_pipe() {return Read_int_to(Byte_ascii.Pipe);} public int Read_int_to_nl() {return Read_int_to(Byte_ascii.Nl);} public int Read_int_to_quote() {return Read_int_to(Byte_ascii.Quote);} - public int Read_int_to_non_num(){return Read_int_to(Byte_ascii.Nil);} + public int Read_int_to_non_num(){return Read_int_to(Byte_ascii.Null);} public int Read_int_to(byte to_char) { int bgn = pos; int rv = 0; @@ -64,7 +64,7 @@ public class Bry_rdr { break; default: { boolean match = b == to_char; - if (to_char == Byte_ascii.Nil) {// hack for Read_int_to_non_num + if (to_char == Byte_ascii.Null) {// hack for Read_int_to_non_num --pos; match = true; } @@ -141,12 +141,12 @@ public class Bry_rdr { int bry_len = bry.length; boolean match = Bry_.Match(src, pos, pos + bry_len, bry); if (match) pos += bry_len; - else throw Exc_.new_("bry.rdr:chk failed", "bry", bry, "pos", pos); + else throw Err_.new_wo_type("bry.rdr:chk failed", "bry", bry, "pos", pos); } public void Chk_byte_or_fail(byte b) { boolean match = pos < src_len ? src[pos] == b : false; if (match) ++pos; - else throw Exc_.new_("bry.rdr:chk failed", "byte", b, "pos", pos); + else throw Err_.new_wo_type("bry.rdr:chk failed", "byte", b, "pos", pos); } public byte[] Mid_by_len_safe(int len) { int end = pos + len; if (end > src_len) end = src_len; diff --git a/100_core/src/gplx/core/btries/Btrie_bwd_mgr.java b/100_core/src/gplx/core/btries/Btrie_bwd_mgr.java index 92b658c44..8fa6f491f 100644 --- a/100_core/src/gplx/core/btries/Btrie_bwd_mgr.java +++ b/100_core/src/gplx/core/btries/Btrie_bwd_mgr.java @@ -51,7 +51,7 @@ public class Btrie_bwd_mgr { } 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 Exc_.new_("null objects cannot be registered", "key", String_.new_u8(key)); + if (val == null) throw Err_.new_wo_type("null objects cannot be registered", "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/100_core/src/gplx/core/btries/Btrie_fast_mgr.java b/100_core/src/gplx/core/btries/Btrie_fast_mgr.java index f2675863f..724674ef1 100644 --- a/100_core/src/gplx/core/btries/Btrie_fast_mgr.java +++ b/100_core/src/gplx/core/btries/Btrie_fast_mgr.java @@ -48,7 +48,7 @@ public class Btrie_fast_mgr { 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_u8(key), val);} public Btrie_fast_mgr Add(byte[] key, Object val) { - if (val == null) throw Exc_.new_("null objects cannot be registered", "key", String_.new_u8(key)); + if (val == null) throw Err_.new_wo_type("null objects cannot be registered", "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++) { diff --git a/100_core/src/gplx/core/btries/Btrie_slim_mgr.java b/100_core/src/gplx/core/btries/Btrie_slim_mgr.java index 2840e58f3..747e71818 100644 --- a/100_core/src/gplx/core/btries/Btrie_slim_mgr.java +++ b/100_core/src/gplx/core/btries/Btrie_slim_mgr.java @@ -66,7 +66,7 @@ public class Btrie_slim_mgr implements Btrie_mgr { } 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 Exc_.new_("null objects cannot be registered", "key", String_.new_u8(key)); + if (val == null) throw Err_.new_wo_type("null objects cannot be registered", "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/100_core/src/gplx/core/btries/Btrie_utf8_mgr.java b/100_core/src/gplx/core/btries/Btrie_utf8_mgr.java index fb5e6fca3..b64a54d43 100644 --- a/100_core/src/gplx/core/btries/Btrie_utf8_mgr.java +++ b/100_core/src/gplx/core/btries/Btrie_utf8_mgr.java @@ -45,7 +45,7 @@ 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_u8(key), val);} public Btrie_mgr Add_obj(byte[] key, Object val) { - if (val == null) throw Exc_.new_("null objects cannot be registered", "key", String_.new_u8(key)); + if (val == null) throw Err_.new_wo_type("null objects cannot be registered", "key", String_.new_u8(key)); int key_len = key.length; Btrie_utf8_itm cur = root; int c_bgn = 0; diff --git a/100_core/src_220_console/gplx/ConsoleDlg.java b/100_core/src/gplx/core/consoles/Console_adp.java similarity index 70% rename from 100_core/src_220_console/gplx/ConsoleDlg.java rename to 100_core/src/gplx/core/consoles/Console_adp.java index 74a79d3ea..3fc260176 100644 --- a/100_core/src_220_console/gplx/ConsoleDlg.java +++ b/100_core/src/gplx/core/consoles/Console_adp.java @@ -15,14 +15,14 @@ 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 interface ConsoleDlg { +package gplx.core.consoles; import gplx.*; import gplx.core.*; +public interface Console_adp { boolean Enabled(); // optimization; allows Write to be skipped (since Write may Concat strings or generate arrays) - boolean CanceledChk(); - int CharsPerLineMax(); void CharsPerLineMax_set(int v); - void WriteText(String s); - void WriteLineFormat(String s, Object... args); - void WriteTempText(String s); - char ReadKey(String msg); - String ReadLine(String msg); + boolean Canceled_chk(); + int Chars_per_line_max(); void Chars_per_line_max_(int v); + void Write_str(String s); + void Write_fmt_w_nl(String fmt, Object... args); + void Write_tmp(String s); + char Read_key(String msg); + String Read_line(String msg); } diff --git a/100_core/src_220_console/gplx/ConsoleDlg_.java b/100_core/src/gplx/core/consoles/Console_adp_.java similarity index 53% rename from 100_core/src_220_console/gplx/ConsoleDlg_.java rename to 100_core/src/gplx/core/consoles/Console_adp_.java index 39db2eaad..7fcae89cd 100644 --- a/100_core/src_220_console/gplx/ConsoleDlg_.java +++ b/100_core/src/gplx/core/consoles/Console_adp_.java @@ -15,18 +15,18 @@ 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 ConsoleDlg_ { - public static final ConsoleDlg Null = new ConsoleDlg_null(); - public static ConsoleDlg_dev Dev() {return new ConsoleDlg_dev();} +package gplx.core.consoles; import gplx.*; import gplx.core.*; +public class Console_adp_ { + public static final Console_adp Noop = new Console_adp__noop(); + public static Console_adp__mem Dev() {return new Console_adp__mem();} } -class ConsoleDlg_null implements ConsoleDlg { +class Console_adp__noop implements Console_adp { public boolean Enabled() {return false;} - public boolean CanceledChk() {return false;} - public int CharsPerLineMax() {return 80;} public void CharsPerLineMax_set(int v) {} - public void WriteText(String s) {} - public void WriteLineFormat(String s, Object... args) {} - public void WriteTempText(String s) {} - public char ReadKey(String msg) {return '\0';} - public String ReadLine(String msg) {return "";} + public boolean Canceled_chk() {return false;} + public int Chars_per_line_max() {return 80;} public void Chars_per_line_max_(int v) {} + public void Write_str(String s) {} + public void Write_fmt_w_nl(String s, Object... args) {} + public void Write_tmp(String s) {} + public char Read_key(String msg) {return '\0';} + public String Read_line(String msg) {return "";} } diff --git a/100_core/src_220_console/gplx/ConsoleDlg_dev.java b/100_core/src/gplx/core/consoles/Console_adp__mem.java similarity index 55% rename from 100_core/src_220_console/gplx/ConsoleDlg_dev.java rename to 100_core/src/gplx/core/consoles/Console_adp__mem.java index a6e1e8cb1..f9b9f2ebc 100644 --- a/100_core/src_220_console/gplx/ConsoleDlg_dev.java +++ b/100_core/src/gplx/core/consoles/Console_adp__mem.java @@ -15,25 +15,27 @@ 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 ConsoleDlg_dev implements ConsoleDlg { +package gplx.core.consoles; import gplx.*; import gplx.core.*; +public class Console_adp__mem implements Console_adp { + private final List_adp written = List_adp_.new_(); + private final Hash_adp ignored = Hash_adp_.new_(); 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.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);} - public String ReadLine(String msg) {return "";} - public char ReadKey(String msg) {return '\0';} - public ConsoleDlg_dev CancelWhenTextWritten(String val) { + public boolean Canceled_chk() {return false;} + public int Chars_per_line_max() {return 80;} public void Chars_per_line_max_(int v) {} + public Console_adp__mem Ignore_add(String s) {ignored.Add_as_key_and_val(s); return this;} + public void Write_str(String s) {WriteString(s);} + public void Write_fmt_w_nl(String s, Object... args) {WriteString(String_.Format(s, args) + String_.CrLf);} + public void Write_tmp(String s) {WriteString(s);} + public String Read_line(String msg) {return "";} + public char Read_key(String msg) {return '\0';} + public Console_adp__mem CancelWhenTextWritten(String val) { cancelVal = val; return this; } void WriteString(String s) { if (ignored.Has(s)) return; written.Add(s); - if (cancelVal != null && String_.Has(s, cancelVal)) throw Exc_.new_("canceled", "cancel_val", s); + if (cancelVal != null && String_.Has(s, cancelVal)) throw Err_.new_wo_type("canceled", "cancel_val", s); } String cancelVal; @@ -45,5 +47,4 @@ public class ConsoleDlg_dev implements ConsoleDlg { actl[i] = written.Get_at(i).toString(); Tfds.Eq_ary(actl, expd); } - List_adp written = List_adp_.new_(), erased = List_adp_.new_(); Hash_adp ignored = Hash_adp_.new_(); } diff --git a/100_core/src/gplx/core/consoles/Console_adp__sys.java b/100_core/src/gplx/core/consoles/Console_adp__sys.java new file mode 100644 index 000000000..3ff9bc6da --- /dev/null +++ b/100_core/src/gplx/core/consoles/Console_adp__sys.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.core.consoles; import gplx.*; import gplx.core.*; +public class Console_adp__sys implements Console_adp { + private String tmp_txt; + public Console_adp__sys() { + this.backspace_by_bytes = Op_sys.Cur().Tid_is_lnx(); // bash shows UTF8 by default; backspace in bytes, else multi-byte characters don't show; DATE:2014-03-04 + } + public boolean Enabled() {return true;} + public boolean Canceled() {return canceled;} public void Canceled_set(boolean v) {canceled = v;} private boolean canceled = false; + public boolean Canceled_chk() {if (canceled) throw Err_.new_op_canceled(); return canceled;} + public int Chars_per_line_max() {return chars_per_line_max;} public void Chars_per_line_max_(int v) {chars_per_line_max = v;} int chars_per_line_max = 80; + public boolean Backspace_by_bytes() {return backspace_by_bytes;} public Console_adp__sys Backspace_by_bytes_(boolean v) {backspace_by_bytes = v; return this;} private boolean backspace_by_bytes; + public void Write_str(String s) {Clear_tmp(); Write_str_lang(s);} + public void Write_str_w_nl(String s) {Clear_tmp(); Write_str_w_nl_lang(s);} + public void Write_fmt_w_nl(String fmt, Object... args) {Clear_tmp(); Write_str_w_nl_lang(String_.Format(fmt, args));} + public char Read_key(String s) {Write_str(s); return Read_key_lang();} + public String Read_line(String s) {Write_str(s); return Read_line_lang();} + public void Write_tmp(String s) { + Clear_tmp(); + if (String_.Has(s, "\r")) s = String_.Replace(s, "\r", " "); + if (String_.Has(s, "\n")) s = String_.Replace(s, "\n", " "); + if (String_.Len(s) >= chars_per_line_max) s = String_.Mid(s, 0, chars_per_line_max - String_.Len("...") - 1) + "..."; // NOTE: >= and -1 needed b/c line needs to be 1 less than max; ex: default cmd is 80 width, but writing 80 chars will automatically create lineBreak + tmp_txt = s; + Write_str_lang(s); + } + private void Clear_tmp() { + if (tmp_txt == null) return; + if (Env_.Mode_debug()) {Write_str_lang(String_.CrLf); return;} + int count = backspace_by_bytes ? Bry_.new_u8(tmp_txt).length : String_.Len(tmp_txt); + String moveBack = String_.Repeat("\b", count); + this.Write_str_lang(moveBack); // move cursor back to beginning of line + this.Write_str_lang(String_.Repeat(" ", count)); // overwrite tmp_txt with space + this.Write_str_lang(moveBack); // move cursor back to beginning of line (so next Write will start at beginning) + tmp_txt = null; + } + private void Write_str_lang(String s) {System.out.print(s);} + private void Write_str_w_nl_lang(String s) {System.out.println(s);} + private String Read_line_lang() {return System.console() == null ? "" : System.console().readLine();} + private char Read_key_lang() { + String text = Read_line_lang(); + return String_.Len(text) == 0 ? '\0' : String_.CharAt(text, 0); + } + public void Write_str_w_nl_utf8(String s) { + java.io.PrintStream ps; + try {ps = new java.io.PrintStream(System.out, true, "UTF-8");} + catch (java.io.UnsupportedEncodingException e) {throw Err_.new_wo_type("unsupported exception");} + ps.println(s); + } + public static final Console_adp__sys I = new Console_adp__sys(); +} diff --git a/100_core/src/gplx/core/criterias/Criteria_.java b/100_core/src/gplx/core/criterias/Criteria_.java index 1bdb5068d..4a048dae8 100644 --- a/100_core/src/gplx/core/criterias/Criteria_.java +++ b/100_core/src/gplx/core/criterias/Criteria_.java @@ -23,7 +23,7 @@ public class Criteria_ { public static Criteria Not(Criteria arg) {return new Criteria_not(arg);} public static Criteria And(Criteria lhs, Criteria rhs) {return new Criteria_and(lhs, rhs);} public static Criteria And_many(Criteria... ary) { - int len = Array_.Len(ary); if (len == 0) throw Exc_.new_("cannot AND 0 criterias;"); + int len = Array_.Len(ary); if (len == 0) throw Err_.new_wo_type("cannot AND 0 criterias;"); Criteria rv = ary[0]; for (int i = 1; i < len; i++) rv = And(rv, ary[i]); @@ -31,7 +31,7 @@ public class Criteria_ { } public static Criteria Or(Criteria lhs, Criteria rhs) {return new Criteria_or(lhs, rhs);} public static Criteria Or_many(Criteria... ary) { - int len = Array_.Len(ary); if (len == 0) throw Exc_.new_("cannot OR 0 criterias;"); + int len = Array_.Len(ary); if (len == 0) throw Err_.new_wo_type("cannot OR 0 criterias;"); Criteria rv = ary[0]; for (int i = 1; i < len; i++) rv = Or(rv, ary[i]); diff --git a/100_core/src/gplx/core/criterias/Criteria_between.java b/100_core/src/gplx/core/criterias/Criteria_between.java index 2837b124d..4202afee6 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} 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 c76997702..025a8be3f 100644 --- a/100_core/src/gplx/core/criterias/Criteria_bool_base.java +++ b/100_core/src/gplx/core/criterias/Criteria_bool_base.java @@ -21,7 +21,7 @@ public abstract class Criteria_bool_base implements Criteria { public abstract byte Tid(); public abstract boolean Matches(Object curVal); 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 Exc_.new_unimplemented();} + public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();} public String XtoStr() {return String_.Concat(lhs.XtoStr(), " ", this.op_literal, " ", rhs.XtoStr());} public String Op_literal() {return op_literal;} private String op_literal; public Criteria Lhs() {return lhs;} private Criteria lhs; @@ -43,7 +43,7 @@ class Criteria_const implements Criteria { public byte Tid() {return Criteria_.Tid_const;} public boolean Matches(Object comp) {return val;} private final boolean val; public void Val_from_args(Hash_adp args) {;} - public void Val_as_obj_(Object v) {throw Exc_.new_unimplemented();} + public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();} public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));} } class Criteria_not implements Criteria { diff --git a/100_core/src/gplx/core/criterias/Criteria_comp.java b/100_core/src/gplx/core/criterias/Criteria_comp.java index 2fd8bbb68..b8fd3e2b8 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} 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 64cf73b74..76586b147 100644 --- a/100_core/src/gplx/core/criterias/Criteria_eq.java +++ b/100_core/src/gplx/core/criterias/Criteria_eq.java @@ -22,10 +22,10 @@ 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} public boolean Matches(Object comp) { Class val_type = ClassAdp_.ClassOf_obj(val); - if (!ClassAdp_.Eq_typeSafe(comp, val_type)) throw Exc_.new_type_mismatch(val_type, comp); + if (!ClassAdp_.Eq_typeSafe(comp, val_type)) throw Err_.new_type_mismatch(val_type, comp); boolean rv = Object_.Eq(val, comp); return negated ? !rv : rv; } diff --git a/100_core/src/gplx/core/criterias/Criteria_fld.java b/100_core/src/gplx/core/criterias/Criteria_fld.java index ccd394e25..4eb67c4fa 100644 --- a/100_core/src/gplx/core/criterias/Criteria_fld.java +++ b/100_core/src/gplx/core/criterias/Criteria_fld.java @@ -21,9 +21,9 @@ public class Criteria_fld implements Criteria { public byte Tid() {return Criteria_.Tid_wrapper;} 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 Exc_.new_unimplemented();} + public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();} public void Val_from_args(Hash_adp args) { - List_adp list = (List_adp)args.Get_by(key); if (list == null) throw Exc_.new_("criteria.fld key not found", "key", key); + List_adp list = (List_adp)args.Get_by(key); if (list == null) throw Err_.new_wo_type("criteria.fld key not found", "key", key); Object o = Fill_val(key, crt.Tid(), list); crt.Val_as_obj_(o); } @@ -44,24 +44,24 @@ public class Criteria_fld implements Criteria { case Criteria_.Tid_comp: case Criteria_.Tid_like: case Criteria_.Tid_iomatch: - if (len != 1) throw Exc_.new_("list.len should be 1", "key", key, "tid", tid, "len", len); + if (len != 1) throw Err_.new_wo_type("list.len should be 1", "key", key, "tid", tid, "len", len); return list.Get_at(0); case Criteria_.Tid_between: - if (len != 2) throw Exc_.new_("list.len should be 2", "key", key, "tid", tid, "len", len); + if (len != 2) throw Err_.new_wo_type("list.len should be 2", "key", key, "tid", tid, "len", len); return new Object[] {list.Get_at(0), list.Get_at(1)}; case Criteria_.Tid_in: - if (len == 0) throw Exc_.new_("list.len should be > 0", "key", key, "tid", tid, "len", len); + if (len == 0) throw Err_.new_wo_type("list.len should be > 0", "key", key, "tid", tid, "len", len); return list.To_obj_ary(); case Criteria_.Tid_const: case Criteria_.Tid_not: case Criteria_.Tid_and: case Criteria_.Tid_or: - if (len != 0) throw Exc_.new_("list.len should be 0", "key", key, "tid", tid, "len", len); + if (len != 0) throw Err_.new_wo_type("list.len should be 0", "key", key, "tid", tid, "len", len); return key; // no values to fill in; return back key case Criteria_.Tid_wrapper: // not recursive case Criteria_.Tid_db_obj_ary: // unsupported case Criteria_.Tid_custom: - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } } diff --git a/100_core/src/gplx/core/criterias/Criteria_in.java b/100_core/src/gplx/core/criterias/Criteria_in.java index 94a165ca2..ae761d3ce 100644 --- a/100_core/src/gplx/core/criterias/Criteria_in.java +++ b/100_core/src/gplx/core/criterias/Criteria_in.java @@ -27,10 +27,10 @@ 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} public boolean Matches(Object comp) { if (ary_len == 0) return false; // empty array never matches - if (!ClassAdp_.Eq_typeSafe(comp, ary_type)) throw Exc_.new_type_mismatch(ary_type, comp); + if (!ClassAdp_.Eq_typeSafe(comp, ary_type)) throw Err_.new_type_mismatch(ary_type, comp); boolean rv = false; for (int i = 0; i < ary_len; i++) { Object val = ary[i]; diff --git a/100_core/src/gplx/core/criterias/Criteria_ioMatch.java b/100_core/src/gplx/core/criterias/Criteria_ioMatch.java index 39be4aa6a..3c33ef2d1 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} 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 382f49c60..e84270902 100644 --- a/100_core/src/gplx/core/criterias/Criteria_like.java +++ b/100_core/src/gplx/core/criterias/Criteria_like.java @@ -24,10 +24,10 @@ 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} 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 Exc_.new_type_mismatch(String.class, compObj); + String comp = String_.as_(compObj); if (comp == null) throw Err_.new_type_mismatch(String.class, compObj); boolean rv = pattern.Matches(comp); return negated ? !rv : rv; } diff --git a/100_core/src/gplx/core/criterias/Criteria_tst.java b/100_core/src/gplx/core/criterias/Criteria_tst.java index f3876cffe..693387198 100644 --- a/100_core/src/gplx/core/criterias/Criteria_tst.java +++ b/100_core/src/gplx/core/criterias/Criteria_tst.java @@ -86,7 +86,7 @@ class CriteriaFxt { public void tst_MatchesNot(Criteria crt, Object... ary) {for (Object val : ary) Tfds.Eq(false, crt.Matches(val));} public void tst_MatchesFail(Criteria crt, Object val) { try {crt.Matches(val);} - catch(Exception exc) {Exc_.Noop(exc); return;} + catch(Exception exc) {Err_.Noop(exc); return;} Tfds.Fail_expdError(); } } diff --git a/100_core/src/gplx/core/primitives/Bool_obj_val.java b/100_core/src/gplx/core/primitives/Bool_obj_val.java index df1919d51..12c48c8da 100644 --- a/100_core/src/gplx/core/primitives/Bool_obj_val.java +++ b/100_core/src/gplx/core/primitives/Bool_obj_val.java @@ -29,6 +29,6 @@ public class Bool_obj_val { if (String_.Eq(raw, "y")) return Bool_obj_val.True; else if (String_.Eq(raw, "n")) return Bool_obj_val.False; else if (String_.Eq(raw, "")) return Bool_obj_val.Null; - else throw Exc_.new_parse_type(Bool_obj_val.class, raw); + else throw Err_.new_parse_type(Bool_obj_val.class, raw); } } diff --git a/100_core/src/gplx/core/threads/Thread_adp.java b/100_core/src/gplx/core/threads/Thread_adp.java index d36487b07..a1513bff8 100644 --- a/100_core/src/gplx/core/threads/Thread_adp.java +++ b/100_core/src/gplx/core/threads/Thread_adp.java @@ -34,7 +34,7 @@ public class Thread_adp implements Runnable { public void Interrupt() {thread.interrupt();} public void Join() { try {thread.join();} - catch (Exception e) {Exc_.Noop(e);} + catch (Exception e) {Err_.Noop(e);} } // public void Stop() {thread.stop();} public boolean IsAlive() {return thread.isAlive();} diff --git a/100_core/src/gplx/core/threads/Thread_adp_.java b/100_core/src/gplx/core/threads/Thread_adp_.java index 2e770c84d..109b39eaf 100644 --- a/100_core/src/gplx/core/threads/Thread_adp_.java +++ b/100_core/src/gplx/core/threads/Thread_adp_.java @@ -18,12 +18,12 @@ along with this program. If not, see . package gplx.core.threads; import gplx.*; import gplx.core.*; public class Thread_adp_ { public static void Sleep(int milliseconds) { - try {Thread.sleep(milliseconds);} catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted", "milliseconds", milliseconds);} + try {Thread.sleep(milliseconds);} catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted", "milliseconds", milliseconds);} } public static void Notify_all(Object o) {o.notifyAll();} public static void Wait(Object o) { try {o.wait();} - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread wait");} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread wait");} } public static Thread_adp invk_(GfoInvkAble invk, String cmd) {return invk_(Name_null, invk, cmd);} public static Thread_adp invk_(String name, GfoInvkAble invk, String cmd) {return new Thread_adp(name, invk, cmd, GfoMsg_.Null);} diff --git a/100_core/src_000_err/gplx/Err.java b/100_core/src_000_err/gplx/Err.java deleted file mode 100644 index 60b174531..000000000 --- a/100_core/src_000_err/gplx/Err.java +++ /dev/null @@ -1,63 +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; -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 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 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) { - Err rv = new Err(); - rv.hdr = hdr; - return rv; - } @gplx.Internal protected Err() {} - @gplx.Internal protected static Err exc_(Exception thrown, String hdr) { - 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.Get_at(i); - rv.callStack.Add(itm.Raw(), itm); - } - return rv; - } - @gplx.Internal protected static Err convert_(Exception thrown) { - Err rv = Err_.as_(thrown); - if (rv == null) - rv = Err_.new_key_1(ClassAdp_.NameOf_obj(thrown), Err_.Message_lang(thrown)); - CallStack_fill(rv, Err_.StackTrace_lang(rv)); - return rv; - } - static void CallStack_fill(Err err, String stackTrace) { - ErrProcData[] ary = ErrProcData.parse_ary_(stackTrace); if (Array_.Len(ary) == 0) return; // no callStack; shouldn't happen, but don't throw error - err.proc = ary[0]; - for (ErrProcData itm : ary) { - String key = itm.Raw(); - if (err.callStack.Has(key)) continue; - err.callStack.Add(key, itm); - } - } - String Message_gplx() { - try {return Err_.Message_gplx(this);} - catch (Exception exc) {Exc_.Noop(exc); return super.getMessage();} - } -} diff --git a/100_core/src_000_err/gplx/ErrMsgWtr.java b/100_core/src_000_err/gplx/ErrMsgWtr.java deleted file mode 100644 index e43447a60..000000000 --- a/100_core/src_000_err/gplx/ErrMsgWtr.java +++ /dev/null @@ -1,112 +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.strings.*; -public class ErrMsgWtr { - public String Message_gplx(Exception thrown) { - Err err = Err.convert_(thrown); // convert thrown to Err to make rest of class easier - Err[] innerAry = InnerAsAry(err); - String_bldr sb = String_bldr_.new_(); - WriteError(innerAry, sb, 0); - WriteInner(innerAry, sb); - WriteStack(innerAry, sb); - return sb.XtoStr(); - } - public String Message_gplx_brief(Exception thrown) { - Err err = Err.convert_(thrown); // convert thrown to Err to make rest of proc easier - String_bldr sb = String_bldr_.new_(); - sb.Add(err.Hdr()); - if (err.Args().Count() > 0) sb.Add(" --"); - for (Object kvo : err.Args()) { - KeyVal kv = (KeyVal)kvo; - String key = kv.Key(), val = kv.Val_to_str_or_empty(); - sb.Add_fmt(" {0}='{1}'", key, val); - } - sb.Add_fmt(" [{0}]", err.Key()); - return sb.XtoStr(); - } - void WriteInner(Err[] errAry, String_bldr sb) { - int len = Array_.Len(errAry); if (len <= 1) return; // no inners; return; - for (int i = 1; i < len; i++) - WriteError(errAry, sb, i); - } - void WriteError(Err[] errAry, String_bldr sb, int i) { - Err err = errAry[i]; - String msg = err.Hdr(); - String typ = String_.Eq(err.Key(), "") ? "" : String_.Concat(" <", err.Key(), ">"); - boolean onlyOne = errAry.length == 1; - String idxStr = onlyOne ? "" : Int_.Xto_str(i); - sb.Add(idxStr).Add("\t").Add(msg).Add(typ).Add_char_crlf(); // ex: " @count must be > 0 " - WriteKeyValAry(sb, err.Args()); - sb.Add("\t").Add(err.Proc().SignatureRaw()).Add_char_crlf(); -// WriteKeyValAry(sb, err.ProcArgs()); - } - void WriteKeyValAry(String_bldr sb, List_adp ary) { - // calc keyMax for valIndentLen - int keyMax = 0; - for (Object o : ary) { - KeyVal kv = (KeyVal)o; - int keyLen = String_.Len(kv.Key()); - if (keyLen > keyMax) keyMax = keyLen + 1; // +1 to guarantee one space between key and val - } - if (keyMax < 8)keyMax = 8; // separate by at least 8 chars - for (Object o : ary) { - KeyVal kv = (KeyVal)o; - String key = kv.Key(); int keyLen = String_.Len(key); - String valIndent = String_.Repeat(" ", keyMax - keyLen); - sb.Add("\t\t@").Add(key).Add(valIndent).Add(kv.Val_to_str_or_empty()).Add_char_crlf(); - } - } - void WriteStack(Err[] errAry, String_bldr sb) { - if (Env_.Mode_testing()) return; // only write stack when not testing - int len = Array_.Len(errAry); if (len == 0) return; // shouldn't happen, but don't want to throw err - Err first = errAry[0]; - boolean onlyOne = len == 1; - sb.Add_str_w_crlf(String_.Repeat("-", 80)); - 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.Get_at(i); - // get procIndex - int idx = -1; - for (int j = 0; j < len; j++) { - ErrProcData comp = errAry[j].Proc(); - if (String_.Eq(proc.Raw(), comp.Raw())) {idx = j; break;} - } - String idxStr = onlyOne ? "" : Int_.Xto_str(idx); - String hdr = idx == -1 ? "\t" : idxStr + "\t"; - String ideAddressSpr = String_.CrLf + "\t\t"; - String ideAddress = String_.Eq(proc.IdeAddress(), "") ? "" : ideAddressSpr + proc.IdeAddress(); // NOTE: ideAddress will be blank in compiled mode - String msg = String_.Concat(hdr, proc.SignatureRaw(), ideAddress); - tmp.Add(msg); - } - tmp.Reverse(); - for (Object o : tmp) - sb.Add_str_w_crlf((String)o); - } - static Err[] InnerAsAry(Err err) { - List_adp errAry = List_adp_.new_(); - Err cur = Err_.as_(err); - while (cur != null) { - errAry.Add(cur); - cur = cur.Inner(); - } - 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 deleted file mode 100644 index be808aa52..000000000 --- a/100_core/src_000_err/gplx/ErrProcData.java +++ /dev/null @@ -1,67 +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; -class ErrProcData { - public String Raw() {return raw;} public ErrProcData Raw_(String val) {raw = val; return this;} private String raw = String_.Empty; - public String SignatureRaw() {return signatureRaw;} public ErrProcData SignatureRaw_(String val) {signatureRaw = val; return this;} private String signatureRaw = String_.Empty; - public String SourceFileRaw() {return sourceFileRaw;} public ErrProcData SourceFileRaw_(String val) {sourceFileRaw = val; return this;} private String sourceFileRaw = String_.Empty; - public int SourceLine() {return sourceLine;} public ErrProcData SourceLine_(int val) {sourceLine = val; return this;} int sourceLine; - public String IdeAddress() {return ideAddress;} public ErrProcData IdeAddress_(String val) {ideAddress = val; return this;} private String ideAddress = String_.Empty; - - public static ErrProcData[] parse_ary_(String stackTrace) { - /* - .java - ' at gplx.Err.new_(Err.java:92) - at gplx.Err.exc_(Err.java:43) - at gplx.Err_.err_(Err_.java:4) - at gplx._tst.Err__tst.RdrLoad(Err__tst.java:77) - at gplx._tst.Err__tst.MgrInit(Err__tst.java:76)' - .cs - ' at gplx._tst.Err__tst.RdrLoad() in c:\000\200_dev\100.gplx\100.framework\100.core\gplx\tst\gplx\err__tst.cs:line 77 - at gplx._tst.Err__tst.MgrInit(String s) in c:\000\200_dev\100.gplx\100.framework\100.core\gplx\tst\gplx\err__tst.cs:line 76' - */ - if (stackTrace == null) return new ErrProcData[0]; - String[] lines = String_.SplitLines_any(stackTrace); - List_adp list = List_adp_.new_(); - int len = Array_.Len(lines); - for (int i = 0; i < len; i++) { - ErrProcData md = ErrProcData.parse_(lines[i]); - if (md.SourceLine() == 0) break; // ASSUME: java code; not interested - if (String_.Has_at_bgn(md.signatureRaw, "gplx.Err_") || String_.Has_at_bgn(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.To_ary(ErrProcData.class); - } - public static ErrProcData parse_(String raw) { - ErrProcData rv = new ErrProcData().Raw_(raw); - // ex:'gplx.Err.new_(Err.java:92)' - int sigEnd = String_.FindFwd(raw, "("); if (sigEnd == String_.Find_none) return rv; - rv.signatureRaw = String_.Mid(raw, 0, sigEnd); - int filBgn = sigEnd + 1; // 1="(" - int filEnd = String_.FindFwd(raw, ":", filBgn); if (filEnd == String_.Find_none) return rv; - rv.sourceFileRaw = String_.Mid(raw, filBgn, filEnd); - int linBgn = filEnd + 1; // 1=":" - int linEnd = String_.FindFwd(raw, ")", linBgn); if (linEnd == String_.Find_none) return rv; - String linRaw = String_.Mid(raw, linBgn, linEnd); - rv.sourceLine = Int_.parse_(linRaw); - rv.ideAddress = String_.Concat("(", rv.sourceFileRaw, ":", Int_.Xto_str(rv.sourceLine), ")"); - return rv; - } - public static ErrProcData new_() {return new ErrProcData();} ErrProcData() {} - public static final ErrProcData Null = new ErrProcData(); -} diff --git a/100_core/src_000_err/gplx/ErrProcData_tst.java b/100_core/src_000_err/gplx/ErrProcData_tst.java deleted file mode 100644 index 574890cdc..000000000 --- a/100_core/src_000_err/gplx/ErrProcData_tst.java +++ /dev/null @@ -1,48 +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 org.junit.*; -public class ErrProcData_tst { - @Test public void parse_() { - tst_parse_("gplx._tst.Err__tst.RdrLoad(MethodData_tst.java:1)" - , ErrProcData.new_() - .SignatureRaw_("gplx._tst.Err__tst.RdrLoad") - .SourceFileRaw_("MethodData_tst.java") - .SourceLine_(1) - .IdeAddress_("(MethodData_tst.java:1)") - ); - } - @Test public void parse_ary_() { - String stackTrace = ""; - try {ThrowException();} catch (Exception exc) {stackTrace = Err_.StackTrace_lang(exc);} - ErrProcData[] ary = ErrProcData.parse_ary_(stackTrace); - Tfds.Eq(2, Array_.Len(ary)); - Tfds.Eq("gplx.ErrProcData_tst.ThrowException", ary[0].SignatureRaw()); - Tfds.Eq("gplx.ErrProcData_tst.parse_ary_", ary[1].SignatureRaw()); - } - Exception ThrowException() { - throw new RuntimeException("msg"); - } - void tst_parse_(String raw, ErrProcData expd) { - ErrProcData actl = ErrProcData.parse_(raw); - Tfds.Eq(expd.SignatureRaw(), actl.SignatureRaw()); - Tfds.Eq(expd.SourceFileRaw(), actl.SourceFileRaw()); - Tfds.Eq(expd.SourceLine(), actl.SourceLine()); - Tfds.Eq(expd.IdeAddress(), actl.IdeAddress()); - } -} diff --git a/100_core/src_000_err/gplx/Err_.java b/100_core/src_000_err/gplx/Err_.java deleted file mode 100644 index a1ce685d6..000000000 --- a/100_core/src_000_err/gplx/Err_.java +++ /dev/null @@ -1,36 +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.strings.*; -public class Err_ { //_20110415 - public static Err as_(Object obj) {return obj instanceof Err ? (Err)obj : null;} - @gplx.Internal protected static Err new_key_1(String key, String hdr) {return Err.hdr_(hdr).Key_(key);} - public static String Message_lang(Exception e) {return e.getMessage();} - public static String Message_gplx(Exception e) {return ErrMsgWtr._.Message_gplx(e);} - public static String Message_gplx_brief(Exception e) {return ErrMsgWtr._.Message_gplx_brief(e);} - @gplx.Internal protected static String StackTrace_lang(Exception e) { - String_bldr sb = String_bldr_.new_(); - StackTraceElement[] stackTraceAry = e.getStackTrace(); - int len = stackTraceAry.length; - for (int i = 0; i < len; i++) { - if (i != 0) sb.Add_char_crlf(); - sb.Add(stackTraceAry[i].toString()); - } - return sb.XtoStr(); - } -} diff --git a/100_core/src_000_err/gplx/Err_arg.java b/100_core/src_000_err/gplx/Err_arg.java deleted file mode 100644 index fee3dd571..000000000 --- a/100_core/src_000_err/gplx/Err_arg.java +++ /dev/null @@ -1,53 +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; -public class Err_arg extends Err { - public String ArgName() {return argName;} private String argName; - public Object ArgValue() {return argValue;} Object argValue; - public static Err_arg null_(String argName) { - Err_arg rv = new Err_arg(); - rv.Key_("gplx.arg").Hdr_("@" + rv.argName + " cannot be null"); - rv.argName = argName; - return rv; - } - public static Err_arg cannotBe_(String msg, String argName, Object argValue) { - Err_arg rv = new Err_arg(); - rv.Key_("gplx.arg"); - rv.Hdr_("val cannot be " + msg); - rv.Add("key", argName); - rv.Add("val", argValue); - return rv; - } - public static Err_arg notFound_key_(String argName, Object argValue) { - Err_arg rv = new Err_arg(); - rv.Key_("gplx.arg").Hdr_("arg not found").Add(argName, argValue); - rv.argName = argName; - rv.argValue = argValue; - return rv; - } - public static Err_arg outOfBounds_(String argName, int i, int count) { - Err_arg rv = new Err_arg(); - rv.Key_("gplx.arg").Hdr_("arg out of bounds").Add("argName", argName).Add("argVal", i).Add("count", count); - rv.argName = argName; - rv.argValue = i; - return rv; - } - public static boolean ClassCheck(Exception e) { - return ClassAdp_.Eq_typeSafe(e, Err_arg.class); - } -} diff --git a/100_core/src_100_interface/gplx/CompareAble_.java b/100_core/src_100_interface/gplx/CompareAble_.java index 8622eafe6..3915e3ea1 100644 --- a/100_core/src_100_interface/gplx/CompareAble_.java +++ b/100_core/src_100_interface/gplx/CompareAble_.java @@ -40,10 +40,10 @@ public class CompareAble_ { return (actl * expt) > 0; // actl=More||Less; expd will match if on same side of 0 (ex: expt=Less; actl=Less; -1 * -1 = 1) } // public static int FindSlot(ComparerAble comparer, Object[] ary, Object itm) {return FindSlot(comparer, ary, itm, false);} - public static int FindSlot(ComparerAble comparer, Object[] ary, Object itm) {if (itm == null) throw Exc_.new_null("itm is null"); + public static int FindSlot(ComparerAble comparer, Object[] ary, Object itm) {if (itm == null) throw Err_.new_null(); int aryLen = ary.length; switch (aryLen) { - case 0: throw Exc_.new_("ary cannot have 0 itms"); + case 0: throw Err_.new_wo_type("ary cannot have 0 itms"); case 1: return 0; } int lo = -1, hi = aryLen - 1; // NOTE: -1 is necessary; see test diff --git a/100_core/src_100_interface/gplx/RlsAble_.java b/100_core/src_100_interface/gplx/RlsAble_.java index 8b8bbd8ab..80fc62122 100644 --- a/100_core/src_100_interface/gplx/RlsAble_.java +++ b/100_core/src_100_interface/gplx/RlsAble_.java @@ -18,5 +18,5 @@ along with this program. If not, see . package gplx; public class RlsAble_ { public static RlsAble as_(Object obj) {return obj instanceof RlsAble ? (RlsAble)obj : null;} - public static RlsAble cast_(Object obj) {try {return (RlsAble)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, RlsAble.class, obj);}} + public static RlsAble cast_(Object obj) {try {return (RlsAble)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, RlsAble.class, obj);}} } diff --git a/100_core/src_110_primitive/gplx/Array_.java b/100_core/src_110_primitive/gplx/Array_.java index ec6eea1ec..52d77562b 100644 --- a/100_core/src_110_primitive/gplx/Array_.java +++ b/100_core/src_110_primitive/gplx/Array_.java @@ -77,14 +77,14 @@ public class Array_ { public static void Set(Object ary, int i, Object o) {Array.set(ary, i, o);} public static Object Expand(Object src, Object trg, int src_len) { try {System.arraycopy(src, 0, trg, 0, src_len);} - catch (Exception e) {throw Exc_.new_exc(e, "core", "Array_.Expand failed", "src_len", src_len);} + catch (Exception e) {throw Err_.new_exc(e, "core", "Array_.Expand failed", "src_len", src_len);} return trg; } public static void Copy(Object src, Object trg) {System.arraycopy(src, 0, trg, 0, Len(src));} public static void CopyTo(Object src, Object trg, int trgPos) {System.arraycopy(src, 0, trg, trgPos, Len(src));} public static void CopyTo(Object src, int srcBgn, Object trg, int trgBgn, int srcLen) {System.arraycopy(src, srcBgn, trg, trgBgn, srcLen);} public static Class ComponentType(Object ary) { - if (ary == null) throw Exc_.new_null("ary"); + if (ary == null) throw Err_.new_null(); return ary.getClass().getComponentType(); } public static Object Resize_add(Object src, Object add) { diff --git a/100_core/src_110_primitive/gplx/Bool_.java b/100_core/src_110_primitive/gplx/Bool_.java index 312c6e948..1d38cddc4 100644 --- a/100_core/src_110_primitive/gplx/Bool_.java +++ b/100_core/src_110_primitive/gplx/Bool_.java @@ -26,8 +26,8 @@ public class Bool_ implements GfoInvkAble { 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_a7(True_str), False_bry = Bry_.new_a7(False_str); - public static boolean cast_(Object obj) {try {return (Boolean)obj;} catch (Exception e) {throw Exc_.new_type_mismatch_w_exc(e, boolean.class, obj);}} - public static boolean cast_or_(Object obj, boolean v) {try {return (Boolean)obj;} catch (Exception e) {Exc_.Noop(e); return v;}} + public static boolean cast_(Object obj) {try {return (Boolean)obj;} catch (Exception e) {throw Err_.new_type_mismatch_w_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;} public static boolean parse_(String raw) { if ( String_.Eq(raw, "true") @@ -38,7 +38,7 @@ public class Bool_ implements GfoInvkAble { || String_.Eq(raw, "False") ) return false; - throw Exc_.new_parse_type(boolean.class, raw); + throw Err_.new_parse_type(boolean.class, raw); } public static byte Xto_byte(boolean v) {return v ? Y_byte : N_byte;} public static int Xto_int(boolean v) {return v ? 1 : 0;} diff --git a/100_core/src_110_primitive/gplx/Bry_.java b/100_core/src_110_primitive/gplx/Bry_.java index e00f47a3a..afe4c2fc0 100644 --- a/100_core/src_110_primitive/gplx/Bry_.java +++ b/100_core/src_110_primitive/gplx/Bry_.java @@ -45,7 +45,7 @@ public class Bry_ { } return rv; } - catch (Exception e) {throw Exc_.new_exc(e, "core", "invalid ASCII sequence", "str", str);} + catch (Exception e) {throw Err_.new_exc(e, "core", "invalid ASCII sequence", "str", str);} } public static byte[] new_u8_safe(String str) {return str == null ? null : new_u8(str);} public static byte[] new_u8(String str) { @@ -56,7 +56,7 @@ public class Bry_ { new_u8_write(str, str_len, rv, 0); return rv; } - catch (Exception e) {throw Exc_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} + catch (Exception e) {throw Err_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} } public static int new_u8_by_len(String s, int s_len) { int rv = 0; @@ -85,7 +85,7 @@ public class Bry_ { } else if ( (c > 55295) // 0xD800 && (c < 56320)) { // 0xDFFF - if (i >= str_len) throw Exc_.new_("incomplete surrogate pair at end of String", "char", c); + if (i >= str_len) throw Err_.new_wo_type("incomplete surrogate pair at end of String", "char", c); char nxt_char = str.charAt(i + 1); int v = 0x10000 + (c - 0xD800) * 0x400 + (nxt_char - 0xDC00); bry[bry_pos++] = (byte)(0xF0 | (v >> 18)); @@ -103,9 +103,9 @@ public class Bry_ { } public static byte[] Coalesce(byte[] orig, byte[] val_if_not_blank) {return Bry_.Len_eq_0(orig) ? val_if_not_blank : orig;} public static byte Get_at_end_or_fail(byte[] bry) { - if (bry == null) throw Exc_.new_("bry is null"); + if (bry == null) throw Err_.new_wo_type("bry is null"); int bry_len = bry.length; - if (bry_len == 0) throw Exc_.new_("bry has 0 len"); + if (bry_len == 0) throw Err_.new_wo_type("bry has 0 len"); return bry[bry_len - 1]; } public static int While_fwd(byte[] src, byte while_byte, int bgn, int end) { @@ -325,7 +325,7 @@ public class Bry_ { } public static byte[] Mid_safe(byte[] src, int bgn, int end) { try {return Mid(src, bgn, end);} - catch (Exception e) {Exc_.Noop(e); return Bry_.Add_w_dlm(Byte_ascii.Space, Bry_.XbyInt(bgn), Bry_.XbyInt(end));} + catch (Exception e) {Err_.Noop(e); return Bry_.Add_w_dlm(Byte_ascii.Space, Bry_.XbyInt(bgn), Bry_.XbyInt(end));} } public static byte[] Mid(byte[] src, int bgn) {return Mid(src, bgn, src.length);} public static byte[] Mid_or(byte[] src, int bgn, int end, byte[] or) { @@ -351,7 +351,7 @@ public class Bry_ { else if (bgn < 0 || bgn > src.length) msg = "invalid bgn"; else if (end < 0 || end > src.length) msg = "invalid end"; else if (end < bgn) msg = "end < bgn"; - throw Exc_.new_exc(e, "core", msg, "bgn", bgn, "end", end, "src", src == null ? "" : String_.new_u8_by_len(src, bgn, 32)); + throw Err_.new_exc(e, "core", msg, "bgn", bgn, "end", end, "src", src == null ? "" : String_.new_u8_by_len(src, bgn, 32)); } } public static byte[] mask_(int len, byte... itms) { @@ -372,7 +372,7 @@ public class Bry_ { if (trim_bgn) { for (int i = bgn; i < end; i++) { byte b = src[i]; - if (trim_ary[b & 0xFF] == Byte_ascii.Nil) { + if (trim_ary[b & 0xFF] == Byte_ascii.Null) { txt_bgn = i; i = end; all_ws = false; @@ -383,7 +383,7 @@ public class Bry_ { if (trim_end) { for (int i = end - 1; i > -1; i--) { byte b = src[i]; - if (trim_ary[b & 0xFF] == Byte_ascii.Nil) { + if (trim_ary[b & 0xFF] == Byte_ascii.Null) { txt_end = i + 1; i = -1; all_ws = false; @@ -610,7 +610,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 Exc_.new_("could not parse to int", "val", String_.new_u8(ary)); + if (rv == Int_.MinValue) throw Err_.new_wo_type("could not parse to int", "val", String_.new_u8(ary)); return rv; } public static boolean Xto_bool_by_int_or_fail(byte[] ary) { @@ -618,7 +618,7 @@ public class Bry_ { switch (rv) { case 0: return false; case 1: return true; - default: throw Exc_.new_("could not parse to boolean int", "val", String_.new_u8(ary)); + default: throw Err_.new_wo_type("could not parse to boolean int", "val", String_.new_u8(ary)); } } public static int Xto_int_or(byte[] ary, int or) {return Xto_int_or(ary, null, 0, ary.length, or);} @@ -735,7 +735,7 @@ 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 Exc_.new_("csv date is invalid", "txt", String_.new_u8_by_len(ary, bgn, 20)); + if (ary[bgn + 19] != lkp) throw Err_.new_wo_type("csv date is invalid", "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); } @@ -748,10 +748,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 Exc_.new_("endOfAry reached, but no quote found", "txt", String_.new_u8_by_len(ary, bgn, pos)); + if (pos == aryLen) throw Err_.new_wo_type("endOfAry reached, but no quote found", "txt", String_.new_u8_by_len(ary, bgn, pos)); byte b = ary[pos]; if (b == Dlm_quote) { - if (pos == aryLen - 1) throw Exc_.new_("endOfAry reached, quote found but lkp not", "txt", String_.new_u8_by_len(ary, bgn, pos)); + if (pos == aryLen - 1) throw Err_.new_wo_type("endOfAry reached, quote found but lkp not", "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); @@ -761,7 +761,7 @@ public class Bry_ { posRef.Val_(pos + 2); // 1=endQuote;1=lkp; return make ? bb.Xto_bry() : Bry_.Empty; } - else throw Exc_.new_("quote found, but not doubled", "txt", String_.new_u8_by_len(ary, bgn, pos + 1)); + else throw Err_.new_wo_type("quote found, but not doubled", "txt", String_.new_u8_by_len(ary, bgn, pos + 1)); } else { if (make) bb.Add_byte(b); @@ -776,13 +776,13 @@ public class Bry_ { return make ? Bry_.Mid(ary, bgn, i) : Bry_.Empty; } } - throw Exc_.new_("lkp failed", "lkp", (char)lkp, "txt", String_.new_u8_by_len(ary, bgn, aryLen)); + throw Err_.new_wo_type("lkp failed", "lkp", (char)lkp, "txt", String_.new_u8_by_len(ary, bgn, aryLen)); } } public static int ReadCsvInt(byte[] ary, Int_obj_ref posRef, byte lkp) { int bgn = posRef.Val(); int pos = Bry_finder.Find_fwd(ary, lkp, bgn, ary.length); - if (pos == Bry_.NotFound) throw Exc_.new_("lkp failed", "lkp", (char)lkp, "bgn", bgn); + if (pos == Bry_.NotFound) throw Err_.new_wo_type("lkp failed", "lkp", (char)lkp, "bgn", bgn); int rv = Bry_.Xto_int_or(ary, posRef.Val(), pos, -1); posRef.Val_(pos + 1); // +1 = lkp.Len return rv; @@ -790,7 +790,7 @@ public class Bry_ { public static double ReadCsvDouble(byte[] ary, Int_obj_ref posRef, byte lkp) { int bgn = posRef.Val(); int pos = Bry_finder.Find_fwd(ary, lkp, bgn, ary.length); - if (pos == Bry_.NotFound) throw Exc_.new_("lkp failed", "lkp", (char)lkp, "bgn", bgn); + if (pos == Bry_.NotFound) throw Err_.new_wo_type("lkp failed", "lkp", (char)lkp, "bgn", bgn); double rv = Bry_.XtoDoubleByPos(ary, posRef.Val(), pos); posRef.Val_(pos + 1); // +1 = lkp.Len return rv; @@ -829,7 +829,7 @@ public class Bry_ { switch (digit) { case 0: return Byte_ascii.Num_0; case 1: return Byte_ascii.Num_1; case 2: return Byte_ascii.Num_2; case 3: return Byte_ascii.Num_3; case 4: return Byte_ascii.Num_4; case 5: return Byte_ascii.Num_5; case 6: return Byte_ascii.Num_6; case 7: return Byte_ascii.Num_7; case 8: return Byte_ascii.Num_8; case 9: return Byte_ascii.Num_9; - default: throw Exc_.new_("unknown digit", "digit", digit); + default: throw Err_.new_wo_type("unknown digit", "digit", digit); } } public static byte[][] Split(byte[] src, byte dlm) {return Split(src, dlm, false);} @@ -1032,6 +1032,6 @@ public class Bry_ { public static byte[] Null_if_empty(byte[] v) {return Len_eq_0(v) ? null : v;} public static byte Get_at_end(byte[] v) { int v_len = v.length; - return v_len == 0 ? Byte_ascii.Nil : v[v_len - 1]; + return v_len == 0 ? Byte_ascii.Null : v[v_len - 1]; } } diff --git a/100_core/src_110_primitive/gplx/Bry__tst.java b/100_core/src_110_primitive/gplx/Bry__tst.java index 7d7c071bf..4ae71f392 100644 --- a/100_core/src_110_primitive/gplx/Bry__tst.java +++ b/100_core/src_110_primitive/gplx/Bry__tst.java @@ -127,7 +127,7 @@ public class Bry__tst { } void tst_ReadCsvStr_err(String raw) { try {Bry_.ReadCsvStr(Bry_.new_u8(String_.Replace(raw, "'", "\"")), Int_obj_ref.zero_(), (byte)'|');} - catch (Exception e) {Exc_.Noop(e); return;} + catch (Exception e) {Err_.Noop(e); return;} Tfds.Fail_expdError(); } @Test public void ReadCsvDte() { diff --git a/100_core/src_110_primitive/gplx/Bry_bfr.java b/100_core/src_110_primitive/gplx/Bry_bfr.java index 8bd4ef706..7d842727e 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr.java @@ -77,7 +77,7 @@ public class Bry_bfr { return this; } public Bry_bfr ClearAndReset() {bfr_len = 0; if (reset > 0) Reset_if_gt(reset); return this;} - public byte Get_at_last_or_nil_if_empty() {return bfr_len == 0 ? Byte_ascii.Nil : bfr[bfr_len - 1];} + public byte Get_at_last_or_nil_if_empty() {return bfr_len == 0 ? Byte_ascii.Null : bfr[bfr_len - 1];} public Bry_bfr Add_safe(byte[] val) {return val == null ? this : Add(val);} public Bry_bfr Add(byte[] val) { int val_len = val.length; @@ -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 Exc_.new_("negative len", "bgn", bgn, "end", end, "excerpt", 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 (len < 0) throw Err_.new_wo_type("negative len", "bgn", bgn, "end", end, "excerpt", 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); @@ -124,7 +124,7 @@ public class Bry_bfr { if (trim_bgn) { for (int i = 0; i < src_len; i++) { byte b = src_bry[i]; - if (trim_ary[b & 0xFF] == Byte_ascii.Nil) { + if (trim_ary[b & 0xFF] == Byte_ascii.Null) { src_bgn = i; i = src_len; all_ws = false; @@ -135,7 +135,7 @@ public class Bry_bfr { if (trim_end) { for (int i = src_len - 1; i > -1; i--) { byte b = src_bry[i]; - if (trim_ary[b & 0xFF] == Byte_ascii.Nil) { + if (trim_ary[b & 0xFF] == Byte_ascii.Null) { src_end = i + 1; i = -1; all_ws = false; @@ -288,7 +288,7 @@ public class Bry_bfr { bfr_len += bry_len; return this; } - catch (Exception e) {throw Exc_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} + catch (Exception e) {throw Err_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} } public Bry_bfr Add_str_a7(String str) { try { @@ -302,11 +302,12 @@ public class Bry_bfr { bfr_len += bry_len; return this; } - catch (Exception e) {throw Exc_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} + catch (Exception e) {throw Err_.new_exc(e, "core", "invalid UTF-8 sequence", "s", str);} } - public Bry_bfr Add_kv_line(String key, Object val) { + public Bry_bfr Add_kv_dlm(boolean line, String key, Object val) { this.Add_str_a7(key).Add_byte_colon().Add_byte_space(); - this.Add(Bry_.new_u8(Object_.Xto_str_strict_or_null_mark(val))).Add_byte_nl(); + this.Add(Bry_.new_u8(Object_.Xto_str_strict_or_null_mark(val))); + this.Add_byte(line ? Byte_ascii.Nl : Byte_ascii.Tab); return this; } public Bry_bfr Add_float(float f) {Add_str(Float_.Xto_str(f)); return this;} diff --git a/100_core/src_110_primitive/gplx/Bry_bfr_mkr.java b/100_core/src_110_primitive/gplx/Bry_bfr_mkr.java index 971fd14e1..216c1a311 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr_mkr.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr_mkr.java @@ -46,7 +46,7 @@ public class Bry_bfr_mkr { case Tid_b512: return mkr_b512; case Tid_k004: return mkr_k004; case Tid_m001: return mkr_m001; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } } @@ -72,7 +72,7 @@ class Bry_bfr_mkr_mgr { for (int i = 0; i < ary_max; i++) { Bry_bfr itm = ary[i]; if (itm != null) { - if (!itm.Mkr_idx_is_null()) throw Exc_.new_("failed to clear bfr", "idx", Int_.Xto_str(i)); + if (!itm.Mkr_idx_is_null()) throw Err_.new_wo_type("failed to clear bfr", "idx", Int_.Xto_str(i)); itm.Clear(); } ary[i] = null; @@ -104,9 +104,9 @@ class Bry_bfr_mkr_mgr { int rv_idx = -1; if (free_len > 0) { try {rv_idx = free[--free_len];} - catch (Exception e) {throw Exc_.new_exc(e, "core", "failed to get free index", "free_len", free_len, "free.length", free.length);} + catch (Exception e) {throw Err_.new_exc(e, "core", "failed to get free index", "free_len", free_len, "free.length", free.length);} try {rv = ary[rv_idx];} - catch (Exception e) {throw Exc_.new_exc(e, "core", "failed to get bfr", "rv_idx", rv_idx, "ary.length", ary.length);} + catch (Exception e) {throw Err_.new_exc(e, "core", "failed to get bfr", "rv_idx", rv_idx, "ary.length", ary.length);} } else { if (nxt_idx == ary_max) @@ -146,7 +146,7 @@ class Bry_bfr_mkr_mgr { // } public void Rls(int idx) { synchronized (thread_lock) { - if (idx == -1) throw Exc_.new_("rls called on bfr that was not created by factory"); + if (idx == -1) throw Err_.new_wo_type("rls called on bfr that was not created by factory"); int new_ary_len = nxt_idx - 1; if (idx == new_ary_len) nxt_idx = new_ary_len; diff --git a/100_core/src_110_primitive/gplx/Bry_finder.java b/100_core/src_110_primitive/gplx/Bry_finder.java index 414178c68..66d80e1ed 100644 --- a/100_core/src_110_primitive/gplx/Bry_finder.java +++ b/100_core/src_110_primitive/gplx/Bry_finder.java @@ -245,7 +245,7 @@ public class Bry_finder { case Byte_ascii.Space: case Byte_ascii.Tab: ++cur; break; default: return cur; } - } catch (Exception e) {throw Exc_.new_exc(e, "core", "idx is invalid", "cur", cur, "src", src);} + } catch (Exception e) {throw Err_.new_exc(e, "core", "idx is invalid", "cur", cur, "src", src);} } } public static int Find_fwd_while_letter(byte[] src, int cur, int end) { diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr.java b/100_core/src_110_primitive/gplx/Bry_fmtr.java index 5d2b48961..b360192aa 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr.java @@ -97,7 +97,6 @@ public class Bry_fmtr { this.Fmt_(fmt).Bld_bfr_many(bfr, args); return bfr.Xto_str_and_clear(); } - public String Bld_str_many(String... args) { if (dirty) Compile(); String_bldr rv = String_bldr_.new_(); @@ -172,7 +171,7 @@ public class Bry_fmtr { else if (cur_byte == char_escape) { if (fmt_pos == fmt_end) { if (fail_when_invalid_escapes) - throw Exc_.new_("escape char encountered but no more chars left"); + throw Err_.new_wo_type("escape char encountered but no more chars left"); else { trg_bry[trg_pos] = cur_byte; break; @@ -196,7 +195,7 @@ public class Bry_fmtr { else if (nxt_byte == char_escape_nl) tmp_byte = Byte_ascii.Nl; else if (nxt_byte == char_escape_tab) tmp_byte = Byte_ascii.Tab; else { - if (fail_when_invalid_escapes) throw Exc_.new_("unknown escape code", "code", Char_.XbyInt(nxt_byte), "fmt_pos", fmt_pos + 1); + if (fail_when_invalid_escapes) throw Err_.new_wo_type("unknown escape code", "code", Char_.XbyInt(nxt_byte), "fmt_pos", fmt_pos + 1); else tmp_byte = cur_byte; } @@ -209,7 +208,7 @@ public class Bry_fmtr { fmt_pos += 1; } } - if (lkp_is_active) throw Exc_.new_("idx mode not closed"); + if (lkp_is_active) throw Err_.new_wo_type("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.To_ary(Bry_fmtr_itm.class); itms_len = itms.length; @@ -217,9 +216,9 @@ public class Bry_fmtr { } } 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 Exc_.new_("eval_lhs_end_invalid: could not find eval_lhs_end", "snip", String_.new_u8(fmt, eval_lhs_bgn, fmt_len)); + 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_.new_wo_type("eval_lhs_end_invalid: could not find eval_lhs_end", "snip", 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 Exc_.new_("eval_rhs_bgn_invalid: could not find eval_rhs_bgn", "snip", String_.new_u8(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_.new_wo_type("eval_rhs_bgn_invalid: could not find eval_rhs_bgn", "snip", 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/Byte_.java b/100_core/src_110_primitive/gplx/Byte_.java index aad93dcbb..06297dec1 100644 --- a/100_core/src_110_primitive/gplx/Byte_.java +++ b/100_core/src_110_primitive/gplx/Byte_.java @@ -24,13 +24,13 @@ public class Byte_ { , Min_value = Byte.MIN_VALUE , Max_value_127 = 127 ; - public static byte cast_(Object o) {try {return (Byte)o;} catch (Exception e) {throw Exc_.new_type_mismatch_w_exc(e, byte.class, o);}} + public static byte cast_(Object o) {try {return (Byte)o;} catch (Exception e) {throw Err_.new_type_mismatch_w_exc(e, byte.class, o);}} public static byte parse_(String raw) {return Byte.parseByte(raw);} public static byte parse_or_(String raw, byte or) { if (raw == null) return or; try { return parse_(raw); - } catch (Exception e) {Exc_.Noop(e); return or;} + } catch (Exception e) {Err_.Noop(e); return or;} } public static byte By_int(int v) {return v > 127 ? (byte)(v - 256) : (byte)v;} // PERF?: (byte)(v & 0xff) public static int Xto_int(byte v) {return v < 0 ? (int)v + 256 : v;} diff --git a/100_core/src_110_primitive/gplx/Byte_ascii.java b/100_core/src_110_primitive/gplx/Byte_ascii.java index 8739f50a6..4d56c25ae 100644 --- a/100_core/src_110_primitive/gplx/Byte_ascii.java +++ b/100_core/src_110_primitive/gplx/Byte_ascii.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; public class Byte_ascii { public static final byte - Nil = 0 , Backfeed = 8, Tab = 9 + Null = 0 , Backfeed = 8, Tab = 9 , Nl = 10, Formfeed = 12, Cr = 13 , Space = 32, Bang = 33, Quote = 34 , Hash = 35, Dollar = 36, Percent = 37, Amp = 38, Apos = 39 diff --git a/100_core/src_110_primitive/gplx/Char_.java b/100_core/src_110_primitive/gplx/Char_.java index c26960213..9eb41d364 100644 --- a/100_core/src_110_primitive/gplx/Char_.java +++ b/100_core/src_110_primitive/gplx/Char_.java @@ -71,6 +71,6 @@ public class Char_ { public static String XtoStr(int b) {return XtoStr((char)b);} public static String XtoStr(char c) {return String.valueOf(c);} public static byte XtoByte(char c) {return (byte)c;} - public static char cast_(Object o) {try {return (Character)o;} catch(Exception e) {throw Exc_.new_type_mismatch_w_exc(e, char.class, o);}} - public static char parse_(String raw) {try {return raw.charAt(0);} catch(Exception exc) {throw Exc_.new_parse_exc(exc, char.class, raw);}} + public static char cast_(Object o) {try {return (Character)o;} catch(Exception e) {throw Err_.new_type_mismatch_w_exc(e, char.class, o);}} + public static char parse_(String raw) {try {return raw.charAt(0);} catch(Exception exc) {throw Err_.new_parse_exc(exc, char.class, raw);}} } diff --git a/100_core/src_110_primitive/gplx/Double_.java b/100_core/src_110_primitive/gplx/Double_.java index 484c8c4a8..2ec5fb87d 100644 --- a/100_core/src_110_primitive/gplx/Double_.java +++ b/100_core/src_110_primitive/gplx/Double_.java @@ -29,12 +29,12 @@ public class Double_ { , 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 Exc_.new_type_mismatch_w_exc(e, double.class, o);}} - public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Exc_.new_parse_exc(e, double.class, raw);}} - public static double parse_or(String raw, double v) {try {return Double.parseDouble(raw);} catch(Exception e) {Exc_.Noop(e); return v;}} + public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.new_type_mismatch_w_exc(e, double.class, o);}} + public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Err_.new_parse_exc(e, double.class, raw);}} + public static double parse_or(String raw, double v) {try {return Double.parseDouble(raw);} catch(Exception e) {Err_.Noop(e); return v;}} public static double coerce_(Object v) { try {String s = String_.as_(v); return s == null ? Double_.cast_(v) : Double_.parse_(s);} - catch (Exception e) {throw Exc_.new_cast(e, double.class, v);} + catch (Exception e) {throw Err_.new_cast(e, double.class, v);} } public static String Xto_str(double v) { int v_int = (int)v; diff --git a/100_core/src_110_primitive/gplx/Float_.java b/100_core/src_110_primitive/gplx/Float_.java index dff490e33..933552241 100644 --- a/100_core/src_110_primitive/gplx/Float_.java +++ b/100_core/src_110_primitive/gplx/Float_.java @@ -21,8 +21,8 @@ public class Float_ { public static final Class Cls_ref_type = Float.class; public static final float NaN = Float.NaN;; public static boolean IsNaN(float v) {return Float.isNaN(v);} - public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, float.class, obj);}} - public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Exc_.new_parse_exc(exc, float.class, raw);}} + public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, float.class, obj);}} + public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Err_.new_parse_exc(exc, float.class, raw);}} public static String Xto_str(float v) { int v_int = (int)v; return v - v_int == 0 ? Int_.Xto_str(v_int) : Float.toString(v); diff --git a/100_core/src_110_primitive/gplx/Int_.java b/100_core/src_110_primitive/gplx/Int_.java index 1f7bf5d7c..9e8afd184 100644 --- a/100_core/src_110_primitive/gplx/Int_.java +++ b/100_core/src_110_primitive/gplx/Int_.java @@ -26,7 +26,7 @@ public class Int_ implements GfoInvkAble { public static final int Null = Int_.MinValue; public static int coerce_(Object v) { try {String s = String_.as_(v); return s == null ? Int_.cast_(v) : Int_.parse_(s);} - catch (Exception e) {throw Exc_.new_cast(e, int.class, v);} + catch (Exception e) {throw Err_.new_cast(e, int.class, v);} } public static int[] Ary_empty = new int[0]; public static int[] Ary(int... v) {return v;} @@ -85,8 +85,8 @@ public class Int_ implements GfoInvkAble { public static int Max(int lhs, int rhs) {return lhs > rhs ? lhs : rhs;} public static int ModIfNeg1(int v, int or) {return v == -1 ? or : v;} public static boolean RangeCheck(int v, int max) {return v >= 0 && v < max;} - public static void RangeCheckOrFail_list(int v, int max, String s) {if (v < 0 || v >= max) throw Exc_.new_("bounds check failed", "msg", s, "v", v, "min", 0, "max", max - 1);} - public static void RangeCheckOrFail(int v, int min, int max, String s) {if (v < min || v >= max) throw Exc_.new_("bounds check failed", "msg", s, "v", v, "min", min, "max", max);} + public static void RangeCheckOrFail_list(int v, int max, String s) {if (v < 0 || v >= max) throw Err_.new_wo_type("bounds check failed", "msg", s, "v", v, "min", 0, "max", max - 1);} + public static void RangeCheckOrFail(int v, int min, int max, String s) {if (v < min || v >= max) throw Err_.new_wo_type("bounds check failed", "msg", s, "v", v, "min", min, "max", max);} public static boolean Between(int v, int lhs, int rhs) { int lhsCompare = v == lhs ? 0 : (v < lhs ? -1 : 1); int rhsCompare = v == rhs ? 0 : (v < rhs ? -1 : 1); @@ -131,7 +131,7 @@ public class Int_ implements GfoInvkAble { return rv * sign; } public static int[] Log10Ary = new int[] {1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000, Int_.MaxValue}; public static int Log10AryLen = 11; public Int_ FailIfNeg1(String key, int val) { - if (val < 0) throw Exc_.new_("key must be >= 0", "key", key, "val", val); + if (val < 0) throw Err_.new_wo_type("key must be >= 0", "key", key, "val", val); return this; } public static String Xto_str_pad_bgn_space(int v, int reqdPlaces) {return Xto_str_pad_bgn_zero(v, reqdPlaces, Byte_ascii.Space, true);} // EX: 1, 3 returns " 1" @@ -155,9 +155,9 @@ public class Int_ implements GfoInvkAble { return bfr.Xto_str(); } public static int read_(Object o) {String s = String_.as_(o); return s != null ? Int_.parse_(s) : Int_.cast_(o);} - public static int parse_(String raw) {try {return Integer.parseInt(raw);} catch(Exception e) {throw Exc_.new_parse_exc(e, int.class, raw);}} - public static int cast_(Object obj) {try {return (Integer)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, int.class, obj);}} - public static int cast_or_(Object obj, int or) {try {return (Integer)obj;} catch(Exception e) {Exc_.Noop(e); return or;}} + public static int parse_(String raw) {try {return Integer.parseInt(raw);} catch(Exception e) {throw Err_.new_parse_exc(e, int.class, raw);}} + public static int cast_(Object obj) {try {return (Integer)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, int.class, obj);}} + public static int cast_or_(Object obj, int or) {try {return (Integer)obj;} catch(Exception e) {Err_.Noop(e); return or;}} public static int Xby_double_(double v) {return (int)v;} public static String Xto_str(int v) {return new Integer(v).toString();} public static String Xto_str_fmt(int v, String fmt) {return new java.text.DecimalFormat(fmt).format(v);} diff --git a/100_core/src_110_primitive/gplx/Int_ary_.java b/100_core/src_110_primitive/gplx/Int_ary_.java index fbfab423b..14ae94b63 100644 --- a/100_core/src_110_primitive/gplx/Int_ary_.java +++ b/100_core/src_110_primitive/gplx/Int_ary_.java @@ -90,6 +90,6 @@ public class Int_ary_ { return (rv_idx == rv_len) // on the off-chance that rv_len == rv_idx; EX: "1" ? rv : (int[])Array_.Resize(rv, rv_idx); - } catch (Exception e) {Exc_.Noop(e); return or;} + } catch (Exception e) {Err_.Noop(e); return or;} } } diff --git a/100_core/src_110_primitive/gplx/Long_.java b/100_core/src_110_primitive/gplx/Long_.java index 30cd77119..5b40b24fe 100644 --- a/100_core/src_110_primitive/gplx/Long_.java +++ b/100_core/src_110_primitive/gplx/Long_.java @@ -31,11 +31,11 @@ public class Long_ { , Long_.Pow(10, 15), Long_.Pow(10, 16), Long_.Pow(10, 17), Long_.Pow(10, 18), Long_.Pow(10, 19) , Long_.MaxValue }; - public static long parse_(String raw) {try {return Long.parseLong(raw);} catch(Exception e) {throw Exc_.new_parse_exc(e, long.class, raw);}} - public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Exc_.new_type_mismatch_w_exc(e, long.class, obj);}} + public static long parse_(String raw) {try {return Long.parseLong(raw);} catch(Exception e) {throw Err_.new_parse_exc(e, long.class, raw);}} + public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Err_.new_type_mismatch_w_exc(e, long.class, obj);}} public static long coerce_(Object v) { try {String s = String_.as_(v); return s == null ? Long_.cast_(v) : Long_.parse_(s);} - catch (Exception e) {throw Exc_.new_cast(e, long.class, v);} + catch (Exception e) {throw Err_.new_cast(e, long.class, v);} } public static long Xby_int(int v) {return (long)v;} public static String Xto_str(long v) {return Long.toString(v);} @@ -53,7 +53,7 @@ public class Long_ { factor *= 10; } return rv; - } catch (Exception e) {Exc_.Noop(e); return or;} + } catch (Exception e) {Err_.Noop(e); return or;} } public static int Compare(long lhs, long rhs) { if (lhs == rhs) return CompareAble_.Same; diff --git a/100_core/src_110_primitive/gplx/Short_.java b/100_core/src_110_primitive/gplx/Short_.java index 6e69867ee..ceba279bd 100644 --- a/100_core/src_110_primitive/gplx/Short_.java +++ b/100_core/src_110_primitive/gplx/Short_.java @@ -18,5 +18,5 @@ along with this program. If not, see . package gplx; public class Short_ { public static final Class Cls_ref_type = Short.class; - public static short cast_(Object obj) {try {return (Short)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, short.class, obj);}} + public static short cast_(Object obj) {try {return (Short)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, short.class, obj);}} } diff --git a/100_core/src_110_primitive/gplx/String_.java b/100_core/src_110_primitive/gplx/String_.java index e2f23cf65..e8843defb 100644 --- a/100_core/src_110_primitive/gplx/String_.java +++ b/100_core/src_110_primitive/gplx/String_.java @@ -32,7 +32,7 @@ public class String_ implements GfoInvkAble { ? null : new String(v, bgn, end - bgn, "ASCII"); } - catch (Exception e) {throw Exc_.new_exc(e, "core", "unsupported encoding");} + catch (Exception e) {throw Err_.new_exc(e, "core", "unsupported encoding");} } 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) { @@ -41,7 +41,7 @@ public class String_ implements GfoInvkAble { ? null : new String(v, bgn, end - bgn, "UTF-8"); } - catch (Exception e) {throw Exc_.new_exc(e, "core", "unsupported encoding");} + catch (Exception e) {throw Err_.new_exc(e, "core", "unsupported encoding");} } public static String new_u8_by_len(byte[] v, int bgn, int len) { int v_len = v.length; @@ -170,7 +170,7 @@ public class String_ implements GfoInvkAble { else if (bgn > end) msg = "@bgn > @end"; else if (bgn < 0 || bgn >= len) msg = "@bgn is invalid"; else if (end < 0 || end > len) msg = "@end is invalid"; - throw Exc_.new_exc(e, "core", msg, "s", s, "bgn", bgn, "end", end, "len", len); + throw Err_.new_exc(e, "core", msg, "s", s, "bgn", bgn, "end", end, "len", len); } } public static String MidByLenSafe(String s, int bgn, int len) { @@ -179,41 +179,43 @@ public class String_ implements GfoInvkAble { } public static String MidByLen(String s, int bgn, int len) {return Mid_lang(s, bgn, len);} public static String GetStrBefore(String s, String spr) { - int sprPos = String_.FindFwd(s, spr); if (sprPos == String_.Find_none) throw Exc_.new_("could not find spr", "s", s, "spr", spr); + int sprPos = String_.FindFwd(s, spr); if (sprPos == String_.Find_none) throw Err_.new_wo_type("could not find spr", "s", s, "spr", spr); return Mid(s, 0, sprPos); } public static String GetStrAfter(String s, String spr) { - int sprPos = String_.FindFwd(s, spr); if (sprPos == String_.Find_none) throw Exc_.new_("could not find spr", "s", s, "spr", spr); + int sprPos = String_.FindFwd(s, spr); if (sprPos == String_.Find_none) throw Err_.new_wo_type("could not find spr", "s", s, "spr", spr); return Mid(s, sprPos + 1); } public static String LimitToFirst(String s, int len) { - if (len < 0) throw Err_arg.cannotBe_("< 0", "len", len); + if (len < 0) throw Err_.new_invalid_arg("< 0", "len", len); int sLen = Len(s); if (len > sLen) return s; return Mid_lang(s, 0, len); } public static String LimitToLast(String s, int len) { - if (len < 0) throw Err_arg.cannotBe_("< 0", "len", len); + if (len < 0) throw Err_.new_invalid_arg("< 0", "len", len); int sLen = Len(s); if (len > sLen) return s; return Mid_lang(s, sLen - len, len); } public static String DelBgn(String s, int count) { - if (count < 0) throw Err_arg.cannotBe_("< 0", "count", count); - if (s == null) throw Err_arg.null_("s"); - int len = Len(s); if (count > len) throw Err_arg.cannotBe_("> @len", "count", count).Add("len", len); + if (count < 0) throw Err_.new_invalid_arg("< 0", "count", count); + if (s == null) throw Err_.new_null(); + int len = Len(s); if (count > len) throw Err_.new_invalid_arg("> @len", "count", count, "len", len); return String_.Mid(s, count); } public static String DelBgnIf(String s, String find) { - if (s == null) throw Err_arg.null_("s"); if (find == null) throw Err_arg.null_("find"); + if (s == null) throw Err_.new_null(); + if (find == null) throw Err_.new_null(); return Has_at_bgn(s, find) ? String_.Mid(s, Len(find)) : s; } public static String DelEnd(String s, int count) { - if (count < 0) throw Err_arg.cannotBe_("< 0", "count", count); - if (s == null) throw Err_arg.null_("s"); - int len = Len(s); if (count > len) throw Err_arg.cannotBe_("> len", "count", count).Add("len", len); + if (count < 0) throw Err_.new_invalid_arg("< 0", "count", count); + if (s == null) throw Err_.new_null(); + int len = Len(s); if (count > len) throw Err_.new_invalid_arg("> len", "count", count, "len", len); return Mid_lang(s, 0, len + -count); } public static String DelEndIf(String s, String find) { - if (s == null) throw Err_arg.null_("s"); if (find == null) throw Err_arg.null_("find"); + if (s == null) throw Err_.new_null(); + if (find == null) throw Err_.new_null(); return Has_at_end(s, find) ? Mid_lang(s, 0, Len(s) - Len(find)) : s; } public static String LowerFirst(String s) { @@ -252,14 +254,14 @@ public class String_ implements GfoInvkAble { return (last == len) ? s : Mid_lang(s, 0, last); } public static String Repeat(String s, int count) { - if (count < 0) throw Exc_.new_("count cannot be negative", "count", count, "s", s); + if (count < 0) throw Err_.new_wo_type("count cannot be negative", "count", count, "s", s); String_bldr sb = String_bldr_.new_(); for (int i = 0; i < count; i++) sb.Add(s); return sb.XtoStr(); } public static String Insert(String s, int pos, String toInsert) { - if (pos < 0 || pos >= String_.Len(s)) throw Exc_.new_("String_.Insert failed; pos invalid", "pos", pos, "s", s, "toInsert", toInsert); + if (pos < 0 || pos >= String_.Len(s)) throw Err_.new_wo_type("String_.Insert failed; pos invalid", "pos", pos, "s", s, "toInsert", toInsert); return s.substring(0, pos) + toInsert + s.substring(pos); } public static String Format(String fmt, Object... args) {return Format_do(fmt, args);} @@ -488,7 +490,7 @@ public class String_ implements GfoInvkAble { } public static String read_(Object obj) {// NOTE: same as cast_; for consistent readability only String rv = as_(obj); - if (rv == null && obj != null) throw Exc_.new_type_mismatch(String.class, obj); // NOTE: obj != null needed; EX: cast_(null) --> null + if (rv == null && obj != null) throw Err_.new_type_mismatch(String.class, obj); // NOTE: obj != null needed; EX: cast_(null) --> null return rv; } public static String[] Ary(byte[]... ary) { diff --git a/100_core/src_110_primitive/gplx/String__tst.java b/100_core/src_110_primitive/gplx/String__tst.java index 6abf77d36..285eaaf75 100644 --- a/100_core/src_110_primitive/gplx/String__tst.java +++ b/100_core/src_110_primitive/gplx/String__tst.java @@ -32,7 +32,7 @@ public class String__tst { err_LimitToFirst("abc", -1); } void tst_LimitToFirst(String s, int v, String expd) {Tfds.Eq(expd, String_.LimitToFirst(s, v));} - void err_LimitToFirst(String s, int v) {try {String_.LimitToFirst(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_LimitToFirst(String s, int v) {try {String_.LimitToFirst(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void LimitToLast() { tst_LimitToLast("abc", 0, ""); tst_LimitToLast("abc", 1, "c"); @@ -42,7 +42,7 @@ public class String__tst { err_LimitToLast("abc", -1); } void tst_LimitToLast(String s, int v, String expd) {Tfds.Eq(expd, String_.LimitToLast(s, v));} - void err_LimitToLast(String s, int v) {try {String_.LimitToLast(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_LimitToLast(String s, int v) {try {String_.LimitToLast(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void DelBgn() { tst_DelBgn("abc", 0, "abc"); tst_DelBgn("abc", 1, "bc"); @@ -52,7 +52,7 @@ public class String__tst { err_DelBgn("abc", 4); } void tst_DelBgn(String s, int v, String expd) {Tfds.Eq(expd, String_.DelBgn(s, v));} - void err_DelBgn(String s, int v) {try {String_.DelBgn(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_DelBgn(String s, int v) {try {String_.DelBgn(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void DelBgnIf() { tst_DelBgnIf("abc", "", "abc"); tst_DelBgnIf("abc", "a", "bc"); @@ -64,7 +64,7 @@ public class String__tst { err_DelBgnIf("abc", null); } void tst_DelBgnIf(String s, String v, String expd) {Tfds.Eq(expd, String_.DelBgnIf(s, v));} - void err_DelBgnIf(String s, String v) {try {String_.DelBgnIf(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_DelBgnIf(String s, String v) {try {String_.DelBgnIf(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void DelEnd() { tst_DelEnd("abc", 0, "abc"); tst_DelEnd("abc", 1, "ab"); @@ -74,7 +74,7 @@ public class String__tst { err_DelEnd("abc", 4); } void tst_DelEnd(String s, int v, String expd) {Tfds.Eq(expd, String_.DelEnd(s, v));} - void err_DelEnd(String s, int v) {try {String_.DelEnd(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_DelEnd(String s, int v) {try {String_.DelEnd(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void DelEndIf() { tst_DelEndIf("abc", "", "abc"); tst_DelEndIf("abc", "c", "ab"); @@ -86,7 +86,7 @@ public class String__tst { err_DelEndIf("", null); } void tst_DelEndIf(String s, String v, String expd) {Tfds.Eq(expd, String_.DelEndIf(s, v));} - void err_DelEndIf(String s, String v) {try {String_.DelEndIf(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err_arg.class); return;} Tfds.Fail_expdError();} + void err_DelEndIf(String s, String v) {try {String_.DelEndIf(s, v);} catch (Exception exc) {Tfds.Err_classMatch(exc, Err.class); return;} Tfds.Fail_expdError();} @Test public void MidByPos() { tst_MidByPos("abc", 0, 0, ""); tst_MidByPos("abc", 0, 1, "a"); @@ -97,7 +97,7 @@ public class String__tst { // err_MidByPos("abc", 0, 4); } void tst_MidByPos(String s, int bgn, int end, String expd) {Tfds.Eq(expd, String_.Mid(s, bgn, end));} - void err_MidByPos(String s, int bgn, int end) {try {String_.Mid(s, bgn, end);} catch (Exception e) {Tfds.Err_classMatch(e, Exc.class); return;} Tfds.Fail_expdError();} + void err_MidByPos(String s, int bgn, int end) {try {String_.Mid(s, bgn, end);} catch (Exception e) {Tfds.Err_classMatch(e, Err.class); return;} Tfds.Fail_expdError();} @Test public void TrimEnd() { tst_TrimEnd("a", "a"); tst_TrimEnd("a ", "a"); diff --git a/100_core/src_120_basicDataType/gplx/DateAdp.java b/100_core/src_120_basicDataType/gplx/DateAdp.java index cce54ffb7..d08e5587e 100644 --- a/100_core/src_120_basicDataType/gplx/DateAdp.java +++ b/100_core/src_120_basicDataType/gplx/DateAdp.java @@ -49,7 +49,7 @@ public class DateAdp implements CompareAble, GfoInvkAble { case DateAdp_.SegIdx_dayOfWeek: return this.DayOfWeek(); case DateAdp_.SegIdx_weekOfYear: return this.WeekOfYear(); case DateAdp_.SegIdx_dayOfYear: return this.DayOfYear(); - default: throw Exc_.new_unhandled(segmentIdx); + default: throw Err_.new_unhandled(segmentIdx); } } public int[] XtoSegAry() { diff --git a/100_core/src_120_basicDataType/gplx/DateAdp_.java b/100_core/src_120_basicDataType/gplx/DateAdp_.java index 6f3ff6f94..fba8bcb66 100644 --- a/100_core/src_120_basicDataType/gplx/DateAdp_.java +++ b/100_core/src_120_basicDataType/gplx/DateAdp_.java @@ -46,10 +46,10 @@ public class DateAdp_ implements GfoInvkAble { int f = ary_len > 6 ? ary[6] : 0; return new DateAdp(y, M, d, h, m, s, f); } - public static DateAdp cast_(Object arg) {try {return (DateAdp)arg;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, DateAdp.class, arg);}} + public static DateAdp cast_(Object arg) {try {return (DateAdp)arg;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, DateAdp.class, arg);}} public static DateAdp parse_iso8561_or(String raw, DateAdp or) { try {return parse_iso8561(raw);} - catch (Exception e) {Exc_.Noop(e); return or;} + catch (Exception e) {Err_.Noop(e); return or;} } public static DateAdp parse_iso8561(String raw) { // NOTE: for now, same as parse_gplx int[] ary = date_parser.Parse_iso8651_like(raw); @@ -89,7 +89,7 @@ public class DateAdp_ implements GfoInvkAble { SimpleDateFormat sdf = new SimpleDateFormat(); Date d = null; try {d = sdf.parse(raw);} - catch (ParseException e) {throw Exc_.new_w_type("parse", "failed to parse to DateAdp", "raw", raw);} + catch (ParseException e) {throw Err_.new_("parse", "failed to parse to DateAdp", "raw", raw);} GregorianCalendar cal = (GregorianCalendar)Calendar.getInstance(); cal.setTime(d); return dateTime_(cal); @@ -100,7 +100,7 @@ public class DateAdp_ implements GfoInvkAble { SimpleDateFormat sdf = new SimpleDateFormat(fmt, Locale.US); Date d = null; try {d = sdf.parse(raw);} - catch (ParseException e) {throw Exc_.new_w_type("parse", "failed to parse to DateAdp", "raw", raw, "fmt", fmt);} + catch (ParseException e) {throw Err_.new_("parse", "failed to parse to DateAdp", "raw", raw, "fmt", fmt);} GregorianCalendar cal = (GregorianCalendar)Calendar.getInstance(); cal.setTime(d); return dateTime_(cal); diff --git a/100_core/src_120_basicDataType/gplx/DateAdp_parser.java b/100_core/src_120_basicDataType/gplx/DateAdp_parser.java index 84c602b9e..95137bd10 100644 --- a/100_core/src_120_basicDataType/gplx/DateAdp_parser.java +++ b/100_core/src_120_basicDataType/gplx/DateAdp_parser.java @@ -33,7 +33,7 @@ public class DateAdp_parser { int pos = bgn, rv_idx = 0, int_len = 0, max_len = max_lens[rv_idx]; while (true) { int int_val = -1; - byte b = pos < end ? src[pos] : Byte_ascii.Nil; + byte b = pos < end ? src[pos] : Byte_ascii.Null; switch (b) { case Byte_ascii.Num_0: case Byte_ascii.Num_1: case Byte_ascii.Num_2: case Byte_ascii.Num_3: case Byte_ascii.Num_4: case Byte_ascii.Num_5: case Byte_ascii.Num_6: case Byte_ascii.Num_7: case Byte_ascii.Num_8: case Byte_ascii.Num_9: @@ -58,19 +58,19 @@ public class DateAdp_parser { } class IntBldr { public int Add(char c) { - if (idx > digitsLen - 1) throw Exc_.new_missing_idx(idx, digitsLen); + if (idx > digitsLen - 1) throw Err_.new_missing_idx(idx, digitsLen); digits[idx++] = XbyChar(c); return idx; } public int Add(int i) { - if (idx > digitsLen - 1) throw Exc_.new_missing_idx(idx, digitsLen); + if (idx > digitsLen - 1) throw Err_.new_missing_idx(idx, digitsLen); digits[idx++] = i; return idx; } public int Parse(String raw) { ParseStr(raw); try {return Bld();} - catch (Exception exc) {throw Exc_.new_parse_exc(exc, int.class, raw);} + catch (Exception exc) {throw Err_.new_parse_exc(exc, int.class, raw);} } public boolean ParseTry(String raw) { ParseStr(raw); @@ -82,7 +82,7 @@ class IntBldr { int rv = 0, exponent = 1; for (int i = idx - 1; i > -1; i--) { int digit = digits[i]; - if (digit < 0) throw Exc_.new_("invalid char", "char", (char)-digits[i], "ascii", -digits[i]); + if (digit < 0) throw Err_.new_wo_type("invalid char", "char", (char)-digits[i], "ascii", -digits[i]); rv += digit * exponent; exponent *= 10; } diff --git a/100_core/src_120_basicDataType/gplx/DecimalAdp_.java b/100_core/src_120_basicDataType/gplx/DecimalAdp_.java index 219cd1822..a27e6b9f8 100644 --- a/100_core/src_120_basicDataType/gplx/DecimalAdp_.java +++ b/100_core/src_120_basicDataType/gplx/DecimalAdp_.java @@ -43,7 +43,7 @@ import java.math.BigDecimal; import java.math.MathContext; import java.math.Roun else if (v > 999999 && v < 10000000) return 10000000; else if (v > 9999999 && v < 100000000) return 100000000; else if (v > 99999999 && v < 1000000000) return 1000000000; - else throw Exc_.new_("value must be between 0 and 1 billion", "v", v); + else throw Err_.new_wo_type("value must be between 0 and 1 billion", "v", v); } public static String CalcPctStr(long dividend, long divisor, String fmt) { if (divisor == 0) return "%ERR"; diff --git a/100_core/src_120_basicDataType/gplx/Io_url_.java b/100_core/src_120_basicDataType/gplx/Io_url_.java index 33ea855fd..76fe6084e 100644 --- a/100_core/src_120_basicDataType/gplx/Io_url_.java +++ b/100_core/src_120_basicDataType/gplx/Io_url_.java @@ -22,7 +22,7 @@ public class Io_url_ { 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 Exc_.new_type_mismatch_w_exc(exc, Io_url.class, obj);}} + public static Io_url cast_(Object obj) {try {return (Io_url)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, Io_url.class, obj);}} public static Io_url Usr() { if (usr_dir == null) { switch (Op_sys.Cur().Tid()) { @@ -30,7 +30,7 @@ public class Io_url_ { 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 Exc_.new_unhandled(Op_sys.Cur().Tid()); + default: throw Err_.new_unhandled(Op_sys.Cur().Tid()); } } return usr_dir; diff --git a/100_core/src_120_basicDataType/gplx/KeyValHash.java b/100_core/src_120_basicDataType/gplx/KeyValHash.java index 8ae05c87a..a5bada85b 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValHash.java +++ b/100_core/src_120_basicDataType/gplx/KeyValHash.java @@ -45,7 +45,7 @@ public class KeyValHash { } 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 Exc_.new_("array length must be divisible by 2", "aryLen", aryLen, "ary", String_.Concat_lines_crlf(ary)); + int aryLen = Array_.Len(ary); if (aryLen % 2 != 0) throw Err_.new_wo_type("array length must be divisible by 2", "aryLen", aryLen, "ary", String_.Concat_lines_crlf(ary)); KeyValHash rv = new KeyValHash(); String key = null; for (int i = 0; i < aryLen; i++) { diff --git a/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java b/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java index 8155f8e65..37e37fa52 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java +++ b/100_core/src_120_basicDataType/gplx/KeyValHash_tst.java @@ -28,7 +28,7 @@ public class KeyValHash_tst { tst_AryVals(ary_("key1"), kv_("key1", "1")); Tfds.Fail_expdError(); } - catch (Exception e) {Exc_.Noop(e);} + catch (Exception e) {Err_.Noop(e);} } void tst_AryVals(String[] ary, KeyVal... expd) {Tfds.Eq_ary_str(expd, KeyValHash.strAry_(ary).Xto_bry());} KeyVal kv_(String key, Object val) {return KeyVal_.new_(key, val);} diff --git a/100_core/src_120_basicDataType/gplx/KeyVal_.java b/100_core/src_120_basicDataType/gplx/KeyVal_.java index 5d78fbdd5..43318582d 100644 --- a/100_core/src_120_basicDataType/gplx/KeyVal_.java +++ b/100_core/src_120_basicDataType/gplx/KeyVal_.java @@ -22,7 +22,7 @@ public class KeyVal_ { public static KeyVal[] Ary(KeyVal... ary) {return ary;} public static KeyVal[] Ary_cast_(Object o) { try {return (KeyVal[])o;} - catch (Exception e) {throw Exc_.new_cast(e, KeyVal.class, o);} + catch (Exception e) {throw Err_.new_cast(e, KeyVal.class, o);} } public static KeyVal[] Ary_insert(KeyVal[] orig, boolean insert_at_end, KeyVal... vals) { int orig_len = orig.length, vals_len = vals.length; diff --git a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java index 394eb434b..0d9eb9889 100644 --- a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java +++ b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java @@ -157,6 +157,6 @@ public class TimeSpanAdp_ { @gplx.Internal protected static final int Idx_Hour = 3; static int[] ZeroPadding = {3, 2, 2, 2,}; static String[] Sprs = {".", MajorDelimiter, MajorDelimiter, "",}; - public static TimeSpanAdp cast_(Object arg) {try {return (TimeSpanAdp)arg;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, TimeSpanAdp.class, arg);}} + public static TimeSpanAdp cast_(Object arg) {try {return (TimeSpanAdp)arg;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, TimeSpanAdp.class, arg);}} public static final double Ratio_f_to_s = 1000; } diff --git a/100_core/src_120_basicDataType/gplx/Yn.java b/100_core/src_120_basicDataType/gplx/Yn.java index adeaea94c..0d22d989b 100644 --- a/100_core/src_120_basicDataType/gplx/Yn.java +++ b/100_core/src_120_basicDataType/gplx/Yn.java @@ -36,12 +36,12 @@ public class Yn { case Bool_.N_int: return false; case Bool_.Y_int: return true; case Bool_.__int: return or; - default: throw Exc_.new_unhandled(v_int); + default: throw Err_.new_unhandled(v_int); } } public static boolean parse_(String v) { int v_int = parse_as_int(v); - if (v_int == Bool_.__int) Exc_.new_unhandled(v); + if (v_int == Bool_.__int) Err_.new_unhandled(v); return v_int == Bool_.Y_int; } public static String Xto_str(boolean v) {return v ? "y" : "n";} @@ -50,7 +50,7 @@ public class Yn { case Bool_.Y_byte: return "y"; case Bool_.N_byte: return "n"; case Bool_.__byte: return "?"; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } public static byte Xto_nullable_byte(String v) { @@ -62,7 +62,7 @@ public class Yn { case '?': return Bool_.__byte; } } - throw Exc_.new_unhandled(v); + throw Err_.new_unhandled(v); } public static boolean store_bool_or(SrlMgr mgr, String key, boolean or) { String v = mgr.SrlStrOr(key, ""); diff --git a/100_core/src_140_list/gplx/Hash_adp_.java b/100_core/src_140_list/gplx/Hash_adp_.java index bc70b0ff5..c23280392 100644 --- a/100_core/src_140_list/gplx/Hash_adp_.java +++ b/100_core/src_140_list/gplx/Hash_adp_.java @@ -26,8 +26,8 @@ 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 Exc_.new_missing_key(Object_.Xto_str_strict_or_null_mark(key));} - public Object Get_by_or_new(Object key, NewAble proto) {throw Exc_.new_("could not add to null hash");} + public Object Get_by_or_fail(Object key) {throw Err_.new_missing_key(Object_.Xto_str_strict_or_null_mark(key));} + public Object Get_by_or_new(Object key, NewAble proto) {throw Err_.new_wo_type("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) {} 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 7a82da9c2..a654bdf48 100644 --- a/100_core/src_140_list/gplx/Hash_adp_bry.java +++ b/100_core/src_140_list/gplx/Hash_adp_bry.java @@ -177,7 +177,7 @@ class Hash_adp_bry_itm_ci_utf8 extends Hash_adp_bry_itm_base { case Gfo_case_mgr_.Tid_ascii: if (Itm_ascii == null) Itm_ascii = new Hash_adp_bry_itm_ci_utf8(case_mgr); return Itm_ascii; case Gfo_case_mgr_.Tid_utf8: if (Itm_utf8 == null) Itm_utf8 = new Hash_adp_bry_itm_ci_utf8(case_mgr); return Itm_utf8; case Gfo_case_mgr_.Tid_custom: return new Hash_adp_bry_itm_ci_utf8(case_mgr); - default: throw Exc_.new_unhandled(case_mgr.Tid()); + default: throw Err_.new_unhandled(case_mgr.Tid()); } } private static Hash_adp_bry_itm_ci_utf8 Itm_ascii, Itm_utf8; diff --git a/100_core/src_140_list/gplx/List_adp_base.java b/100_core/src_140_list/gplx/List_adp_base.java index 14ecd5b53..2d8a4cec8 100644 --- a/100_core/src_140_list/gplx/List_adp_base.java +++ b/100_core/src_140_list/gplx/List_adp_base.java @@ -41,7 +41,7 @@ public abstract class List_adp_base implements List_adp, GfoInvkAble { public void Add_many(Object... ary) {for (Object o : ary) Add_base(o);} public int Count() {return count;} public int Idx_last() {return count - 1;} - protected Object Get_at_base(int index) {if (index >= count || index < 0) throw Exc_.new_missing_idx(index, count); + protected Object Get_at_base(int index) {if (index >= count || index < 0) throw Err_.new_missing_idx(index, count); return list[index]; } protected void Add_base(Object o) { @@ -80,11 +80,11 @@ public abstract class List_adp_base implements List_adp, GfoInvkAble { list[i] = null; count = 0; } - @gplx.Virtual public void Del_at(int index) {if (index >= count || index < 0) throw Exc_.new_missing_idx(index, count); + @gplx.Virtual public void Del_at(int index) {if (index >= count || index < 0) throw Err_.new_missing_idx(index, count); Collapse(index); count--; } - public void Move_to(int src, int trg) {if (src >= count || src < 0) throw Exc_.new_missing_idx(src, count); if (trg >= count || trg < 0) throw Exc_.new_missing_idx(trg, count); + public void Move_to(int src, int trg) {if (src >= count || src < 0) throw Err_.new_missing_idx(src, count); if (trg >= count || trg < 0) throw Err_.new_missing_idx(trg, count); if (src == trg) return; // position not changed Object o = list[src]; int dif = trg > src ? 1 : -1; @@ -124,7 +124,7 @@ public abstract class List_adp_base implements List_adp, GfoInvkAble { } 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 Exc_.new_invalid_op("cannot call Get_at_last on empty list"); return Get_at_base(count - 1);} + public Object Get_at_last() {if (count == 0) throw Err_.new_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 Add_at(int i, Object o) {AddAt_base(i, o);} public void Del(Object item) {Del_base(item);} @@ -140,7 +140,7 @@ public abstract class List_adp_base implements List_adp, GfoInvkAble { && end >= 0 && end < len && bgn <= end ) return; - throw Exc_.new_("bounds check failed", "bgn", bgn, "end", end, "len", len); + throw Err_.new_wo_type("bounds check failed", "bgn", bgn, "end", end, "len", len); } void Resize_expand() {Resize_expand(count * 2);} void Resize_expand(int newCount) { diff --git a/100_core/src_140_list/gplx/List_adp_tst.java b/100_core/src_140_list/gplx/List_adp_tst.java index 8bf2aba9f..a86bfcc3a 100644 --- a/100_core/src_140_list/gplx/List_adp_tst.java +++ b/100_core/src_140_list/gplx/List_adp_tst.java @@ -52,7 +52,7 @@ public class List_adp_tst { } @Test public void FetchAt_fail() { try {list.Get_at(0);} - catch (Exception exc) {Exc_.Noop(exc); return;} + catch (Exception exc) {Err_.Noop(exc); return;} Tfds.Fail("Get_at should fail for out of bound index"); } @Test public void Del_at() { @@ -72,7 +72,7 @@ public class List_adp_tst { } @Test public void DelAt_fail() { try {list.Del_at(0);} - catch (Exception exc) {Exc_.Noop(exc); return;} + catch (Exception exc) {Err_.Noop(exc); return;} Tfds.Fail("Del_at should fail for out of bound index"); } @Test public void Del() { diff --git a/100_core/src_140_list/gplx/Ordered_hash_base.java b/100_core/src_140_list/gplx/Ordered_hash_base.java index ad6e03fce..d35ea27c5 100644 --- a/100_core/src_140_list/gplx/Ordered_hash_base.java +++ b/100_core/src_140_list/gplx/Ordered_hash_base.java @@ -54,11 +54,11 @@ public class Ordered_hash_base extends Hash_adp_base implements Ordered_hash, Gf AssertCounts(); } void AssertCounts() { - if (super.Count() != ordered.Count()) throw Exc_.new_("counts do not match", "hash", super.Count(), "list", ordered.Count()); + if (super.Count() != ordered.Count()) throw Err_.new_wo_type("counts do not match", "hash", super.Count(), "list", ordered.Count()); } 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 Exc_.new_("collection is locked");} + void Lock_fail() {throw Err_.new_wo_type("collection is locked");} static final String GRP_KEY = "gplx.lists.ordered_hash"; 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);} diff --git a/100_core/src_140_list/gplx/lists/Hash_adp_base.java b/100_core/src_140_list/gplx/lists/Hash_adp_base.java index 26e2b82bc..74054878f 100644 --- a/100_core/src_140_list/gplx/lists/Hash_adp_base.java +++ b/100_core/src_140_list/gplx/lists/Hash_adp_base.java @@ -41,8 +41,8 @@ public abstract class Hash_adp_base implements Hash_adp { } @gplx.Virtual public void Del(Object key) {Del_base(key);} protected Object FetchOrFail_base(Object key) { - if (key == null) throw Exc_.new_("key cannot be null"); - if (!Has_base(key)) throw Exc_.new_("key not found", "key", key); + if (key == null) throw Err_.new_wo_type("key cannot be null"); + if (!Has_base(key)) throw Err_.new_wo_type("key not found", "key", key); return Fetch_base(key); } diff --git a/100_core/src_150_text/gplx/intl/Utf16_.java b/100_core/src_150_text/gplx/intl/Utf16_.java index 0d8c947df..ac599de40 100644 --- a/100_core/src_150_text/gplx/intl/Utf16_.java +++ b/100_core/src_150_text/gplx/intl/Utf16_.java @@ -48,7 +48,7 @@ public class Utf16_ { | ( ary[pos + 3] & 0x3f) ; } - else throw Exc_.new_("invalid utf8 byte", "byte", b0); + else throw Err_.new_wo_type("invalid utf8 byte", "byte", b0); } 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) { @@ -75,7 +75,7 @@ public class Utf16_ { } else if((c > 55295) // 0xD800 && (c < 56320)) { // 0xDFFF - if (c_pos >= c_ary.length) throw Exc_.new_("incomplete surrogate pair at end of String", "char", c); + if (c_pos >= c_ary.length) throw Err_.new_wo_type("incomplete surrogate pair at end of String", "char", c); char nxt_char = c_ary[c_pos + 1]; int v = Surrogate_merge(c, nxt_char); b_ary[b_pos] = (byte)(0xF0 | (v >> 18)); @@ -115,7 +115,7 @@ public class Utf16_ { src[++pos] = (byte)(0x80 | (c & 0x3F)); return 4; } - else throw Exc_.new_("UTF-16 int must be between 0 and 2097152", "char", c); + else throw Err_.new_wo_type("UTF-16 int must be between 0 and 2097152", "char", c); } private static int Len_by_int(int c) { if ((c > -1) @@ -123,7 +123,7 @@ public class Utf16_ { else if (c < 2048) return 2; // 1 << 11 else if (c < 65536) return 3; // 1 << 16 else if (c < 2097152) return 4; - else throw Exc_.new_("UTF-16 int must be between 0 and 2097152", "char", c); + else throw Err_.new_wo_type("UTF-16 int must be between 0 and 2097152", "char", c); } public static int Len_by_char(int c) { if ((c > -1) @@ -132,6 +132,6 @@ public class Utf16_ { else if((c > 55295) // 0xD800 && (c < 56320)) return 4; // 0xDFFF else if (c < 65536) return 3; // 1 << 16 - else throw Exc_.new_("UTF-16 int must be between 0 and 65536", "char", c); + else throw Err_.new_wo_type("UTF-16 int must be between 0 and 65536", "char", c); } } diff --git a/100_core/src_150_text/gplx/intl/Utf8_.java b/100_core/src_150_text/gplx/intl/Utf8_.java index 94a0035fb..cf948351b 100644 --- a/100_core/src_150_text/gplx/intl/Utf8_.java +++ b/100_core/src_150_text/gplx/intl/Utf8_.java @@ -51,7 +51,7 @@ public class Utf8_ { return 3; case 240: case 241: case 242: case 243: case 244: case 245: case 246: case 247: return 4; - default: throw Exc_.new_("invalid initial utf8 byte", "byte", b); + default: throw Err_.new_wo_type("invalid initial utf8 byte", "byte", b); } } public static byte[] Get_char_at_pos_as_bry(byte[] bry, int pos) { diff --git a/100_core/src_150_text/gplx/texts/CharStream.java b/100_core/src_150_text/gplx/texts/CharStream.java index a047db19d..51470b652 100644 --- a/100_core/src_150_text/gplx/texts/CharStream.java +++ b/100_core/src_150_text/gplx/texts/CharStream.java @@ -23,7 +23,7 @@ public class CharStream { public boolean AtBgn() {return pos <= BgnPos;} public boolean AtEnd() {return pos >= len;} public boolean AtMid() {return pos > BgnPos && pos < len;} - public char Cur() {try {return ary[pos];} catch (Exception exc) {Exc_.Noop(exc); throw Exc_.new_missing_idx(pos, this.Len());}} + public char Cur() {try {return ary[pos];} catch (Exception exc) {Err_.Noop(exc); throw Err_.new_missing_idx(pos, this.Len());}} public void MoveNext() {pos++;} public void MoveNextBy(int offset) {pos += offset;} public void MoveBack() {pos--;} diff --git a/100_core/src_150_text/gplx/texts/HexDecUtl.java b/100_core/src_150_text/gplx/texts/HexDecUtl.java index 67de8daee..e4b0a858a 100644 --- a/100_core/src_150_text/gplx/texts/HexDecUtl.java +++ b/100_core/src_150_text/gplx/texts/HexDecUtl.java @@ -46,7 +46,7 @@ public class HexDecUtl { return rv; } public static int parse_(String raw) { - int rv = parse_or_(raw, -1); if (rv == -1) throw Exc_.new_parse("HexDec", "raw"); + int rv = parse_or_(raw, -1); if (rv == -1) throw Err_.new_parse("HexDec", "raw"); return rv; } public static String XtoStr(int val, int pad) { @@ -74,7 +74,7 @@ public class HexDecUtl { case 0: return '0'; case 1: return '1'; case 2: return '2'; case 3: return '3'; case 4: return '4'; case 5: return '5'; case 6: return '6'; case 7: return '7'; case 8: return '8'; case 9: return '9'; case 10: return 'A'; case 11: return 'B'; case 12: return 'C'; case 13: return 'D'; case 14: return 'E'; case 15: return 'F'; - default: throw Exc_.new_parse("hexstring", Int_.Xto_str(val)); + default: throw Err_.new_parse("hexstring", Int_.Xto_str(val)); } } static byte Xto_byte(int v) { @@ -82,7 +82,7 @@ public class HexDecUtl { case 0: return Byte_ascii.Num_0; case 1: return Byte_ascii.Num_1; case 2: return Byte_ascii.Num_2; case 3: return Byte_ascii.Num_3; case 4: return Byte_ascii.Num_4; case 5: return Byte_ascii.Num_5; case 6: return Byte_ascii.Num_6; case 7: return Byte_ascii.Num_7; case 8: return Byte_ascii.Num_8; case 9: return Byte_ascii.Num_9; case 10: return Byte_ascii.Ltr_A; case 11: return Byte_ascii.Ltr_B; case 12: return Byte_ascii.Ltr_C; case 13: return Byte_ascii.Ltr_D; case 14: return Byte_ascii.Ltr_E; case 15: return Byte_ascii.Ltr_F; - default: throw Exc_.new_parse("hexstring", Int_.Xto_str(v)); + default: throw Err_.new_parse("hexstring", Int_.Xto_str(v)); } } public static void Write(byte[] bry, int bgn, int end, int val) { diff --git a/100_core/src_150_text/gplx/texts/RegxPatn_cls_ioMatch_.java b/100_core/src_150_text/gplx/texts/RegxPatn_cls_ioMatch_.java index ee5f5cfc2..5bbbb6428 100644 --- a/100_core/src_150_text/gplx/texts/RegxPatn_cls_ioMatch_.java +++ b/100_core/src_150_text/gplx/texts/RegxPatn_cls_ioMatch_.java @@ -23,7 +23,7 @@ public class RegxPatn_cls_ioMatch_ { public static final RegxPatn_cls_ioMatch All = RegxPatn_cls_ioMatch_.parse_(Wildcard, false); public static final String ImpossiblePath = "<>"; //"<>" should be an impossible url; NOTE: do not pick * or | or : or \ public static final RegxPatn_cls_ioMatch None = RegxPatn_cls_ioMatch_.parse_(RegxPatn_cls_ioMatch_.ImpossiblePath, false); - public static RegxPatn_cls_ioMatch cast_(Object obj) {try {return (RegxPatn_cls_ioMatch)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, RegxPatn_cls_ioMatch.class, obj);}} + public static RegxPatn_cls_ioMatch cast_(Object obj) {try {return (RegxPatn_cls_ioMatch)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, RegxPatn_cls_ioMatch.class, obj);}} public static RegxPatn_cls_ioMatch parse_(String raw, boolean caseSensitive) { String compiled = RegxPatn_cls_ioMatch_.Compile(raw); return new RegxPatn_cls_ioMatch(raw, compiled, caseSensitive); diff --git a/100_core/src_150_text/gplx/texts/RegxPatn_cls_like_.java b/100_core/src_150_text/gplx/texts/RegxPatn_cls_like_.java index aae4c90b5..e0a23f7fb 100644 --- a/100_core/src_150_text/gplx/texts/RegxPatn_cls_like_.java +++ b/100_core/src_150_text/gplx/texts/RegxPatn_cls_like_.java @@ -33,7 +33,7 @@ public class RegxPatn_cls_like_ { if (c == escape) { // escape: ignore cur, append next i++; if (i < rawLen) sb.Add(String_.CharAt(raw, i)); - else throw Exc_.new_("escape cannot be last char", "raw", raw, "escape", escape, "i", i); + else throw Err_.new_wo_type("escape cannot be last char", "raw", raw, "escape", escape, "i", i); } else if (c == Wildcard) { // % -> .* sb.Add(RegxBldr.Tkn_AnyChar).Add(RegxBldr.Tkn_Wild_0Plus); diff --git a/100_core/src_150_text/gplx/texts/StringTableBldr.java b/100_core/src_150_text/gplx/texts/StringTableBldr.java index 39f467685..76b46af3a 100644 --- a/100_core/src_150_text/gplx/texts/StringTableBldr.java +++ b/100_core/src_150_text/gplx/texts/StringTableBldr.java @@ -42,7 +42,7 @@ public class StringTableBldr { 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.Get_at(colI)); if (col == null) throw Exc_.new_missing_idx(colI, cols.Count()); + StringTableCol col = StringTableCol.as_(cols.Get_at(colI)); if (col == null) throw Err_.new_missing_idx(colI, cols.Count()); sb.Add(col.PadCell(row[colI])); } sb.Add(String_.CrLf); diff --git a/100_core/src_150_text/gplx/texts/StringTableCol.java b/100_core/src_150_text/gplx/texts/StringTableCol.java index b2750efe9..7f2e16a9d 100644 --- a/100_core/src_150_text/gplx/texts/StringTableCol.java +++ b/100_core/src_150_text/gplx/texts/StringTableCol.java @@ -31,9 +31,9 @@ public class StringTableCol { if (val == StringTableColAlign.Left.Val()) return cell + String_.Repeat(" ", diff); else if (val == StringTableColAlign.Right.Val()) return String_.Repeat(" ", diff) + cell; else if (val == StringTableColAlign.Mid.Val()) return String_.Concat(String_.Repeat(" ", diff / 2), cell, String_.Repeat(" ", (diff / 2) + (diff % 2))); - else throw Exc_.new_unhandled(halign.Val()); + else throw Err_.new_unhandled(halign.Val()); } public static StringTableCol new_() {return new StringTableCol();} StringTableCol() {} public static StringTableCol as_(Object obj) {return obj instanceof StringTableCol ? (StringTableCol)obj : null;} - public static StringTableCol cast_(Object obj) {try {return (StringTableCol)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, StringTableCol.class, obj);}} + public static StringTableCol cast_(Object obj) {try {return (StringTableCol)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, StringTableCol.class, obj);}} } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo.java b/100_core/src_160_hash/gplx/security/HashAlgo.java index 1fad940f5..846816c70 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo.java @@ -16,9 +16,10 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.security; import gplx.*; +import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/ public interface HashAlgo { String Key(); - String CalcHash(ConsoleDlg dialog, IoStream stream); + String CalcHash(Console_adp dialog, IoStream stream); byte[] Calc_hash_bry(byte[] v); } diff --git a/100_core/src_160_hash/gplx/security/HashAlgo_.java b/100_core/src_160_hash/gplx/security/HashAlgo_.java index a603177a6..51dc4960d 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_.java @@ -19,6 +19,7 @@ package gplx.security; import gplx.*; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/import gplx.texts.*; /*Base32Converter*/ public class HashAlgo_ { public static final HashAlgo Null = new HashAlgo_null(); @@ -26,12 +27,12 @@ public class HashAlgo_ { public static final HashAlgo Md5 = HashAlgo_md5.new_(); public static final HashAlgo Tth192 = HashAlgo_tth192.new_(); public static HashAlgo as_(Object obj) {return obj instanceof HashAlgo ? (HashAlgo)obj : null;} - public static HashAlgo cast_(Object obj) {if (obj == null) return null; HashAlgo rv = as_(obj); if (rv == null) throw Exc_.new_type_mismatch(HashAlgo.class, obj); return rv;} + public static HashAlgo cast_(Object obj) {if (obj == null) return null; HashAlgo rv = as_(obj); if (rv == null) throw Err_.new_type_mismatch(HashAlgo.class, obj); return rv;} public static HashAlgo fetch_(String key) { if (key == HashAlgo_md5.KEY) return Md5; else if (key == HashAlgo_sha1.KEY) return Sha1; else if (key == HashAlgo_tth192.KEY) return Tth192; - else throw Exc_.new_unhandled(key); + else throw Err_.new_unhandled(key); } public static HashAlgo store_orSelf_(SrlMgr mgr, String key, HashAlgo or) { String algoType = mgr.SrlStrOr(key, or.Key()); @@ -40,26 +41,26 @@ public class HashAlgo_ { } class HashAlgo_null implements HashAlgo { public String Key() {return "HashAlgo_null";} - 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";} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(Console_adp_.Noop, gplx.ios.IoStream_.ary_(v)));} + public String CalcHash(Console_adp 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_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} - public String CalcHash(ConsoleDlg dialog, IoStream stream) {return HashAlgoUtl.CalcHashAsString(dialog, stream, "MD5");} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(Console_adp_.Noop, gplx.ios.IoStream_.ary_(v)));} + public String CalcHash(Console_adp 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_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} - public String CalcHash(ConsoleDlg dialog, IoStream stream) {return HashAlgoUtl.CalcHashAsString(dialog, stream, "SHA1");} + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(Console_adp_.Noop, gplx.ios.IoStream_.ary_(v)));} + public String CalcHash(Console_adp dialog, IoStream stream) {return HashAlgoUtl.CalcHashAsString(dialog, stream, "SHA1");} public static HashAlgo_sha1 new_() {return new HashAlgo_sha1();} HashAlgo_sha1() {} } class HashAlgoUtl { - public static String CalcHashAsString(ConsoleDlg dialog, IoStream stream, String key) { + public static String CalcHashAsString(Console_adp dialog, IoStream stream, String key) { MessageDigest md = null; try {md = MessageDigest.getInstance(key);} - catch (NoSuchAlgorithmException e) {throw Err_arg.notFound_key_("key", key);} + catch (NoSuchAlgorithmException e) {throw Err_.new_missing_key(key);} byte[] buffer = new byte[8192]; int read = 0; long pos = 0, len = stream.Len(); // pos and len must be long, else will not hash files > 2 GB 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 3c5c52386..e226d3576 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 @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.security; import gplx.*; import org.junit.*; -import gplx.ios.*; /*IoStream*/ +import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/ public class HashAlgo_md5_tst { @Test public void Empty() { tst_CalcBase16FromString("", "d41d8cd98f00b204e9800998ecf8427e"); @@ -37,7 +37,7 @@ public class HashAlgo_md5_tst { } void tst_CalcBase16FromString(String raw, String expd) { IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); - String actl = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, stream); + String actl = HashAlgo_.Md5.CalcHash(Console_adp_.Noop, 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 39e8e4d83..2d9547446 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 @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.security; import gplx.*; import org.junit.*; -import gplx.ios.*; /*IoStream*/ +import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/ public class HashAlgo_sha1_tst { @Test public void Empty() { tst_CalcBase16FromString("", "da39a3ee5e6b4b0d3255bfef95601890afd80709"); @@ -37,7 +37,7 @@ public class HashAlgo_sha1_tst { } void tst_CalcBase16FromString(String raw, String expd) { IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); - String actl = HashAlgo_.Sha1.CalcHash(ConsoleDlg_.Null, stream); + String actl = HashAlgo_.Sha1.CalcHash(Console_adp_.Noop, 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 a0a88b415..254f73641 100644 --- a/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java +++ b/100_core/src_160_hash/gplx/security/HashAlgo_tth192.java @@ -16,12 +16,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.security; import gplx.*; +import gplx.core.consoles.*; 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_a7(CalcHash(ConsoleDlg_.Null, gplx.ios.IoStream_.ary_(v)));} - public String CalcHash(ConsoleDlg dialog, IoStream stream) { + public byte[] Calc_hash_bry(byte[] v) {return Bry_.new_a7(CalcHash(Console_adp_.Noop, gplx.ios.IoStream_.ary_(v)));} + public String CalcHash(Console_adp dialog, IoStream stream) { int leafCount = (int)(stream.Len() / blockSize); HashDlgWtr dialogWtr = HashDlgWtr_.Current; dialogWtr.Bgn(dialog, stream.Url(), CalcWorkUnits(stream.Len())); @@ -136,7 +137,7 @@ public class HashAlgo_tth192 implements HashAlgo { } interface HashDlgWtr { boolean Canceled(); - void Bgn(ConsoleDlg dialog, Io_url url, int total); + void Bgn(Console_adp dialog, Io_url url, int total); void Do(int increment); void End(); void Fail(IoStream stream); @@ -148,9 +149,9 @@ class HashDlgWtrDefault implements HashDlgWtr { public int Total() {return total;} int total; public int LastPercentage() {return lastPercentage;} int lastPercentage = 0; public int Current() {return current;} int current = 0; - public boolean Canceled() {return dialog.CanceledChk();} + public boolean Canceled() {return dialog.Canceled_chk();} String p; - public void Bgn(ConsoleDlg dialog, Io_url url, int total) { + public void Bgn(Console_adp dialog, Io_url url, int total) { this.dialog = dialog; this.total = total; p = url.Xto_api() + " - hash: "; this.lastPercentage = 0; this.current = 0; @@ -159,14 +160,14 @@ class HashDlgWtrDefault implements HashDlgWtr { current += increment; int percentage = (current * 100) / total; if (percentage <= lastPercentage) return; - dialog.WriteTempText(String_.LimitToFirst(p, dialog.CharsPerLineMax()) + Int_.Xto_str(percentage) + "%"); + dialog.Write_tmp(String_.LimitToFirst(p, dialog.Chars_per_line_max()) + Int_.Xto_str(percentage) + "%"); lastPercentage = percentage; } public void End() {} public void Fail(IoStream stream) { // stream.Dispose(); } - ConsoleDlg dialog; + Console_adp dialog; public static HashDlgWtrDefault new_() {return new HashDlgWtrDefault();} } class Tiger192 extends BaseHash { 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 8faa04d5f..652145907 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 @@ -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.security; import gplx.*; -import org.junit.*; import gplx.ios.*; /*IoStream*/ +import org.junit.*; import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/ public class HashAlgo_tth192_tst { @Test public void Char0000() {tst_CalcBase32FromString("", "LWPNACQDBZRYXW3VHJVCJ64QBZNGHOHHHZWCLNQ");} @Test public void Char0001() {tst_CalcBase32FromString("\0", "VK54ZIEEVTWNAUI5D5RDFIL37LX2IQNSTAXFKSA");} @@ -33,7 +33,7 @@ public class HashAlgo_tth192_tst { } void tst_CalcBase32FromString(String raw, String expd) { IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, raw); - String actl = HashAlgo_.Tth192.CalcHash(ConsoleDlg_.Null, stream); + String actl = HashAlgo_.Tth192.CalcHash(Console_adp_.Noop, 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 bd163ccce..74db949a8 100644 --- a/100_core/src_160_hash/gplx/security/HashDlgWtr_tst.java +++ b/100_core/src_160_hash/gplx/security/HashDlgWtr_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.security; import gplx.*; -import org.junit.*; import gplx.ios.*; /*IoStream*/ +import org.junit.*; import gplx.core.consoles.*; import gplx.ios.*; /*IoStream*/ public class HashDlgWtr_tst { @Before public void setup() { HashAlgo_tth192 algo = HashAlgo_tth192.new_(); @@ -29,7 +29,7 @@ public class HashDlgWtr_tst { tst_Status(30, stringAry_(" - hash: 40%", " - hash: 60%", " - hash: 100%")); } void tst_Status(int count, String[] expdWritten) { - ConsoleDlg_dev dialog = ConsoleDlg_.Dev(); + Console_adp__mem dialog = Console_adp_.Dev(); String data = String_.Repeat("A", count); IoStream stream = IoStream_.mem_txt_(Io_url_.Empty, data); calc.CalcHash(dialog, stream); diff --git a/100_core/src_200_io/gplx/Io_mgr.java b/100_core/src_200_io/gplx/Io_mgr.java index 4482885aa..2d30c555d 100644 --- a/100_core/src_200_io/gplx/Io_mgr.java +++ b/100_core/src_200_io/gplx/Io_mgr.java @@ -20,7 +20,7 @@ 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._.Get_by(url.Info().EngineKey()).ExistsFil_api(url);} - public void ExistsFilOrFail(Io_url url) {if (!ExistsFil(url)) throw Exc_.new_("could not find file", "url", url);} + public void ExistsFilOrFail(Io_url url) {if (!ExistsFil(url)) throw Err_.new_wo_type("could not find file", "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();} public IoEngine_xrg_saveFilStr SaveFilStr_args(Io_url url, String text) {return IoEngine_xrg_saveFilStr.new_(url, text);} @@ -96,7 +96,7 @@ public class Io_mgr { // exists primarily to gather all cmds under gplx namespac stream.ReadAry(ary); return ary; } - catch (Exception e) {throw Exc_.new_("failed to load file", "url", url.Xto_api(), "e", Err_.Message_lang(e));} + catch (Exception e) {throw Err_.new_wo_type("failed to load file", "url", url.Xto_api(), "e", Err_.Message_lang(e));} finally {stream.Rls();} } public byte[] LoadFilBry_loose(Io_url url) {return Bry_.new_u8(LoadFilStr_loose(url));} diff --git a/100_core/src_200_io/gplx/ios/IoEngine.java b/100_core/src_200_io/gplx/ios/IoEngine.java index 4bb0a4001..84d9dc586 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine.java +++ b/100_core/src_200_io/gplx/ios/IoEngine.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.ios; import gplx.*; -import gplx.core.criterias.*; +import gplx.core.consoles.*; import gplx.core.criterias.*; public interface IoEngine { String Key(); boolean ExistsFil_api(Io_url url); @@ -57,7 +57,7 @@ class IoEngineUtl { engine.MoveDirDeep(IoEngine_xrg_xferDir.move_(xrg.Url(), recycleUrl).Overwrite_(false).ReadOnlyFails_(true)); } public void DeleteDirDeep(IoEngine engine, Io_url dirUrl, IoEngine_xrg_deleteDir args) { - ConsoleDlg usrDlg = args.UsrDlg(); + Console_adp usrDlg = args.UsrDlg(); IoItmDir dir = engine.QueryDir(dirUrl); if (!dir.Exists()) return; for (Object subDirObj : dir.SubDirs()) { IoItmDir subDir = (IoItmDir)subDirObj; @@ -69,12 +69,12 @@ class IoEngineUtl { if (!args.MatchCrt().Matches(subFil)) continue; Io_url subFilUrl = subFil.Url(); try {engine.DeleteFil_api(IoEngine_xrg_deleteFil.new_(subFilUrl).ReadOnlyFails_(args.ReadOnlyFails()));} - catch (Exception exc) {usrDlg.WriteLineFormat(Err_.Message_lang(exc));} + catch (Exception exc) {usrDlg.Write_fmt_w_nl(Err_.Message_lang(exc));} } // all subs deleted; now delete dir if (!args.MatchCrt().Matches(dir)) return; try {engine.DeleteDir(dir.Url());} - catch (Exception exc) {usrDlg.WriteLineFormat(Err_.Message_lang(exc));} + catch (Exception exc) {usrDlg.Write_fmt_w_nl(Err_.Message_lang(exc));} } public void XferDir(IoEngine srcEngine, Io_url src, IoEngine trgEngine, Io_url trg, IoEngine_xrg_xferDir args) { trgEngine.CreateDir(trg); @@ -118,9 +118,9 @@ class IoEngineUtl { rv.Exists_set(QueryDirDeepCore(rv, args.Url(), engine, args.Recur(), args.SubDirScanCrt(), args.DirCrt(), args.FilCrt(), args.UsrDlg(), args.DirInclude())); return rv; } - static boolean QueryDirDeepCore(IoItmDir ownerDir, Io_url url, IoEngine engine, boolean recur, Criteria subDirScanCrt, Criteria dirCrt, Criteria filCrt, ConsoleDlg usrDlg, boolean dirInclude) { - if (usrDlg.CanceledChk()) return false; - if (usrDlg.Enabled()) usrDlg.WriteTempText(String_.Concat("scan: ", url.Raw())); + static boolean QueryDirDeepCore(IoItmDir ownerDir, Io_url url, IoEngine engine, boolean recur, Criteria subDirScanCrt, Criteria dirCrt, Criteria filCrt, Console_adp usrDlg, boolean dirInclude) { + if (usrDlg.Canceled_chk()) return false; + if (usrDlg.Enabled()) usrDlg.Write_tmp(String_.Concat("scan: ", url.Raw())); IoItmDir scanDir = engine.QueryDir(url); for (Object subDirObj : scanDir.SubDirs()) { IoItmDir subDir = (IoItmDir)subDirObj; 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 cd27b4ba4..a7779c44d 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_memory.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_memory.java @@ -30,7 +30,7 @@ public class IoEngine_memory extends IoEngine_base { @Override public void XferFil(IoEngine_xrg_xferFil args) {utl.XferFil(this, args);} @Override public void MoveFil(IoEngine_xrg_xferFil args) { Io_url src = args.Src(), trg = args.Trg(); boolean overwrite = args.Overwrite(); - if (String_.Eq(src.Xto_api(), trg.Xto_api())) throw Exc_.new_("move failed; src is same as trg", "raw", src.Raw()); + if (String_.Eq(src.Xto_api(), trg.Xto_api())) throw Err_.new_wo_type("move failed; src is same as trg", "raw", src.Raw()); CheckTransferArgs("move", src, trg, overwrite); if (overwrite) DeleteFil(trg); IoItmFil_mem curFil = FetchFil(src); curFil.Name_(trg.NameAndExt()); @@ -120,7 +120,7 @@ public class IoEngine_memory extends IoEngine_base { } @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 Exc_.new_("trg already exists", "trg", trg); + @Override public void MoveDir(Io_url src, Io_url trg) {if (ExistsDir(trg)) throw Err_.new_wo_type("trg already exists", "trg", trg); IoItmDir dir = FetchDir(src); dir.Name_(trg.NameAndExt()); for (Object filObj : dir.SubFils()) { // move all subFiles IoItmFil fil = (IoItmFil)filObj; @@ -168,8 +168,8 @@ public class IoEngine_memory extends IoEngine_base { return rv; } void CheckTransferArgs(String op, Io_url src, Io_url trg, boolean overwrite) { - if (!ExistsFil_api(src)) throw Exc_.new_("src does not exist", "src", src); - if (ExistsFil_api(trg) && !overwrite) throw Exc_.new_invalid_op("trg already exists").Args_add("op", op, "overwrite", false, "src", src, "trg", trg); + if (!ExistsFil_api(src)) throw Err_.new_wo_type("src does not exist", "src", src); + if (ExistsFil_api(trg) && !overwrite) throw Err_.new_invalid_op("trg already exists").Args_add("op", op, "overwrite", false, "src", src, "trg", trg); } public void Clear() {dirs.Clear();} @Override public boolean DownloadFil(IoEngine_xrg_downloadFil xrg) { 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 813e41a0e..965d7a474 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_system.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_system.java @@ -67,7 +67,7 @@ public class IoEngine_system extends IoEngine_base { catch (IOException e) { Closeable_close(fc, url, false); Closeable_close(fos, url, false); - throw Exc_.new_exc(e, "io", "write data to file failed", "url", url.Xto_api()); + throw Err_.new_exc(e, "io", "write data to file failed", "url", url.Xto_api()); } if (!Op_sys.Cur().Tid_is_drd()) { File fil = new File(url.Xto_api()); @@ -118,7 +118,7 @@ public class IoEngine_system extends IoEngine_base { reader.close(); } catch (IOException e2) {} - throw Exc_.new_exc(e, "io", "read data from file failed", "url", url_str, "pos", pos); + throw Err_.new_exc(e, "io", "read data from file failed", "url", url_str, "pos", pos); } if (pos == -1) break; sw.write(readerBuffer, 0, pos); @@ -135,7 +135,7 @@ public class IoEngine_system extends IoEngine_base { File dir = new File(url.Xto_api()); if (!dir.exists()) return; boolean rv = dir.delete(); - if (!rv) throw Exc_.new_w_type(IoEngineArgs._.Err_IoException, "delete dir failed", "url", url.Xto_api()); + if (!rv) throw Err_.new_(IoEngineArgs._.Err_IoException, "delete dir failed", "url", url.Xto_api()); } @Override public IoItmDir QueryDir(Io_url url) { IoItmDir rv = IoItmDir_.scan_(url); @@ -185,7 +185,7 @@ public class IoEngine_system extends IoEngine_base { if (!Op_sys.Cur().Tid_is_drd()) IoEngine_system_xtn.SetWritable(f, true); } - if (!rv) throw Exc_.new_w_type(IoEngineArgs._.Err_IoException, "set file attribute failed", "attribute", "readOnly", "cur", Fil_ReadOnly(f), "new", atr.ReadOnly(), "url", url.Xto_api()); + if (!rv) throw Err_.new_(IoEngineArgs._.Err_IoException, "set file attribute failed", "attribute", "readOnly", "cur", Fil_ReadOnly(f), "new", atr.ReadOnly(), "url", url.Xto_api()); } if (atr.Hidden() != f.isHidden()) { //Runtime.getRuntime().exec("attrib +H myHiddenFile.java"); @@ -208,7 +208,7 @@ public class IoEngine_system extends IoEngine_base { finally { UpdateFilAttrib(url, IoItmAttrib.readOnly_()); } - if (!success) throw Exc_.new_("could not update file modified time", "url", url.Xto_api(), "modifiedTime", modified.XtoStr_gplx_long()); + if (!success) throw Err_.new_wo_type("could not update file modified time", "url", url.Xto_api(), "modifiedTime", modified.XtoStr_gplx_long()); } } } @@ -242,7 +242,7 @@ public class IoEngine_system extends IoEngine_base { rv = false; } if (!rv) - throw Exc_.new_("create file failed", "trg", trgUrl.Xto_api()); + throw Err_.new_wo_type("create file failed", "trg", trgUrl.Xto_api()); } FileInputStream srcStream = null; FileOutputStream trgStream = null; FileChannel srcChannel = null, trgChannel = null; @@ -264,7 +264,7 @@ public class IoEngine_system extends IoEngine_base { // transfer data long pos = 0, count = 0, read = 0; try {count = srcChannel.size();} - catch (IOException e) {throw Exc_.new_exc(e, "io", "size failed", "src", srcUrl.Xto_api());} + catch (IOException e) {throw Err_.new_exc(e, "io", "size failed", "src", srcUrl.Xto_api());} int totalBufferSize = IoEngineArgs._.LoadFilStr_BufferSize; long transferSize = (count > totalBufferSize) ? totalBufferSize : count; // transfer as much as fileSize, but limit to LoadFilStr_BufferSize while (pos < count) { @@ -274,7 +274,7 @@ public class IoEngine_system extends IoEngine_base { Closeable_close(trgChannel, trgUrl, false); Closeable_close(srcStream, srcUrl, false); Closeable_close(trgStream, srcUrl, false); - throw Exc_.new_exc(e, "io", "transfer data failed", "src", srcUrl.Xto_api(), "trg", trgUrl.Xto_api()); + throw Err_.new_exc(e, "io", "transfer data failed", "src", srcUrl.Xto_api(), "trg", trgUrl.Xto_api()); } if (read == -1) break; pos += read; @@ -341,12 +341,12 @@ public class IoEngine_system extends IoEngine_base { } void Chk_TrgFil_Overwrite(boolean overwrite, Io_url trg) { if (!overwrite) - throw Exc_.new_invalid_op("trgFile exists but overwriteFlag not set").Args_add("trg", trg.Xto_api()); + throw Err_.new_invalid_op("trgFile exists but overwriteFlag not set").Args_add("trg", trg.Xto_api()); } @Override public void MoveDir(Io_url src, Io_url trg) { String srcStr = src.Xto_api(), trgStr = trg.Xto_api(); File srcFil = new File(srcStr), trgFil = new File(trgStr); - if (trgFil.exists()) {throw Exc_.new_invalid_op("cannot move dir if trg exists").Args_add("src", src, "trg", trg);} + if (trgFil.exists()) {throw Err_.new_invalid_op("cannot move dir if trg exists").Args_add("src", src, "trg", trg);} if (String_.Eq(src.OwnerRoot().Raw(), trg.OwnerRoot().Raw())) { srcFil.renameTo(trgFil); } @@ -360,7 +360,7 @@ public class IoEngine_system extends IoEngine_base { try {closeable.close();} catch (IOException e) { if (throwErr) - throw Exc_.new_exc(e, "io", "close object failed", "class", ClassAdp_.NameOf_obj(closeable), "url", url_str); + throw Err_.new_exc(e, "io", "close object failed", "class", ClassAdp_.NameOf_obj(closeable), "url", url_str); // else // UsrDlg_._.Finally("failed to close FileChannel", "url", url, "apiErr", Err_.Message_err_arg(e)); } @@ -374,8 +374,8 @@ public class IoEngine_system extends IoEngine_base { if (!Op_sys.Cur().Tid_is_drd()) IoEngine_system_xtn.SetWritable(fil, true); } - private static Exc Err_text_unsupported_encoding(String encodingName, String text, String url_str, Exception e) { - return Exc_.new_exc(e, "io", "text is in unsupported encoding").Args_add("encodingName", encodingName, "text", text, "url", url_str); + private static Err Err_text_unsupported_encoding(String encodingName, String text, String url_str, Exception e) { + return Err_.new_exc(e, "io", "text is in unsupported encoding").Args_add("encodingName", encodingName, "text", text, "url", url_str); } boolean user_agent_needs_resetting = true; @Override public Io_stream_rdr DownloadFil_as_rdr(IoEngine_xrg_downloadFil xrg) { @@ -449,7 +449,7 @@ public class IoEngine_system extends IoEngine_base { trg_stream.Rls(); DeleteFil_api(IoEngine_xrg_deleteFil.new_(xrg.Trg())); } - catch (Exception e2) {Exc_.Noop(e2);} + catch (Exception e2) {Err_.Noop(e2);} } return false; } @@ -460,22 +460,22 @@ public class IoEngine_system extends IoEngine_base { if (src_conn != null) src_conn.disconnect(); src_conn.getInputStream().close(); } catch (Exception exc) { - Exc_.Noop(exc); + Err_.Noop(exc); } if (trg_stream != null) trg_stream.Rls(); } } Io_url session_fil; Bry_bfr prog_fmt_bfr; byte[] download_bfr; static final int Download_bfr_len = Io_mgr.Len_kb * 128; - public static Exc Err_Fil_NotFound(Io_url url) { - return Exc_.new_w_type(IoEngineArgs._.Err_FileNotFound, "file not found", "url", url.Xto_api()).Stack_erase_1_(); + public static Err Err_Fil_NotFound(Io_url url) { + return Err_.new_(IoEngineArgs._.Err_FileNotFound, "file not found", "url", url.Xto_api()).Trace_ignore_add_1_(); } - public static Exc Err_Fil_NotFound(Exception e, Io_url url) { - return Exc_.new_exc(e, "io", "file not found", "url", url.Xto_api()).Stack_erase_1_(); + public static Err Err_Fil_NotFound(Exception e, Io_url url) { + return Err_.new_exc(e, "io", "file not found", "url", url.Xto_api()).Trace_ignore_add_1_(); } void MarkFileWritable(File fil, Io_url url, boolean readOnlyFails, String op) { if (Fil_ReadOnly(fil)) { if (readOnlyFails) // NOTE: java will always allow final files to be deleted; programmer api is responsible for check - throw Exc_.new_w_type(IoEngineArgs._.Err_ReadonlyFileNotWritable, "writable operation attempted on readOnly file", "op", op, "url", url.Xto_api()); + throw Err_.new_(IoEngineArgs._.Err_ReadonlyFileNotWritable, "writable operation attempted on readOnly file", "op", op, "url", url.Xto_api()); else Fil_Writable(fil); } @@ -483,7 +483,7 @@ public class IoEngine_system extends IoEngine_base { void DeleteFil_lang(File fil, Io_url url) { boolean rv = Fil_Delete(fil); if (!rv) - throw Exc_.new_w_type(IoEngineArgs._.Err_IoException, "file not deleted", "url", url.Xto_api()); + throw Err_.new_(IoEngineArgs._.Err_IoException, "file not deleted", "url", url.Xto_api()); } IoEngineUtl utl = IoEngineUtl.new_(); public static IoEngine_system new_() {return new IoEngine_system();} IoEngine_system() {} @@ -610,10 +610,10 @@ class Io_stream_rdr_http implements Io_stream_rdr { } xrg.Prog_running_(false); } - catch (Exception e) {Exc_.Noop(e);} // ignore close errors; also Err_handle calls Rls() so it would be circular + catch (Exception e) {Err_.Noop(e);} // ignore close errors; also Err_handle calls Rls() so it would be circular finally { try {if (src_stream != null) src_stream.close();} - catch (Exception e) {Exc_.Noop(e);} // ignore failures when cleaning up + catch (Exception e) {Err_.Noop(e);} // ignore failures when cleaning up if (src_conn != null) src_conn.disconnect(); src_stream = null; src_conn = null; 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 02ec8b540..4a6545bf6 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 @@ -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.ios; import gplx.*; -import gplx.core.criterias.*; +import gplx.core.consoles.*; import gplx.core.criterias.*; public class IoEngine_xrg_deleteDir { public Io_url Url() {return url;} public IoEngine_xrg_deleteDir Url_(Io_url val) {url = val; return this;} Io_url url; public boolean Recur() {return recur;} public IoEngine_xrg_deleteDir Recur_() {return Recur_(true);} public IoEngine_xrg_deleteDir Recur_(boolean v) {recur = v; return this;} private boolean recur = false; @@ -24,7 +24,7 @@ public class IoEngine_xrg_deleteDir { public boolean MissingIgnored() {return missingIgnored;} public IoEngine_xrg_deleteDir MissingIgnored_() {return MissingIgnored_(true);} public IoEngine_xrg_deleteDir MissingIgnored_(boolean v) {missingIgnored = v; return this;} private boolean missingIgnored = true; 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 Console_adp UsrDlg() {return usrDlg;} public IoEngine_xrg_deleteDir UsrDlg_(Console_adp v) {usrDlg = v; return this;} Console_adp usrDlg = Console_adp_.Noop; 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(); 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 b591e740f..4fe653841 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 @@ -22,7 +22,7 @@ public class IoEngine_xrg_downloadFil { 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;} private Exception rslt_err; public String Rslt_err_str() { - return rslt_err == null ? "none" : Err_.Message_gplx_brief(rslt_err); + return rslt_err == null ? "none" : Err_.Message_gplx_full(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;} private Gfo_usr_dlg prog_dlg; 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 17b740e38..25df1a9da 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 @@ -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.ios; import gplx.*; -import gplx.core.criterias.*; +import gplx.core.consoles.*; import gplx.core.criterias.*; public class IoEngine_xrg_queryDir { public Io_url Url() {return url;} public IoEngine_xrg_queryDir Url_(Io_url val) {url = val; return this;} Io_url url; public boolean Recur() {return recur;} public IoEngine_xrg_queryDir Recur_() {return Recur_(true);} public IoEngine_xrg_queryDir Recur_(boolean val) {recur = val; return this;} private boolean recur = false; @@ -30,7 +30,7 @@ public class IoEngine_xrg_queryDir { return this; } - public ConsoleDlg UsrDlg() {return usrDlg;} public IoEngine_xrg_queryDir UsrDlg_(ConsoleDlg val) {usrDlg = val; return this;} ConsoleDlg usrDlg = ConsoleDlg_.Null; + public Console_adp UsrDlg() {return usrDlg;} public IoEngine_xrg_queryDir UsrDlg_(Console_adp val) {usrDlg = val; return this;} Console_adp usrDlg = Console_adp_.Noop; public IoEngine_xrg_queryDir FilPath_(String val) { Criteria_ioMatch crt = Criteria_ioMatch.parse_(true, val, url.Info().CaseSensitive()); filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, crt); diff --git a/100_core/src_200_io/gplx/ios/IoErr.java b/100_core/src_200_io/gplx/ios/IoErr.java index 5c2940b52..8114f278e 100644 --- a/100_core/src_200_io/gplx/ios/IoErr.java +++ b/100_core/src_200_io/gplx/ios/IoErr.java @@ -20,11 +20,11 @@ public class IoErr { public static String Namespace = "gplx.ios."; public static String FileIsReadOnly_key = Namespace + "FileIsReadOnlyError"; public static String FileNotFound_key = Namespace + "FileNotFoundError"; - public static Exc FileIsReadOnly(Io_url url) { - return Exc_.new_w_type(FileIsReadOnly_key, "file is read-only", "url", url.Xto_api()).Stack_erase_1_(); + public static Err FileIsReadOnly(Io_url url) { + return Err_.new_(FileIsReadOnly_key, "file is read-only", "url", url.Xto_api()).Trace_ignore_add_1_(); } - public static Exc FileNotFound(String op, Io_url url) { + public static Err FileNotFound(String op, Io_url url) { // file is missing -- op='copy' file='C:\a.txt' copyFile_target='D:\a.txt' - return Exc_.new_w_type(FileNotFound_key, "file not found", "op", op, "file", url.Xto_api()).Stack_erase_1_(); + return Err_.new_(FileNotFound_key, "file not found", "op", op, "file", url.Xto_api()).Trace_ignore_add_1_(); } } \ No newline at end of file diff --git a/100_core/src_200_io/gplx/ios/IoItmClassXtn.java b/100_core/src_200_io/gplx/ios/IoItmClassXtn.java index 965daded4..d20f299b8 100644 --- a/100_core/src_200_io/gplx/ios/IoItmClassXtn.java +++ b/100_core/src_200_io/gplx/ios/IoItmClassXtn.java @@ -25,7 +25,7 @@ public class IoItmClassXtn extends ClassXtn_base implements ClassXtn { String rawLower = String_.Lower(raw); if (String_.Eq(rawLower, "dir")) return IoItmDir.Type_Dir; else if (String_.Eq(rawLower, "fil")) return IoItmFil.Type_Fil; - else throw Exc_.new_unhandled(raw); + else throw Err_.new_unhandled(raw); } @Override public Object XtoDb(Object obj) {return Int_.cast_(obj);} public static final IoItmClassXtn _ = new IoItmClassXtn(); IoItmClassXtn() {} 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 e80da21bc..d77cd2659 100644 --- a/100_core/src_200_io/gplx/ios/IoItm_base.java +++ b/100_core/src_200_io/gplx/ios/IoItm_base.java @@ -20,7 +20,7 @@ public abstract class IoItm_base implements GfoInvkAble, CompareAble { public abstract int TypeId(); public abstract boolean Type_dir(); public abstract boolean Type_fil(); public Io_url Url() {return ownerDir == null ? url : ownerDir.Url().GenSubFil(name); /*NOTE: must call .Url*/} Io_url url; public IoItmDir OwnerDir() {return ownerDir;} IoItmDir ownerDir; - public void OwnerDir_set(IoItmDir v) {if (v == this) throw Exc_.new_("dir cannot be its own owner", "url", v.url.Raw()); + public void OwnerDir_set(IoItmDir v) {if (v == this) throw Err_.new_wo_type("dir cannot be its own owner", "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_.Empty; // delete url, since ownerDir will be avail diff --git a/100_core/src_200_io/gplx/ios/IoRecycleBin.java b/100_core/src_200_io/gplx/ios/IoRecycleBin.java index 7a390441b..f5c3aa312 100644 --- a/100_core/src_200_io/gplx/ios/IoRecycleBin.java +++ b/100_core/src_200_io/gplx/ios/IoRecycleBin.java @@ -23,7 +23,7 @@ public class IoRecycleBin { public void Recover(Io_url url) { String_bldr sb = String_bldr_.new_(); List_adp list = Regy_search(url, sb); - int listCount = list.Count(); if (listCount > 1) throw Exc_.new_("found more than 1 url", "count", list.Count()); + int listCount = list.Count(); if (listCount > 1) throw Err_.new_wo_type("found more than 1 url", "count", list.Count()); 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(); diff --git a/100_core/src_200_io/gplx/ios/IoStream_.java b/100_core/src_200_io/gplx/ios/IoStream_.java index 430bc35bd..86e1cb34c 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_.java +++ b/100_core/src_200_io/gplx/ios/IoStream_.java @@ -36,7 +36,7 @@ public class IoStream_ { public static Object input_stream_(Io_url url) { try { return new java.io.FileInputStream(url.Raw()); - } catch (Exception e) {throw Exc_.new_("file not found", "url", url.Raw());} + } catch (Exception e) {throw Err_.new_wo_type("file not found", "url", url.Raw());} } } class IoStream_null implements IoStream { @@ -76,7 +76,7 @@ class IoStream_base implements IoStream { int rv = under.read(array, offset, count); return rv == -1 ? 0 : rv; // NOTE: fis returns -1 if nothing read; .NET returned 0; Hash will fail if -1 returned (will try to create array of 0 length) } // NOTE: fis keeps track of offset, only need to pass in array (20110606: this NOTE no longer seems to make sense; deprecate) - catch (IOException e) {throw Exc_.new_exc(e, "io", "file read failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "file read failed", "url", url);} } public long Seek(long seek_pos) { try { @@ -84,7 +84,7 @@ class IoStream_base implements IoStream { pos = under.getFilePointer(); return pos; } - catch (IOException e) {throw Exc_.new_exc(e, "io", "seek failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "seek failed", "url", url);} } @gplx.Virtual public void Write(byte[] array, int offset, int count) {bfr.Add_mid(array, offset, offset + count); this.Flush();} Bry_bfr bfr = Bry_bfr.reset_(16); public void Write_and_flush(byte[] bry, int bgn, int end) { @@ -103,7 +103,7 @@ class IoStream_base implements IoStream { for (int i = 0; i < buffer_len; i++) buffer[i] = bry[i + buffer_bgn]; try {under.write(buffer, 0, buffer_len);} - catch (IOException e) {throw Exc_.new_exc(e, "io", "write failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "write failed", "url", url);} buffer_bgn = buffer_end; } // this.Rls(); @@ -126,9 +126,9 @@ class IoStream_base implements IoStream { if (mode_is_append) under.seek(under.length()); // else under.seek(0); } - catch (IOException e) {throw Exc_.new_exc(e, "io", "seek failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "seek failed", "url", url);} try {under.write(bfr.Bfr(), 0, bfr.Len());} - catch (IOException e) {throw Exc_.new_exc(e, "io", "write failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "write failed", "url", url);} bfr.Clear(); } @gplx.Virtual public void Rls() { @@ -155,10 +155,10 @@ class IoStream_base implements IoStream { break; } try {rv.under = new RandomAccessFile(file, ctor_mode);} - catch (FileNotFoundException e) {throw Exc_.new_exc(e, "io", "file open failed", "url", url);} + catch (FileNotFoundException e) {throw Err_.new_exc(e, "io", "file open failed", "url", url);} if (mode == IoStream_.Mode_wtr_create) { try {rv.under.setLength(0);} - catch (IOException e) {throw Exc_.new_exc(e, "io", "file truncate failed", "url", url);} + catch (IOException e) {throw Err_.new_exc(e, "io", "file truncate failed", "url", url);} } rv.length = file.length(); 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 5e96910ca..c116fa0a5 100644 --- a/100_core/src_200_io/gplx/ios/IoStream_mem.java +++ b/100_core/src_200_io/gplx/ios/IoStream_mem.java @@ -19,7 +19,7 @@ package gplx.ios; import gplx.*; import gplx.texts.*; /*Encoding_*/ class IoStream_mem extends IoStream_base { @Override public Io_url Url() {return url;} Io_url url; - @Override public Object UnderRdr() {throw Exc_.new_unimplemented();} // NOTE: should not use System.IO.MemoryStream, b/c resized data will not be captured in this instance's buffer + @Override public Object UnderRdr() {throw Err_.new_unimplemented();} // NOTE: should not use System.IO.MemoryStream, b/c resized data will not be captured in this instance's buffer @Override public long Len() {return Array_.Len(buffer);} public int Position() {return position;} public void Position_set(int v) {position = v;} int position; public byte[] Buffer() {return buffer;} private byte[] buffer = new byte[0]; 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 285152f57..7030826d3 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 @@ -21,7 +21,7 @@ public class IoStream_stream_rdr implements IoStream { try { return stream.read(bfr, bfr_bgn, bfr_len); } - catch (Exception e) {throw Exc_.new_exc(e, "core", "failed to read from stream");} + catch (Exception e) {throw Err_.new_exc(e, "core", "failed to read from stream");} } public IoStream UnderRdr_(Object v) {this.stream = (java.io.InputStream)v; return this;} java.io.InputStream stream; public Object UnderRdr() {return stream;} diff --git a/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java b/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java index a20bb3c0f..8e17ae72e 100644 --- a/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java +++ b/100_core/src_200_io/gplx/ios/IoUrlInfoRegy.java @@ -24,7 +24,7 @@ public class IoUrlInfoRegy implements GfoInvkAble { IoUrlInfo info = (IoUrlInfo)hash.Get_at(i - 1); if (info.Match(raw)) return info; } - throw Exc_.new_("could not match ioPathInfo", "raw", raw, "count", hash.Count()); + throw Err_.new_wo_type("could not match ioPathInfo", "raw", raw, "count", hash.Count()); } public void Reset() { hash.Clear(); 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 4d9a29976..b68986bae 100644 --- a/100_core/src_200_io/gplx/ios/Io_size_.java +++ b/100_core/src_200_io/gplx/ios/Io_size_.java @@ -41,7 +41,7 @@ public class Io_size_ { int termsLen = Array_.Len(terms); if (termsLen > 2) return or; DecimalAdp val = null; - try {val = DecimalAdp_.parse_(terms[0]);} catch (Exception exc) {Exc_.Noop(exc); return or;} + try {val = DecimalAdp_.parse_(terms[0]);} catch (Exception exc) {Err_.Noop(exc); return or;} int unitPow = 0; if (termsLen > 1) { @@ -88,7 +88,7 @@ public class Io_size_ { public static int Load_int_(GfoMsg m) {return (int)Load_long_(m);} public static long Load_long_(GfoMsg m) { String v = m.ReadStr("v"); - long rv = parse_or_(v, Long_.MinValue); if (rv == Long_.MinValue) throw Exc_.new_("invalid val", "val", v); + long rv = parse_or_(v, Long_.MinValue); if (rv == Long_.MinValue) throw Err_.new_wo_type("invalid val", "val", v); return rv; } public static String To_str_mb(long v) {return Long_.Xto_str(v / Io_mgr.Len_mb_long);} diff --git a/100_core/src_200_io/gplx/ios/Io_stream_.java b/100_core/src_200_io/gplx/ios/Io_stream_.java index 600e6349c..52289e190 100644 --- a/100_core/src_200_io/gplx/ios/Io_stream_.java +++ b/100_core/src_200_io/gplx/ios/Io_stream_.java @@ -26,7 +26,7 @@ public class Io_stream_ { // SERIALIZED case Io_stream_.Tid_zip : return ".zip"; case Io_stream_.Tid_gzip : return ".gz"; case Io_stream_.Tid_bzip2 : return ".bz2"; - default : throw Exc_.new_unhandled(v); + default : throw Err_.new_unhandled(v); } } public static byte Obsolete_to_tid(String v) { @@ -34,7 +34,7 @@ public class Io_stream_ { // SERIALIZED else if (String_.Eq(v, ".zip")) return Io_stream_.Tid_zip; else if (String_.Eq(v, ".gz")) return Io_stream_.Tid_gzip; else if (String_.Eq(v, ".bz2")) return Io_stream_.Tid_bzip2; - else throw Exc_.new_unhandled(v); + else throw Err_.new_unhandled(v); } public static String To_str(byte v) { switch (v) { @@ -42,7 +42,7 @@ public class Io_stream_ { // SERIALIZED case Io_stream_.Tid_zip : return "zip"; case Io_stream_.Tid_gzip : return "gzip"; case Io_stream_.Tid_bzip2 : return "bzip2"; - default : throw Exc_.new_unhandled(v); + default : throw Err_.new_unhandled(v); } } public static byte To_tid(String v) { @@ -50,6 +50,6 @@ public class Io_stream_ { // SERIALIZED else if (String_.Eq(v, "zip")) return Io_stream_.Tid_zip; else if (String_.Eq(v, "gzip")) return Io_stream_.Tid_gzip; else if (String_.Eq(v, "bzip2")) return Io_stream_.Tid_bzip2; - else throw Exc_.new_unhandled(v); + else throw Err_.new_unhandled(v); } } 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 5f445c47a..2bef0b890 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 @@ -35,7 +35,7 @@ public class Io_stream_rdr_ { case Io_stream_.Tid_zip: return new Io_stream_rdr_zip(); case Io_stream_.Tid_gzip: return new Io_stream_rdr_gzip(); case Io_stream_.Tid_bzip2: return new Io_stream_rdr_bzip2(); - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public static byte[] Load_all(Io_url url) { @@ -78,7 +78,7 @@ public class Io_stream_rdr_ { if (stream != null) stream.close(); return true; - } catch (Exception e) {Exc_.Noop(e); return false;} + } catch (Exception e) {Err_.Noop(e); return false;} } public static int Stream_read_by_parts(java.io.InputStream stream, int part_len, byte[] bry, int bgn, int len) { /* @@ -103,7 +103,7 @@ public class Io_stream_rdr_ { return rv; } catch (Exception exc) { - throw Exc_.new_exc(exc, "io", "read failed", "bgn", bgn, "len", len); + throw Err_.new_exc(exc, "io", "read failed", "bgn", bgn, "len", len); } } public static final int Read_done = -1; @@ -133,15 +133,15 @@ class Io_stream_rdr_adp implements Io_stream_rdr { public Io_stream_rdr Open() {return this;} public int Read(byte[] bry, int bgn, int len) { try {return strm.read(bry, bgn, len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} } public long Skip(long len) { try {return strm.skip(len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "skip failed", "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "skip failed", "len", len);} } public void Rls() { try {strm.close();} - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Xto_api());} } } abstract class Io_stream_rdr_base implements Io_stream_rdr { @@ -155,20 +155,20 @@ abstract class Io_stream_rdr_base implements Io_stream_rdr { } public Io_stream_rdr Open() { try {stream = Wrap_stream(new java.io.FileInputStream(url.Xto_api()));} - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Xto_api());} return this; } public int Read(byte[] bry, int bgn, int len) { try {return stream.read(bry, bgn, len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} } public long Skip(long len) { try {return stream.skip(len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "skip failed", "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "skip failed", "len", len);} } public void Rls() { try {stream.close();} - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Xto_api());} } public abstract java.io.InputStream Wrap_stream(java.io.InputStream stream); } @@ -185,7 +185,7 @@ class Io_stream_rdr_file extends Io_stream_rdr_base { stream = Wrap_stream(new java.io.FileInputStream(url.Xto_api())); } } - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Xto_api());} return this; } @Override public java.io.InputStream Wrap_stream(java.io.InputStream stream) {return stream;} @@ -202,7 +202,7 @@ class Io_stream_rdr_zip implements Io_stream_rdr { } public Io_stream_rdr Open() { try {Wrap_stream(new java.io.FileInputStream(url.Xto_api()));} - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Xto_api());} return this; } void Wrap_stream(java.io.InputStream input_stream) {zip_stream = new java.util.zip.ZipInputStream(input_stream);} @@ -218,15 +218,15 @@ class Io_stream_rdr_zip implements Io_stream_rdr { return read; } } - catch (Exception e) {throw Exc_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len);} } public long Skip(long len) { try {return zip_stream.skip(len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "skip failed", "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "skip failed", "len", len);} } public void Rls() { try {zip_stream.close();} - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Xto_api());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Xto_api());} } } class Io_stream_rdr_gzip extends Io_stream_rdr_base { @@ -245,19 +245,19 @@ class Io_stream_rdr_gzip extends Io_stream_rdr_base { return total_read == 0 ? gplx.ios.Io_stream_rdr_.Read_done : total_read; // gzip seems to allow 0 bytes read (bz2 and zip return -1 instead); normalize return to -1; } catch (Exception e) { - throw Exc_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len); + throw Err_.new_exc(e, "io", "read failed", "bgn", bgn, "len", len); } } @Override public java.io.InputStream Wrap_stream(java.io.InputStream stream) { try {return new java.util.zip.GZIPInputStream(stream);} - catch (Exception exc) {throw Exc_.new_("failed to open gz stream");} + catch (Exception exc) {throw Err_.new_wo_type("failed to open gz stream");} } } class Io_stream_rdr_bzip2 extends Io_stream_rdr_base { @Override public byte Tid() {return Io_stream_.Tid_bzip2;} @Override public java.io.InputStream Wrap_stream(java.io.InputStream stream) { try {return new org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream(stream, true);} - catch (Exception exc) {throw Exc_.new_("failed to open bzip2 stream");} + catch (Exception exc) {throw Err_.new_wo_type("failed to open bzip2 stream");} } @Override public int Read(byte[] bry, int bgn, int len) { return Io_stream_rdr_.Stream_read_by_parts(stream, Read_len, bry, bgn, len); 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 98049db83..53f062279 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 @@ -39,7 +39,7 @@ public class Io_stream_wtr_ { case gplx.ios.Io_stream_.Tid_zip : return new Io_stream_wtr_zip(); case gplx.ios.Io_stream_.Tid_gzip : return new Io_stream_wtr_gzip(); case gplx.ios.Io_stream_.Tid_bzip2 : return new Io_stream_wtr_bzip2(); - default : throw Exc_.new_unhandled(v); + default : throw Err_.new_unhandled(v); } } public static void Save_all(Io_url url, byte[] bry, int bgn, int end) { @@ -82,7 +82,7 @@ abstract class Io_stream_wtr_base implements Io_stream_wtr { if (trg_bfr == null) { if (!Io_mgr.I.ExistsFil(url)) Io_mgr.I.SaveFilStr(url, ""); try {bry_stream = new java.io.FileOutputStream(url.Raw());} - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Raw());} } else { mem_stream = new java.io.ByteArrayOutputStream(); @@ -93,11 +93,11 @@ abstract class Io_stream_wtr_base implements Io_stream_wtr { } public void Write(byte[] bry, int bgn, int len) { try {zip_stream.write(bry, bgn, len);} - catch (Exception e) {Exc_.new_exc(e, "io", "write failed", "bgn", bgn, "len", len);} + catch (Exception e) {Err_.new_exc(e, "io", "write failed", "bgn", bgn, "len", len);} } public void Flush() { if (trg_bfr != null) { - try {zip_stream.close();} catch (Exception e) {throw Exc_.new_exc(e, "io", "flush failed");} // must close zip_stream to flush all bytes + try {zip_stream.close();} catch (Exception e) {throw Err_.new_exc(e, "io", "flush failed");} // must close zip_stream to flush all bytes trg_bfr.Add(mem_stream.toByteArray()); } } @@ -106,7 +106,7 @@ abstract class Io_stream_wtr_base implements Io_stream_wtr { if (zip_stream != null) zip_stream.close(); if (mem_stream != null) mem_stream.close(); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Raw());} } public abstract java.io.OutputStream Wrap_stream(java.io.OutputStream stream); } @@ -114,7 +114,7 @@ class Io_stream_wtr_bzip2 extends Io_stream_wtr_base { @Override public byte Tid() {return Io_stream_.Tid_bzip2;} @Override public java.io.OutputStream Wrap_stream(java.io.OutputStream stream) { try {return new org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream(stream);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "failed to open bzip2 stream");} + catch (Exception e) {throw Err_.new_exc(e, "io", "failed to open bzip2 stream");} } static final byte[] Bz2_header = new byte[] {Byte_ascii.Ltr_B, Byte_ascii.Ltr_Z}; } @@ -122,7 +122,7 @@ class Io_stream_wtr_gzip extends Io_stream_wtr_base { @Override public byte Tid() {return Io_stream_.Tid_gzip;} @Override public java.io.OutputStream Wrap_stream(java.io.OutputStream stream) { try {return new java.util.zip.GZIPOutputStream(stream);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "failed to open gz stream");} + catch (Exception e) {throw Err_.new_exc(e, "io", "failed to open gz stream");} } } class Io_stream_wtr_zip implements Io_stream_wtr { @@ -136,7 +136,7 @@ class Io_stream_wtr_zip implements Io_stream_wtr { if (trg_bfr == null) { 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 e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Raw());} } else { mem_stream = new java.io.ByteArrayOutputStream(); @@ -145,12 +145,12 @@ class Io_stream_wtr_zip implements Io_stream_wtr { zip_stream = new java.util.zip.ZipOutputStream(bry_stream); java.util.zip.ZipEntry entry = new java.util.zip.ZipEntry("file"); try {zip_stream.putNextEntry(entry);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Raw());} return this; } public void Write(byte[] bry, int bgn, int len) { try {zip_stream.write(bry, bgn, len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "write failed", "url", url.Raw(), "bgn", bgn, "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "write failed", "url", url.Raw(), "bgn", bgn, "len", len);} } public void Flush() {// fixed as of DATE:2014-04-15 try { @@ -160,14 +160,14 @@ class Io_stream_wtr_zip implements Io_stream_wtr { trg_bfr.Add(mem_stream.toByteArray()); zip_stream.flush(); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "flush failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "flush failed", "url", url.Raw());} } public void Rls() { try { if (zip_stream != null) zip_stream.close(); if (mem_stream != null) mem_stream.close(); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Raw());} } public byte[] To_ary_and_clear() { byte[] rv = trg_bfr.Xto_bry_and_clear(); @@ -185,13 +185,13 @@ class Io_stream_wtr_file implements Io_stream_wtr { if (trg_bfr == null) bry_stream = Io_mgr.I.OpenStreamWrite(url); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "open failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "open failed", "url", url.Raw());} return this; } public void Write(byte[] bry, int bgn, int len) { if (trg_bfr == null) { try {bry_stream.Write(bry, bgn, len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "write failed", "url", url.Raw(), "bgn", bgn, "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "write failed", "url", url.Raw(), "bgn", bgn, "len", len);} } else trg_bfr.Add_mid(bry, bgn, bgn + len); @@ -208,6 +208,6 @@ class Io_stream_wtr_file implements Io_stream_wtr { if (trg_bfr == null) bry_stream.Rls(); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "close failed", "url", url.Raw());} + catch (Exception e) {throw Err_.new_exc(e, "io", "close failed", "url", url.Raw());} } } diff --git a/100_core/src_210_env/gplx/ClassAdp_.java b/100_core/src_210_env/gplx/ClassAdp_.java index ead2e4b12..0d1bc8acf 100644 --- a/100_core/src_210_env/gplx/ClassAdp_.java +++ b/100_core/src_210_env/gplx/ClassAdp_.java @@ -27,6 +27,7 @@ public class ClassAdp_ { return Object_.Eq(expd, actl); } public static boolean IsAssignableFrom(Class lhs, Class rhs) {return lhs.isAssignableFrom(rhs);} + public static boolean Implements_intf_obj(Object cur, Class type) {return cur == null ? false : IsAssignableFrom(type, cur.getClass());} public static boolean Is_array(Class t) {return t.isArray();} public static Class ClassOf_obj(Object o) {return o.getClass();} public static Class ClassOf_primitive(Object o) { @@ -41,5 +42,5 @@ public class ClassAdp_ { public static String FullNameOf_type(Class type) {return type.getCanonicalName();} public static String NameOf_type(Class type) {return type.getName();} public static String NameOf_obj(Object obj) {return obj == null ? String_.Null_mark : obj.getClass().getName();} - public static final byte Tid_bool = 1, Tid_byte = 2, Tid_int = 3, Tid_long = 4, Tid_float = 5, Tid_double = 6, Tid_char = 7, Tid_str = 8, Tid_date = 9, Tid_decimal = 10; + public static final byte Tid_bool = 1, Tid_byte = 2, Tid_int = 3, Tid_long = 4, Tid_float = 5, Tid_double = 6, Tid_char = 7, Tid_str = 8, Tid_date = 9, Tid_decimal = 10, Tid_bry = 11; } diff --git a/100_core/src_210_env/gplx/Env_.java b/100_core/src_210_env/gplx/Env_.java index 73d044750..205f27df1 100644 --- a/100_core/src_210_env/gplx/Env_.java +++ b/100_core/src_210_env/gplx/Env_.java @@ -40,7 +40,7 @@ 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_.Empty) throw Exc_.new_("Env_.Init was not called"); + if (appUrl == Io_url_.Empty) throw Err_.new_wo_type("Env_.Init was not called"); return appUrl; } static Io_url appUrl = Io_url_.Empty; public static void Exit() {Exit_code(0);} diff --git a/100_core/src_210_env/gplx/JarAdp_.java b/100_core/src_210_env/gplx/JarAdp_.java index ec4acba41..d58be9f9c 100644 --- a/100_core/src_210_env/gplx/JarAdp_.java +++ b/100_core/src_210_env/gplx/JarAdp_.java @@ -17,17 +17,17 @@ along with this program. If not, see . */ package gplx; public class JarAdp_ { - public static DateAdp ModifiedTime_type(Class type) {if (type == null) throw Exc_.new_null("type"); + public static DateAdp ModifiedTime_type(Class type) {if (type == null) throw Err_.new_null(); Io_url url = Url_type(type); return Io_mgr.I.QueryFil(url).ModifiedTime(); } - public static Io_url Url_type(Class type) {if (type == null) throw Exc_.new_null("type"); + public static Io_url Url_type(Class type) {if (type == null) throw Err_.new_null(); String codeBase = type.getProtectionDomain().getCodeSource().getLocation().getPath(); if (Op_sys.Cur().Tid_is_wnt()) codeBase = String_.Mid(codeBase, 1); // codebase always starts with /; remove for wnt codeBase = String_.Replace(codeBase, "/", Op_sys.Cur().Fsys_dir_spr_str()); // java always returns DirSpr as /; change to Env_.DirSpr to handle windows try {codeBase = java.net.URLDecoder.decode(codeBase, "UTF-8");} - catch (java.io.UnsupportedEncodingException e) {Exc_.Noop(e);} + catch (java.io.UnsupportedEncodingException e) {Err_.Noop(e);} return Io_url_.new_fil_(codeBase); } } diff --git a/100_core/src_210_env/gplx/Op_sys.java b/100_core/src_210_env/gplx/Op_sys.java index ab12a67b7..0342b3c7a 100644 --- a/100_core/src_210_env/gplx/Op_sys.java +++ b/100_core/src_210_env/gplx/Op_sys.java @@ -63,7 +63,7 @@ public class Op_sys { byte bitness_byte = Bitness_32; if (String_.Eq(bitness_str, "32")) bitness_byte = Bitness_32; else if (String_.Eq(bitness_str, "64")) bitness_byte = Bitness_64; - else throw Exc_.new_("unknown bitness; expecting 32 or 64; System.getProperty(\"bit.level\")", "val", bitness_str); + else throw Err_.new_wo_type("unknown bitness; expecting 32 or 64; System.getProperty(\"bit.level\")", "val", bitness_str); os_name = System.getProperty("os.name").toLowerCase(); if (String_.Has_at_bgn(os_name, "win")) { @@ -76,7 +76,7 @@ public class Op_sys { } else if (String_.Eq(os_name, "linux")) return new_unx_flavor_(Tid_lnx, os_name, bitness_byte); else if (String_.Has_at_bgn(os_name, "mac")) return new_unx_flavor_(Tid_osx, os_name, bitness_byte); // EX:Mac OS X - else throw Exc_.new_("unknown os_name; expecting windows, linux, mac; System.getProperty(\"os.name\")", "val", os_name); + else throw Err_.new_wo_type("unknown os_name; expecting windows, linux, mac; System.getProperty(\"os.name\")", "val", os_name); } catch (Exception exc) {Drd.os_name = os_name; return Drd;} } public static void OpSysIsDroid() { diff --git a/100_core/src_210_env/gplx/ProcessAdp.java b/100_core/src_210_env/gplx/ProcessAdp.java index 3b3263532..bb7d7074d 100644 --- a/100_core/src_210_env/gplx/ProcessAdp.java +++ b/100_core/src_210_env/gplx/ProcessAdp.java @@ -69,7 +69,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { case Run_mode_async: return Run_async(); case Run_mode_sync_timeout: return Run_wait(); case Run_mode_sync_block: return Run_wait_sync(); - default: throw Exc_.new_unhandled(run_mode); + default: throw Err_.new_unhandled(run_mode); } } public String[] Xto_process_bldr_args(String... args) { @@ -166,16 +166,16 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { thread.interrupt(); thread.Cancel(); try {thread.join();} - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted at timeout");} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted at timeout");} break; } } if (!thread_run) { try {thread.join();} - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted at join 2");} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted at join 2");} } } catch (Exception exc) { - Tfds.Write(Err_.Message_gplx_brief(exc)); + Tfds.Write(Err_.Message_gplx_full(exc)); } if (elapsed != notify_checkpoint) { notify_fmtr.Bld_bfr_many(notify_bfr, exe_url.NameAndExt(), args_str, elapsed / 1000); @@ -223,7 +223,7 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { java.util.List command_list = pb.command(); String[] command_ary = new String[command_list.size()]; command_ary = command_list.toArray(command_ary); - throw Exc_.new_exc(e, "core", "process start failed", "args", String_.Concat_with_str(" ", command_ary)); + throw Err_.new_exc(e, "core", "process start failed", "args", String_.Concat_with_str(" ", command_ary)); } return process; } @@ -236,8 +236,8 @@ public class ProcessAdp implements GfoInvkAble, RlsAble { sb.Add_str_w_crlf(line); process.waitFor(); } - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted at wait_for", "exe_url", exe_url.Xto_api(), "exeArgs", args_str);} - catch (IOException e) {throw Exc_.new_exc(e, "core", "io error", "exe_url", exe_url.Xto_api(), "exeArgs", args_str);} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted at wait_for", "exe_url", exe_url.Xto_api(), "exeArgs", args_str);} + catch (IOException e) {throw Err_.new_exc(e, "core", "io error", "exe_url", exe_url.Xto_api(), "exeArgs", args_str);} exit_code = process.exitValue(); WhenEnd_run(); process.destroy(); @@ -318,11 +318,11 @@ class Thread_ProcessAdp_sync extends Thread { } while (input_gobbler.isAlive()) { try {input_gobbler.join(50);} - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted at input gobbler");} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted at input gobbler");} } while (error_gobbler.isAlive()) { try {error_gobbler.join(50);} - catch (InterruptedException e) {throw Exc_.new_exc(e, "core", "thread interrupted at error gobbler");} + catch (InterruptedException e) {throw Err_.new_exc(e, "core", "thread interrupted at error gobbler");} } String result = input_gobbler.Rslt() + "\n" + error_gobbler.Rslt(); process_adp.Process_post(result); @@ -349,6 +349,6 @@ class StreamGobbler extends Thread { stream.close(); rslt = sb.Xto_str_and_clear(); } - catch (Exception e) {throw Exc_.new_exc(e, "io", "failed reading stream", "name", name);} + catch (Exception e) {throw Err_.new_exc(e, "io", "failed reading stream", "name", name);} } } diff --git a/100_core/src_220_console/gplx/ConsoleAdp.java b/100_core/src_220_console/gplx/ConsoleAdp.java deleted file mode 100644 index 6e566eb07..000000000 --- a/100_core/src_220_console/gplx/ConsoleAdp.java +++ /dev/null @@ -1,68 +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; -public class ConsoleAdp implements GfoInvkAble, ConsoleDlg { - public boolean Enabled() {return true;} - public boolean Canceled() {return canceled;} public void Canceled_set(boolean v) {canceled = v;} private boolean canceled = false; - public boolean CanceledChk() {if (canceled) throw Exc_.new_op_canceled(); return canceled;} - public int CharsPerLineMax() {return chars_per_line_max;} public void CharsPerLineMax_set(int v) {chars_per_line_max = v;} int chars_per_line_max = 80; - public boolean Backspace_by_bytes() {return backspace_by_bytes;} public ConsoleAdp Backspace_by_bytes_(boolean v) {backspace_by_bytes = v; return this;} private boolean backspace_by_bytes; - public void WriteText(String s) {ClearTempText(); WriteText_lang(s);} - public void WriteLine(String s) {ClearTempText(); WriteLine_lang(s);} - public void WriteLineOnly() {ClearTempText(); WriteLine("");} - public void WriteLineFormat(String format, Object... args) {ClearTempText(); WriteLine_lang(String_.Format(format, args));} - public char ReadKey(String m) {WriteText(m); return ReadKey_lang();} - public String ReadLine(String m) {WriteText(m); return ReadLine_lang();} - public void WriteTempText(String s) { - ClearTempText(); - if (String_.Has(s, "\r")) s = String_.Replace(s, "\r", " "); - if (String_.Has(s, "\n")) s = String_.Replace(s, "\n", " "); - if (String_.Len(s) >= chars_per_line_max) s = String_.Mid(s, 0, chars_per_line_max - String_.Len("...") - 1) + "..."; // NOTE: >= and -1 needed b/c line needs to be 1 less than max; ex: default cmd is 80 width, but writing 80 chars will automatically create lineBreak - tempText = s; - WriteText_lang(s); - } String tempText; - public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) {return this;} - void ClearTempText() { - if (tempText == null) return; - if (Env_.Mode_debug()) {WriteText_lang(String_.CrLf); return;} - 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 - this.WriteText_lang(moveBack); // move cursor back to beginning of line (so next Write will start at beginning) - tempText = null; - } - void WriteText_lang(String s) {System.out.print(s);} - void WriteLine_lang(String s) {System.out.println(s);} - String ReadLine_lang() {return System.console() == null ? "" : System.console().readLine();} - char ReadKey_lang() { - String text = ReadLine_lang(); - return String_.Len(text) == 0 ? '\0' : String_.CharAt(text, 0); - } - public void WriteLine_utf8(String s) { - java.io.PrintStream ps; - try {ps = new java.io.PrintStream(System.out, true, "UTF-8");} - catch (java.io.UnsupportedEncodingException e) {throw Exc_.new_("unsupported exception");} - ps.println(s); - } - public static final ConsoleAdp _ = new ConsoleAdp(); - public ConsoleAdp() { - if (Op_sys.Cur().Tid_is_lnx()) - backspace_by_bytes = true; // bash shows UTF8 by default; backspace in bytes, else multi-byte characters don't show; DATE:2014-03-04 - } -} diff --git a/100_core/src_300_classXtn/gplx/BoolClassXtn.java b/100_core/src_300_classXtn/gplx/BoolClassXtn.java index d4d697ea4..3ae6e25f3 100644 --- a/100_core/src_300_classXtn/gplx/BoolClassXtn.java +++ b/100_core/src_300_classXtn/gplx/BoolClassXtn.java @@ -21,7 +21,7 @@ public class BoolClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} @Override public Class UnderClass() {return boolean.class;} public Object DefaultValue() {return false;} - public boolean Eq(Object lhs, Object rhs) {try {return Bool_.cast_(lhs) == Bool_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Bool_.cast_(lhs) == Bool_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) { if ( String_.Eq(raw, "true") || String_.Eq(raw, "True") // needed for Store_Wtr() {boolVal.toString();} @@ -34,7 +34,7 @@ public class BoolClassXtn extends ClassXtn_base implements ClassXtn { || String_.Eq(raw, "0") ) return false; - throw Exc_.new_parse_type(boolean.class, raw); + throw Err_.new_parse_type(boolean.class, raw); } @Override public Object XtoDb(Object obj) {return obj;} public static final BoolClassXtn _ = new BoolClassXtn(); BoolClassXtn() {} // added to ClassXtnPool by default diff --git a/100_core/src_300_classXtn/gplx/ByteClassXtn.java b/100_core/src_300_classXtn/gplx/ByteClassXtn.java index 44e27d7a5..e3d48b4fe 100644 --- a/100_core/src_300_classXtn/gplx/ByteClassXtn.java +++ b/100_core/src_300_classXtn/gplx/ByteClassXtn.java @@ -21,7 +21,7 @@ public class ByteClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} @Override public Class UnderClass() {return byte.class;} public Object DefaultValue() {return 0;} - public boolean Eq(Object lhs, Object rhs) {try {return Byte_.cast_(lhs) == Byte_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Byte_.cast_(lhs) == Byte_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) {return raw == null ? (Object)null : Byte_.parse_(raw);} @Override public Object XtoDb(Object obj) {return Byte_.cast_(obj);} public static final ByteClassXtn _ = new ByteClassXtn(); ByteClassXtn() {} // added to ClassXtnPool by default diff --git a/100_core/src_300_classXtn/gplx/ClassXtn_base.java b/100_core/src_300_classXtn/gplx/ClassXtn_base.java index 792f51331..58b846b9f 100644 --- a/100_core/src_300_classXtn/gplx/ClassXtn_base.java +++ b/100_core/src_300_classXtn/gplx/ClassXtn_base.java @@ -21,7 +21,7 @@ public abstract class ClassXtn_base { public abstract Object ParseOrNull(String raw); @gplx.Virtual public Object XtoDb(Object obj) {return obj;} @gplx.Virtual public String XtoUi(Object obj, String fmt) {return Object_.Xto_str_strict_or_null_mark(obj);} - @gplx.Virtual public boolean MatchesClass(Object obj) {if (obj == null) throw Exc_.new_null("obj"); + @gplx.Virtual public boolean MatchesClass(Object obj) {if (obj == null) throw Err_.new_null(); return ClassAdp_.Eq_typeSafe(obj, UnderClass()); } @gplx.Virtual public int compareTo(Object lhs, Object rhs) {return CompareAble_.Compare_obj(lhs, rhs);} diff --git a/100_core/src_300_classXtn/gplx/DateAdpClassXtn.java b/100_core/src_300_classXtn/gplx/DateAdpClassXtn.java index 4944e999c..dfadd0e85 100644 --- a/100_core/src_300_classXtn/gplx/DateAdpClassXtn.java +++ b/100_core/src_300_classXtn/gplx/DateAdpClassXtn.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx; public class DateAdpClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "datetime"; - public boolean Eq(Object lhs, Object rhs) {try {return DateAdp_.cast_(lhs).Eq(DateAdp_.cast_(rhs));} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return DateAdp_.cast_(lhs).Eq(DateAdp_.cast_(rhs));} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Class UnderClass() {return DateAdp.class;} public Object DefaultValue() {return DateAdp_.MinValue;} @Override public Object ParseOrNull(String raw) {return DateAdp_.parse_gplx(raw);} diff --git a/100_core/src_300_classXtn/gplx/DecimalAdpClassXtn.java b/100_core/src_300_classXtn/gplx/DecimalAdpClassXtn.java index e12935406..73fe24814 100644 --- a/100_core/src_300_classXtn/gplx/DecimalAdpClassXtn.java +++ b/100_core/src_300_classXtn/gplx/DecimalAdpClassXtn.java @@ -20,7 +20,7 @@ public class DecimalAdpClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "decimal"; // current dsv files reference "decimal" @Override public Class UnderClass() {return DecimalAdp.class;} public Object DefaultValue() {return 0;} - public boolean Eq(Object lhs, Object rhs) {try {return DecimalAdp_.cast_(lhs).Eq(DecimalAdp_.cast_(rhs));} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return DecimalAdp_.cast_(lhs).Eq(DecimalAdp_.cast_(rhs));} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) {return DecimalAdp_.parse_(raw);} @Override public String XtoUi(Object obj, String fmt) {return DecimalAdp_.cast_(obj).Xto_str();} public static final DecimalAdpClassXtn _ = new DecimalAdpClassXtn(); DecimalAdpClassXtn() {} // added to ClassXtnPool by default diff --git a/100_core/src_300_classXtn/gplx/DoubleClassXtn.java b/100_core/src_300_classXtn/gplx/DoubleClassXtn.java index cbdbbced0..0bcc42366 100644 --- a/100_core/src_300_classXtn/gplx/DoubleClassXtn.java +++ b/100_core/src_300_classXtn/gplx/DoubleClassXtn.java @@ -20,7 +20,7 @@ public class DoubleClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "double"; @Override public Class UnderClass() {return double.class;} public Object DefaultValue() {return 0;} - public boolean Eq(Object lhs, Object rhs) {try {return Double_.cast_(lhs) == Double_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Double_.cast_(lhs) == Double_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) {return Double_.parse_(raw);} public static final DoubleClassXtn _ = new DoubleClassXtn(); DoubleClassXtn() {} // added to ClassXtnPool by default } \ No newline at end of file diff --git a/100_core/src_300_classXtn/gplx/FloatClassXtn.java b/100_core/src_300_classXtn/gplx/FloatClassXtn.java index 02d5d04ae..094b193e6 100644 --- a/100_core/src_300_classXtn/gplx/FloatClassXtn.java +++ b/100_core/src_300_classXtn/gplx/FloatClassXtn.java @@ -20,7 +20,7 @@ public class FloatClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "float"; @Override public Class UnderClass() {return float.class;} public Object DefaultValue() {return 0;} - public boolean Eq(Object lhs, Object rhs) {try {return Float_.cast_(lhs) == Float_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Float_.cast_(lhs) == Float_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) {return Float_.parse_(raw);} public static final FloatClassXtn _ = new FloatClassXtn(); FloatClassXtn() {} // added to ClassXtnPool by default } \ No newline at end of file diff --git a/100_core/src_300_classXtn/gplx/IntClassXtn.java b/100_core/src_300_classXtn/gplx/IntClassXtn.java index 20a93d570..565241c55 100644 --- a/100_core/src_300_classXtn/gplx/IntClassXtn.java +++ b/100_core/src_300_classXtn/gplx/IntClassXtn.java @@ -21,7 +21,7 @@ public class IntClassXtn extends ClassXtn_base implements ClassXtn { @Override public Class UnderClass() {return Integer.class;} public Object DefaultValue() {return 0;} @Override public Object ParseOrNull(String raw) {return raw == null ? (Object)null : Int_.parse_(raw);} - public boolean Eq(Object lhs, Object rhs) {try {return Int_.cast_(lhs) == Int_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Int_.cast_(lhs) == Int_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object XtoDb(Object obj) {return Int_.cast_(obj);} // necessary for enums public static final IntClassXtn _ = new IntClassXtn(); IntClassXtn() {} // added to ClassXtnPool by default diff --git a/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java b/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java index 825528d72..f5fd36340 100644 --- a/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java +++ b/100_core/src_300_classXtn/gplx/IoUrlClassXtn.java @@ -24,6 +24,6 @@ public class IoUrlClassXtn extends ClassXtn_base implements ClassXtn { @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();} @Override public boolean MatchesClass(Object obj) {return Io_url_.as_(obj) != null;} - public boolean Eq(Object lhs, Object rhs) {try {return Io_url_.cast_(lhs).Eq(Io_url_.cast_(rhs));} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Io_url_.cast_(lhs).Eq(Io_url_.cast_(rhs));} catch (Exception e) {Err_.Noop(e); return false;}} public static final IoUrlClassXtn _ = new IoUrlClassXtn(); IoUrlClassXtn() {} // added to ClassXtnPool by default } diff --git a/100_core/src_300_classXtn/gplx/LongClassXtn.java b/100_core/src_300_classXtn/gplx/LongClassXtn.java index 988da3e8d..5981cd311 100644 --- a/100_core/src_300_classXtn/gplx/LongClassXtn.java +++ b/100_core/src_300_classXtn/gplx/LongClassXtn.java @@ -20,7 +20,7 @@ public class LongClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "long"; @Override public Class UnderClass() {return long.class;} public Object DefaultValue() {return 0;} - public boolean Eq(Object lhs, Object rhs) {try {return Long_.cast_(lhs) == Long_.cast_(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return Long_.cast_(lhs) == Long_.cast_(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} @Override public Object ParseOrNull(String raw) {return raw == null ? (Object)null : Long_.parse_(raw);} @Override public Object XtoDb(Object obj) {return Long_.cast_(obj);} // necessary for enums public static final LongClassXtn _ = new LongClassXtn(); LongClassXtn() {} // added to ClassXtnPool by default diff --git a/100_core/src_300_classXtn/gplx/ObjectClassXtn.java b/100_core/src_300_classXtn/gplx/ObjectClassXtn.java index 73fb5d5c4..252e69876 100644 --- a/100_core/src_300_classXtn/gplx/ObjectClassXtn.java +++ b/100_core/src_300_classXtn/gplx/ObjectClassXtn.java @@ -20,8 +20,8 @@ public class ObjectClassXtn extends ClassXtn_base implements ClassXtn { public String Key() {return Key_const;} public static final String Key_const = "Object"; @Override public Class UnderClass() {return Object.class;} public Object DefaultValue() {return null;} - @Override public Object ParseOrNull(String raw) {throw Exc_.new_unimplemented();} - @Override public Object XtoDb(Object obj) {throw Exc_.new_unimplemented();} + @Override public Object ParseOrNull(String raw) {throw Err_.new_unimplemented();} + @Override public Object XtoDb(Object obj) {throw Err_.new_unimplemented();} public boolean Eq(Object lhs, Object rhs) {return lhs == rhs;} public static final ObjectClassXtn _ = new ObjectClassXtn(); ObjectClassXtn() {} // added to ClassXtnPool by default } diff --git a/100_core/src_300_classXtn/gplx/StringClassXtn.java b/100_core/src_300_classXtn/gplx/StringClassXtn.java index e8a87c31e..03e9aca95 100644 --- a/100_core/src_300_classXtn/gplx/StringClassXtn.java +++ b/100_core/src_300_classXtn/gplx/StringClassXtn.java @@ -23,6 +23,6 @@ public class StringClassXtn extends ClassXtn_base implements ClassXtn { public Object DefaultValue() {return "";} @Override public Object ParseOrNull(String raw) {return raw;} @Override public String XtoUi(Object obj, String fmt) {return String_.as_(obj);} - public boolean Eq(Object lhs, Object rhs) {try {return String_.Eq(String_.cast_(lhs), String_.cast_(rhs));} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return String_.Eq(String_.cast_(lhs), String_.cast_(rhs));} catch (Exception e) {Err_.Noop(e); return false;}} public static final StringClassXtn _ = new StringClassXtn(); StringClassXtn() {} // added to ClassXtnPool by default } \ No newline at end of file diff --git a/100_core/src_300_classXtn/gplx/TimeSpanAdpClassXtn.java b/100_core/src_300_classXtn/gplx/TimeSpanAdpClassXtn.java index a864d3044..014aa7a6d 100644 --- a/100_core/src_300_classXtn/gplx/TimeSpanAdpClassXtn.java +++ b/100_core/src_300_classXtn/gplx/TimeSpanAdpClassXtn.java @@ -23,6 +23,6 @@ public class TimeSpanAdpClassXtn extends ClassXtn_base implements ClassXtn { @Override public Object ParseOrNull(String raw) {return TimeSpanAdp_.parse_(raw);} @Override public Object XtoDb(Object obj) {return TimeSpanAdp_.cast_(obj).TotalSecs();} @Override public String XtoUi(Object obj, String fmt) {return TimeSpanAdp_.cast_(obj).XtoStr(fmt);} - public boolean Eq(Object lhs, Object rhs) {try {return TimeSpanAdp_.cast_(lhs).Eq(rhs);} catch (Exception e) {Exc_.Noop(e); return false;}} + public boolean Eq(Object lhs, Object rhs) {try {return TimeSpanAdp_.cast_(lhs).Eq(rhs);} catch (Exception e) {Err_.Noop(e); return false;}} public static final TimeSpanAdpClassXtn _ = new TimeSpanAdpClassXtn(); TimeSpanAdpClassXtn() {} // added to ClassXtnPool by default } \ No newline at end of file diff --git a/100_core/src_310_gfoNde/gplx/GfoNde.java b/100_core/src_310_gfoNde/gplx/GfoNde.java index 8b3eeca68..f25a674cc 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNde.java +++ b/100_core/src_310_gfoNde/gplx/GfoNde.java @@ -41,10 +41,10 @@ public class GfoNde implements GfoInvkAble { } int IndexOfOrFail(String key) { int i = flds.Idx_of(key); - if ((i < 0 || i >= aryLen)) throw Exc_.new_("field name not found", "name", key, "index", i, "count", this.Flds().Count()); + if ((i < 0 || i >= aryLen)) throw Err_.new_wo_type("field name not found", "name", key, "index", i, "count", this.Flds().Count()); return i; } - boolean ChkIdx(int i) {if (i < 0 || i >= aryLen) throw Exc_.new_missing_idx(i, aryLen); return true;} + boolean ChkIdx(int i) {if (i < 0 || i >= aryLen) throw Err_.new_missing_idx(i, aryLen); return true;} Object[] ary; int type; int aryLen; @gplx.Internal protected GfoNde(int type, String name, GfoFldList flds, Object[] ary, GfoFldList subFlds, GfoNde[] subAry) { this.type = type; this.name = name; this.flds = flds; this.ary = ary; aryLen = Array_.Len(ary); this.subFlds = subFlds; diff --git a/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java b/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java index 0f1196832..801877f92 100644 --- a/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java +++ b/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java @@ -19,7 +19,7 @@ package gplx; import gplx.core.primitives.*; public class GfoInvkAble_ { public static GfoInvkAble as_(Object obj) {return obj instanceof GfoInvkAble ? (GfoInvkAble)obj : null;} - public static GfoInvkAble cast_(Object obj) {try {return (GfoInvkAble)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfoInvkAble.class, obj);}} + public static GfoInvkAble cast_(Object obj) {try {return (GfoInvkAble)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfoInvkAble.class, obj);}} public static final String_obj_val Rv_unhandled = String_obj_val.new_("Unhandled"), Rv_handled = String_obj_val.new_("Handled"), Rv_host = String_obj_val.new_("Host") , Rv_cancel = String_obj_val.new_("Cancel"), Rv_error = String_obj_val.new_("Error"); @@ -27,7 +27,7 @@ public class GfoInvkAble_ { public static Object InvkCmd_val(GfoInvkAble invk, String k, Object v) {return InvkCmd_msg(invk, k, GfoMsg_.new_cast_(k).Add("v", v));} public static Object InvkCmd_msg(GfoInvkAble invk, String k, GfoMsg m) { Object rv = invk.Invk(GfsCtx._, 0, k, m); - if (rv == GfoInvkAble_.Rv_unhandled) throw Exc_.new_("invkable did not handle message", "key", k); + if (rv == GfoInvkAble_.Rv_unhandled) throw Err_.new_wo_type("invkable did not handle message", "key", k); return rv; } public static final GfoInvkAble Null = new GfoInvkAble_null(); diff --git a/100_core/src_311_gfoObj/gplx/GfoMsg_.java b/100_core/src_311_gfoObj/gplx/GfoMsg_.java index 974c22525..1f7447d60 100644 --- a/100_core/src_311_gfoObj/gplx/GfoMsg_.java +++ b/100_core/src_311_gfoObj/gplx/GfoMsg_.java @@ -29,7 +29,7 @@ public class GfoMsg_ { } public static GfoMsg root_(String... ary) {return root_leafArgs_(ary);} public static GfoMsg root_leafArgs_(String[] ary, KeyVal... kvAry) { - int len = Array_.Len(ary); if (len == 0) throw Err_arg.cannotBe_("== 0", "@len", len); + int len = Array_.Len(ary); if (len == 0) throw Err_.new_invalid_arg("== 0", "@len", len); GfoMsg root = new GfoMsg_base().ctor_(ary[0], false); GfoMsg owner = root; for (int i = 1; i < len; i++) { @@ -159,7 +159,7 @@ class GfoMsg_base implements GfoMsg { public boolean ReadYn_toggle(String k, boolean cur) { Object rv = ReadOr(k, "!"); if (rv == Nil) ThrowNotFound(k); - if (!parse) throw Exc_.new_("only parse supported"); + if (!parse) throw Err_.new_wo_type("only parse supported"); String rv_str = (String)rv; return (String_.Eq(rv_str, "!")) ? !cur : Yn.parse_(rv_str); } @@ -191,7 +191,7 @@ class GfoMsg_base implements GfoMsg { } return Nil; } int counter = 0; - void ThrowNotFound(String k) {throw Exc_.new_("arg not found in msg", "k", k, "counter", counter, "args", args);} + void ThrowNotFound(String k) {throw Err_.new_wo_type("arg not found in msg", "k", k, "counter", counter, "args", args);} String ArgsXtoStr() { if (this.Args_count() == 0) return "<>"; String_bldr sb = String_bldr_.new_(); diff --git a/100_core/src_330_store/gplx/DataRdr_.java b/100_core/src_330_store/gplx/DataRdr_.java index 24477bb58..ef2ffb1a3 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 class DataRdr_ { public static final DataRdr Null = new DataRdr_null(); public static DataRdr as_(Object obj) {return obj instanceof DataRdr ? (DataRdr)obj : null;} - public static DataRdr cast_(Object obj) {try {return (DataRdr)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, DataRdr.class, obj);}} + public static DataRdr cast_(Object obj) {try {return (DataRdr)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, DataRdr.class, obj);}} } class DataRdr_null implements DataRdr { public String NameOfNode() {return XtoStr();} public String XtoStr() {return "<< NULL READER >>";} diff --git a/100_core/src_330_store/gplx/DataWtr_base.java b/100_core/src_330_store/gplx/DataWtr_base.java index dae47481a..b95d0630a 100644 --- a/100_core/src_330_store/gplx/DataWtr_base.java +++ b/100_core/src_330_store/gplx/DataWtr_base.java @@ -46,7 +46,7 @@ public abstract class DataWtr_base implements SrlMgr { public DateAdp SrlDateOr(String key, DateAdp or) {WriteData(key, or.XtoStr_gplx()); return or;} public DecimalAdp SrlDecimalOr(String key, DecimalAdp or) {WriteData(key, or.Xto_decimal()); return or;} public double SrlDoubleOr(String key, double or) {WriteData(key, or); return or;} - public Object SrlObjOr(String key, Object or) {throw Exc_.new_unimplemented();} + public Object SrlObjOr(String key, Object or) {throw Err_.new_unimplemented();} public void TypeKey_(String v) {} public abstract 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 9b984ee32..52ae2305c 100644 --- a/100_core/src_330_store/gplx/stores/DataRdr_base.java +++ b/100_core/src_330_store/gplx/stores/DataRdr_base.java @@ -167,7 +167,7 @@ public abstract class DataRdr_base implements SrlMgr { if (parse) return Char_.parse_(String_.as_(val)); return Char_.cast_(val); } - catch (Exception exc) {Exc_.Noop(exc); return or;} + catch (Exception exc) {Err_.Noop(exc); return or;} } public byte[] ReadBry(String key) { Object val = Read(key); @@ -188,7 +188,7 @@ public abstract class DataRdr_base implements SrlMgr { public DateAdp SrlDateOr(String key, DateAdp or) {return ReadDateOr(key, or);} public DecimalAdp SrlDecimalOr(String key, DecimalAdp or) {return ReadDecimalOr(key, or);} public double SrlDoubleOr(String key, double or) {return ReadDoubleOr(key, or);} - public Object SrlObjOr(String key, Object or) {throw Exc_.new_unimplemented();} + public Object SrlObjOr(String key, Object or) {throw Err_.new_unimplemented();} public void XtoStr_gfml(String_bldr sb) { sb.Add(this.NameOfNode()).Add(":"); for (int i = 0; i < this.FieldCount(); i++) { @@ -201,9 +201,9 @@ public abstract class DataRdr_base implements SrlMgr { public abstract DataRdr Subs(); public void TypeKey_(String v) {} public abstract SrlMgr SrlMgr_new(Object o); - static Exc Err_dataRdr_ReadFailed_err(Class type, String key, Object val, Exception inner) { + static Err Err_dataRdr_ReadFailed_err(Class type, String key, Object val, Exception inner) { String innerMsg = inner == null ? "" : Err_.Message_lang(inner); - return Exc_.new_w_type("DataRdr_ReadFailed", "failed to read data", "key", key, "val", val, "type", type, "innerMsg", innerMsg).Stack_erase_1_(); + return Err_.new_("DataRdr_ReadFailed", "failed to read data", "key", key, "val", val, "type", type, "innerMsg", innerMsg).Trace_ignore_add_1_(); } static void Err_dataRdr_ReadFailed_useOr(Class type, String key, Object val, Object or) { UsrDlg_._.Warn(UsrMsg.new_("failed to read data; substituting default").Add("key", key).Add("val", val).Add("default", or).Add("type", type)); diff --git a/100_core/src_330_store/gplx/stores/GfoNdeRdr_.java b/100_core/src_330_store/gplx/stores/GfoNdeRdr_.java index b5167cb6e..1697f15b8 100644 --- a/100_core/src_330_store/gplx/stores/GfoNdeRdr_.java +++ b/100_core/src_330_store/gplx/stores/GfoNdeRdr_.java @@ -44,5 +44,5 @@ public class GfoNdeRdr_ { return rv; } public static GfoNdeRdr as_(Object obj) {return obj instanceof GfoNdeRdr ? (GfoNdeRdr)obj : null;} - public static GfoNdeRdr cast_(Object obj) {try {return (GfoNdeRdr)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfoNdeRdr.class, obj);}} + public static GfoNdeRdr cast_(Object obj) {try {return (GfoNdeRdr)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfoNdeRdr.class, obj);}} } 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 7e64133b6..55cbcae17 100644 --- a/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java +++ b/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java @@ -89,7 +89,7 @@ class XmlDataWtr extends DataWtr_base implements DataWtr { sb.Add("" + String_.CrLf); } names.Del_at(names.Count() - 1); - // if (nde.ParentNode == null) throw Err_.new_("WriteXmlNodeEnd() called on root node"); + // if (nde.ParentNode == null) throw Err_.new_wo_type("WriteXmlNodeEnd() called on root node"); // nde = nde.ParentNode; // WriteLineFeed(doc, nde); } 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 200f90951..950d4e455 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java @@ -72,7 +72,7 @@ class DsvParser { qteOn = false; } else - throw Exc_.new_("invalid quote in quoted field; quote must be followed by quote, fieldSpr, or recordSpr", "sym", strm.Cur(), "text", strm.Xto_str_by_pos(strm.Pos() - 10, strm.Pos() + 10)); + throw Err_.new_wo_type("invalid quote in quoted field; quote must be followed by quote, fieldSpr, or recordSpr", "sym", strm.Cur(), "text", strm.Xto_str_by_pos(strm.Pos() - 10, strm.Pos() + 10)); } else { // regular char; append and continue sb.Add(strm.Cur()); @@ -100,10 +100,10 @@ class DsvParser { else if (String_.Eq(val, sym.FldNamesSym())) lineMode = LineType_FldNames; // @ else if (String_.Eq(val, sym.FldTypesSym())) lineMode = LineType_FldTypes; // $ else if (String_.Eq(val, sym.CommentSym())) lineMode = LineType_Comment; // ' - else throw Exc_.new_("unknown dsv cmd", "cmd", val); + else throw Err_.new_wo_type("unknown dsv cmd", "cmd", val); } else - throw Exc_.new_("unable to process field value", "value", val); + throw Err_.new_wo_type("unable to process field value", "value", val); } void ProcessLine(CharStream strm, boolean cleanup) { if (sb.Count() == 0 && tkns.Count() == 0) @@ -207,7 +207,7 @@ class DsvTblBldr { } Object[] MakeValsAry(List_adp tkns) { GfoFldList subFlds = tbl.SubFlds(); int subFldsCount = subFlds.Count(); - if (tkns.Count() > subFldsCount) throw Exc_.new_("values.Count cannot be greater than fields.Count", "values.Count", tkns.Count(), "fields.Count", subFldsCount); + if (tkns.Count() > subFldsCount) throw Err_.new_wo_type("values.Count cannot be greater than fields.Count", "values.Count", tkns.Count(), "fields.Count", subFldsCount); Object[] rv = new Object[subFldsCount]; for (int i = 0; i < subFldsCount; i++) { ClassXtn typx = subFlds.Get_at(i).Type(); 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 13703ac51..b847ec2d1 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 @@ -86,7 +86,7 @@ public class DsvDataRdr_csv_dat_tst { fx.run_parse_("a,\"\" ,c"); Tfds.Fail_expdError(); } - catch (Exc e) { + catch (Err e) { Tfds.Eq_true(String_.Has(Err_.Message_lang(e), "invalid quote in quoted field")); } } diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvStoreLayout.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvStoreLayout.java index d03cc8518..f860e8859 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvStoreLayout.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvStoreLayout.java @@ -46,6 +46,6 @@ public class DsvStoreLayout { return rv; } public static DsvStoreLayout as_(Object obj) {return obj instanceof DsvStoreLayout ? (DsvStoreLayout)obj : null;} - public static DsvStoreLayout cast_(Object obj) {try {return (DsvStoreLayout)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, DsvStoreLayout.class, obj);}} + public static DsvStoreLayout cast_(Object obj) {try {return (DsvStoreLayout)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, DsvStoreLayout.class, obj);}} public static final String Key_const = "StoreLayoutWtr"; } diff --git a/100_core/src_400_gfs/gplx/GfsCore.java b/100_core/src_400_gfs/gplx/GfsCore.java index a4ea2a2b7..43b401296 100644 --- a/100_core/src_400_gfs/gplx/GfsCore.java +++ b/100_core/src_400_gfs/gplx/GfsCore.java @@ -56,7 +56,7 @@ public class GfsCore implements GfoInvkAble { 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.I.ExistsFil(url)) return null; - if (msgParser == null) throw Exc_.new_("msgParser is null"); + if (msgParser == null) throw Err_.new_wo_type("msgParser is null"); return Exec_bry(Io_mgr.I.LoadFilBry(url), root); } public Object Exec_bry(byte[] bry) {return Exec_bry(bry, root);} @@ -71,7 +71,7 @@ public class GfsCore implements GfoInvkAble { return rv; } public Object ExecText(String text) { - if (msgParser == null) throw Exc_.new_("msgParser is null"); + if (msgParser == null) throw Err_.new_wo_type("msgParser is null"); GfsCtx ctx = GfsCtx.new_(); return ExecMany(ctx, msgParser.ParseToMsg(text)); } @@ -96,7 +96,7 @@ class GfsCore_ { if (rv == GfoInvkAble_.Rv_cancel) return rv; else if (rv == GfoInvkAble_.Rv_unhandled) { if (ctx.Fail_if_unhandled()) - throw Exc_.new_("Object does not support key", "key", owner_msg.Key(), "ownerType", ClassAdp_.FullNameOf_obj(owner_invk)); + throw Err_.new_wo_type("Object does not support key", "key", owner_msg.Key(), "ownerType", ClassAdp_.FullNameOf_obj(owner_invk)); else { Gfo_usr_dlg usr_dlg = ctx.Usr_dlg(); if (usr_dlg != null) usr_dlg.Warn_many(GRP_KEY, "unhandled_key", "Object does not support key: key=~{0} ownerType=~{1}", owner_msg.Key(), ClassAdp_.FullNameOf_obj(owner_invk)); @@ -119,7 +119,7 @@ class GfsCore_ { if (type == String.class) invk = String_.Gfs; else if (Int_.TypeMatch(type)) invk = Int_.Gfs; else if (ClassAdp_.Eq(type, Bool_.Cls_ref_type)) invk = Bool_.Gfs; - else throw Exc_.new_("unknown primitive", "type", ClassAdp_.NameOf_type(type), "obj", Object_.Xto_str_strict_or_null_mark(rv)); + else throw Err_.new_wo_type("unknown primitive", "type", ClassAdp_.NameOf_type(type), "obj", Object_.Xto_str_strict_or_null_mark(rv)); primitive = rv; } Object exec_rv = null; diff --git a/100_core/src_400_gfs/gplx/GfsCoreHelp.java b/100_core/src_400_gfs/gplx/GfsCoreHelp.java index daebbe855..6d9f98ea3 100644 --- a/100_core/src_400_gfs/gplx/GfsCoreHelp.java +++ b/100_core/src_400_gfs/gplx/GfsCoreHelp.java @@ -30,8 +30,8 @@ class GfsCoreHelp implements GfoInvkAble { } else return Exec(ctx, core.Root_as_regy(), path); } - public static Exc Err_Unhandled(String objPath, String key) {return Exc_.new_("obj does not handle msgKey", "objPath", objPath, "key", key).Stack_erase_1_();} - static Exc Err_Unhandled(String[] itmAry, int i) { + public static Err Err_Unhandled(String objPath, String key) {return Err_.new_wo_type("obj does not handle msgKey", "objPath", objPath, "key", key).Trace_ignore_add_1_();} + static Err Err_Unhandled(String[] itmAry, int i) { String_bldr sb = String_bldr_.new_(); for (int j = 0; j < i; j++) sb.Add_spr_unless_first(itmAry[j], ".", j); diff --git a/100_core/src_400_gfs/gplx/GfsRegy.java b/100_core/src_400_gfs/gplx/GfsRegy.java index 0c97dd164..67fc83e67 100644 --- a/100_core/src_400_gfs/gplx/GfsRegy.java +++ b/100_core/src_400_gfs/gplx/GfsRegy.java @@ -24,7 +24,7 @@ class GfsRegy implements GfoInvkAble { 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.Get_by(k); if (rv == null) throw Exc_.new_missing_key(k); + Object rv = (GfsRegyItm)hash.Get_by(k); if (rv == null) throw Err_.new_missing_key(k); return rv; } public void AddObj(GfoInvkAble invk, String key) {Add(key, invk, false);} diff --git a/100_core/src_410_gfoCfg/gplx/GfoRegy.java b/100_core/src_410_gfoCfg/gplx/GfoRegy.java index 3e4f95ae9..8b78c0407 100644 --- a/100_core/src_410_gfoCfg/gplx/GfoRegy.java +++ b/100_core/src_410_gfoCfg/gplx/GfoRegy.java @@ -21,7 +21,7 @@ public class GfoRegy implements GfoInvkAble { 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.Get_by(key); if (rv == null) throw Exc_.new_("regy does not have key", "key", key); + GfoRegyItm rv = (GfoRegyItm)hash.Get_by(key); if (rv == null) throw Err_.new_wo_type("regy does not have key", "key", key); return rv.Val(); } public Object FetchValOrNull(String key) {return FetchValOr(key, null);} @@ -40,18 +40,18 @@ public class GfoRegy implements GfoInvkAble { if (String_.EqNot(chopBgn, "")) { pos = String_.FindFwd(key, chopBgn); if (pos == String_.Len(key) - 1) - throw Exc_.new_(Err_ChopBgn, "key", key, "chopBgn", chopBgn); + throw Err_.new_wo_type(Err_ChopBgn, "key", key, "chopBgn", chopBgn); else if (pos != String_.Find_none) key = String_.Mid(key, pos + 1); } if (String_.EqNot(chopEnd, "")) { pos = String_.FindBwd(key, chopEnd); if (pos == 0) - throw Exc_.new_(Err_ChopEnd, "key", key, "chopEnd", chopEnd); + throw Err_.new_wo_type(Err_ChopEnd, "key", key, "chopEnd", chopEnd); else if (pos != String_.Find_none) key = String_.MidByLen(key, 0, pos); } - if (hash.Has(key)) throw Exc_.new_(Err_Dupe, "key", key, "filUrl", filUrl); + if (hash.Has(key)) throw Err_.new_wo_type(Err_Dupe, "key", key, "filUrl", filUrl); RegItm(key, null, GfoRegyItm.ValType_Url, filUrl); } } @@ -59,7 +59,7 @@ public class GfoRegy implements GfoInvkAble { Object o = val; if (String_.EqNot(type, StringClassXtn.Key_const)) { ParseAble parser = (ParseAble)parsers.Get_by(type); - if (parser == null) throw Exc_.new_("could not find parser", "type", type, "key", key, "val", val); + if (parser == null) throw Err_.new_wo_type("could not find parser", "type", type, "key", key, "val", val); o = parser.ParseAsObj(val); } RegItm(key, o, GfoRegyItm.ValType_Obj, Io_url_.Empty); diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg.java index 8563adbb3..59d0ddf3c 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg.java @@ -22,7 +22,7 @@ public interface Gfo_usr_dlg extends Cancelable { Gfo_usr_dlg__gui Gui_wkr(); void Gui_wkr_(Gfo_usr_dlg__gui v); String Log_many(String grp_key, String msg_key, String fmt, Object... args); String Warn_many(String grp_key, String msg_key, String fmt, Object... args); - Exc Fail_many(String grp_key, String msg_key, String fmt, Object... args); + Err Fail_many(String grp_key, String msg_key, String fmt, Object... args); String Prog_many(String grp_key, String msg_key, String fmt, Object... args); String Prog_none(String grp_key, String msg_key, String fmt); String Note_many(String grp_key, String msg_key, String fmt, Object... args); diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_.java index b46eaee7e..d264b11ae 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_.java @@ -33,7 +33,7 @@ class Gfo_usr_dlg_noop implements Gfo_usr_dlg { public Gfo_usr_dlg__gui Gui_wkr() {return Gfo_usr_dlg__gui_.Noop;} public void Gui_wkr_(Gfo_usr_dlg__gui v) {} public String Log_many(String grp_key, String msg_key, String fmt, Object... args) {return "";} public String Warn_many(String grp_key, String msg_key, String fmt, Object... args) {return "";} - public Exc Fail_many(String grp_key, String msg_key, String fmt, Object... args) {return Exc_.new_(fmt);} + public Err Fail_many(String grp_key, String msg_key, String fmt, Object... args) {return Err_.new_wo_type(fmt);} public String Prog_many(String grp_key, String msg_key, String fmt, Object... args) {return "";} public String Prog_none(String grp_key, String msg_key, String fmt) {return "";} public String Note_many(String grp_key, String msg_key, String fmt, Object... args) {return "";} diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_.java index 8d54f6543..572a68fc4 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg__gui_.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; -import gplx.core.strings.*; +import gplx.core.consoles.*; import gplx.core.strings.*; public class Gfo_usr_dlg__gui_ { public static final Gfo_usr_dlg__gui Noop = new Gfo_usr_dlg__gui_noop(); public static final Gfo_usr_dlg__gui Console = new Gfo_usr_dlg__gui_console(); @@ -33,9 +33,9 @@ class Gfo_usr_dlg__gui_noop implements Gfo_usr_dlg__gui { class Gfo_usr_dlg__gui_console implements Gfo_usr_dlg__gui { public void Clear() {} public String_ring Prog_msgs() {return ring;} String_ring ring = new String_ring().Max_(0); - public void Write_prog(String text) {console.WriteTempText(text);} - public void Write_note(String text) {console.WriteLine(text);} - public void Write_warn(String text) {console.WriteLine(text);} - public void Write_stop(String text) {console.WriteLine(text);} - ConsoleAdp console = ConsoleAdp._; + public void Write_prog(String text) {console.Write_tmp(text);} + public void Write_note(String text) {console.Write_str_w_nl(text);} + public void Write_warn(String text) {console.Write_str_w_nl(text);} + public void Write_stop(String text) {console.Write_str_w_nl(text);} + Console_adp__sys console = Console_adp__sys.I; } 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 3882dd54a..61693fb0f 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 @@ -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; -import gplx.core.strings.*; +import gplx.core.strings.*; import gplx.core.consoles.*; 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; @@ -81,7 +81,7 @@ public class Gfo_usr_dlg__log_base implements Gfo_usr_dlg__log { Log_msg(session_fil, line); Log_msg(err_fil, line); } - catch (Exception e) {Exc_.Noop(e);} // java.lang.StringBuilder can throw exceptions in some situations when called on a different thread; ignore errors + catch (Exception e) {Err_.Noop(e);} // java.lang.StringBuilder can throw exceptions in some situations when called on a different thread; ignore errors } private String_bldr sb = String_bldr_.new_thread(); // NOTE: use java.lang.StringBuffer to try to avoid random exceptions when called on a different thread private String Bld_msg(String s) {return sb.Add(DateAdp_.Now().XtoUtc().XtoStr_fmt_yyyyMMdd_HHmmss_fff()).Add(" ").Add(s).Add_char_nl().Xto_str_and_clear();} private void Log_msg(Io_url url, String txt) { @@ -117,7 +117,7 @@ class Usr_log_fil { Io_mgr.I.AppendFilStr(url, sb.Xto_str_and_clear()); } catch (Exception e) { - ConsoleAdp._.WriteLine(Err_.Message_gplx_brief(e)); + Console_adp__sys.I.Write_str_w_nl(Err_.Message_gplx_full(e)); } } } diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_base.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_base.java index 98ac64d79..414981426 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_base.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_base.java @@ -38,9 +38,9 @@ public class Gfo_usr_dlg_base implements Gfo_usr_dlg { String rv = Log_many(grp_key, msg_key, fmt, args); return Prog_direct(rv); } - public Exc Fail_many(String grp_key, String msg_key, String fmt, Object... args) { - Exc rv = Exc_.new_(Bld_msg_many(grp_key, msg_key, fmt, args)); - log_wkr.Log_to_err(rv.To_str_all()); + public Err Fail_many(String grp_key, String msg_key, String fmt, Object... args) { + Err rv = Err_.new_wo_type(Bld_msg_many(grp_key, msg_key, fmt, args)); + log_wkr.Log_to_err(rv.To_str__full()); return rv; } private String Bld_msg_many(String grp_key, String msg_key, String fmt, Object[] args) { diff --git a/100_core/src_420_usrMsg/gplx/UsrDlg.java b/100_core/src_420_usrMsg/gplx/UsrDlg.java index 113713f8b..232a9baee 100644 --- a/100_core/src_420_usrMsg/gplx/UsrDlg.java +++ b/100_core/src_420_usrMsg/gplx/UsrDlg.java @@ -44,7 +44,7 @@ public class UsrDlg { if (type == UsrMsgWkr_.Type_Note) return noteWkrs; else if (type == UsrMsgWkr_.Type_Warn) return warnWkrs; else if (type == UsrMsgWkr_.Type_Stop) return stopWkrs; - else throw Exc_.new_unhandled(type); + else throw Err_.new_unhandled(type); } UsrMsgWkrList noteWkrs = new UsrMsgWkrList(UsrMsgWkr_.Type_Note), warnWkrs = new UsrMsgWkrList(UsrMsgWkr_.Type_Warn), stopWkrs = new UsrMsgWkrList(UsrMsgWkr_.Type_Stop); public static UsrDlg new_() {return new UsrDlg();} diff --git a/100_core/src_420_usrMsg/gplx/UsrMsgWkr_console.java b/100_core/src_420_usrMsg/gplx/UsrMsgWkr_console.java index 7ba18b027..77a92631e 100644 --- a/100_core/src_420_usrMsg/gplx/UsrMsgWkr_console.java +++ b/100_core/src_420_usrMsg/gplx/UsrMsgWkr_console.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx; +import gplx.core.consoles.*; public class UsrMsgWkr_console implements UsrMsgWkr { public void ExecUsrMsg(int type, UsrMsg umsg) { String text = umsg.XtoStr(); @@ -23,7 +24,7 @@ public class UsrMsgWkr_console implements UsrMsgWkr { text = "!!!!" + text; else if (type == UsrMsgWkr_.Type_Stop) text = "****" + text; - ConsoleAdp._.WriteText(text); + Console_adp__sys.I.Write_str(text); } public static void RegAll(UsrDlg dlg) { UsrMsgWkr wkr = new UsrMsgWkr_console(); diff --git a/100_core/src_800_tst/gplx/Tfds.java b/100_core/src_800_tst/gplx/Tfds.java index 1d15aa522..c7ac2323c 100644 --- a/100_core/src_800_tst/gplx/Tfds.java +++ b/100_core/src_800_tst/gplx/Tfds.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; -import gplx.core.strings.*; +import gplx.core.strings.*; import gplx.core.consoles.*; public class Tfds { // URL:doc/gplx.tfds/Tfds.txt public static boolean SkipDb = false; public static void Eq(Object expd, Object actl) {Eq_wkr(expd, actl, true, EmptyStr);} @@ -36,8 +36,8 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt public static void Eq_str_lines(String lhs, String rhs) {Eq_str_lines(lhs, rhs, EmptyStr);} public static void Eq_str_lines(String lhs, String rhs, String note) { if (lhs == null && rhs == null) return; // true - else if (lhs == null) throw Exc_.new_("lhs is null", "note", note); - else if (rhs == null) throw Exc_.new_("rhs is null", "note", note); + else if (lhs == null) throw Err_.new_wo_type("lhs is null", "note", note); + else if (rhs == null) throw Err_.new_wo_type("rhs is null", "note", note); else Eq_ary_wkr(String_.Split(lhs, Char_.NewLine), String_.Split(rhs, Char_.NewLine), false, note); } public static void Eq(Object expd, Object actl, String fmt, Object... args) {Eq_wkr(expd, actl, true, String_.Format(fmt, args));} @@ -66,13 +66,13 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt else actl = lhs.Eq(rhs); if (expd == actl) return; String msg = msgBldr.Eq_xtoStr(lhs, rhs, customMsg); - throw Exc_.new_(msg); + throw Err_.new_wo_type(msg); } static void Eq_wkr(Object lhs, Object rhs, boolean expd, String customMsg) { boolean actl = Object_.Eq(lhs, rhs); if (expd == actl) return; String msg = msgBldr.Eq_xtoStr(lhs, rhs, customMsg); - throw Exc_.new_(msg); + throw Err_.new_wo_type(msg); } static void Eq_ary_wkr(Object lhsAry, Object rhsAry, boolean compareUsingEquals, String customMsg) { List_adp list = List_adp_.new_(); boolean pass = true; @@ -95,7 +95,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt } if (pass) return; String msg = msgBldr.Eq_ary_xtoStr(list, lhsLen, rhsLen, customMsg); - throw Exc_.new_(msg); + throw Err_.new_wo_type(msg); } static void Eq_list_wkr(List_adp lhsList, List_adp rhsList, TfdsEqListItmStr xtoStr, String customMsg) { List_adp list = List_adp_.new_(); boolean pass = true; @@ -117,7 +117,7 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt } if (pass) return; String msg = msgBldr.Eq_ary_xtoStr(list, lhsLen, rhsLen, customMsg); - throw Exc_.new_(msg); + throw Err_.new_wo_type(msg); } 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); @@ -125,24 +125,13 @@ public class Tfds { // URL:doc/gplx.tfds/Tfds.txt } public static void Err_classMatch(Exception exc, Class type) { boolean match = ClassAdp_.Eq_typeSafe(exc, type); - if (!match) throw Exc_.new_w_type("Tfds", "error types do not match", "expdType", ClassAdp_.FullNameOf_type(type), "actlType", ClassAdp_.NameOf_obj(exc), "actlMsg", Err_.Message_lang(exc)); + if (!match) throw Err_.new_("Tfds", "error types do not match", "expdType", ClassAdp_.FullNameOf_type(type), "actlType", ClassAdp_.NameOf_obj(exc), "actlMsg", Err_.Message_lang(exc)); } public static void Eq_err(Err expd, Exception actlExc) { - Tfds.Eq(XtoStr_Err(expd), XtoStr_Err(actlExc)); + Tfds.Eq(Err_.Message_gplx_full(expd), Err_.Message_gplx_full(actlExc)); } public static void Err_has(Exception e, String hdr) { - Tfds.Eq_true(String_.Has(Err_.Message_gplx_brief(e), hdr), "could not find '{0}' in '{1}'", hdr, Err_.Message_gplx_brief(e)); - } - static String XtoStr_Err(Exception e) { - Err err = Err_.as_(e); if (err == null) return Err_.Message_lang(e); - String_bldr sb = String_bldr_.new_(); - sb.Add(err.Hdr()).Add(":"); - for (Object kvo : err.Args()) { - KeyVal kv = (KeyVal)kvo; - if (sb.Count() != 0) sb.Add(" "); - sb.Add_fmt("{0}={1}", kv.Key(), kv.Val()); - } - return sb.XtoStr(); + Tfds.Eq_true(String_.Has(Err_.Message_gplx_full(e), hdr), "could not find '{0}' in '{1}'", hdr, Err_.Message_gplx_full(e)); } static final String EmptyStr = TfdsMsgBldr.EmptyStr; static TfdsMsgBldr msgBldr = TfdsMsgBldr.new_(); @@ -159,7 +148,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 WriteText(String text) {Console_adp__sys.I.Write_str(text);} public static void Write_bry(byte[] ary) {Write(String_.new_u8(ary));} public static void Write() {Write("tmp");} public static void Write(Object... ary) { diff --git a/100_core/src_900_xml/gplx/Base85_utl.java b/100_core/src_900_xml/gplx/Base85_utl.java index b9a014736..95d25e9fe 100644 --- a/100_core/src_900_xml/gplx/Base85_utl.java +++ b/100_core/src_900_xml/gplx/Base85_utl.java @@ -58,7 +58,7 @@ public class Base85_utl { if (v == 0) return 1; for (int i = Pow85Last; i > -1; i--) if (v >= Pow85[i]) return i + 1; - throw Exc_.new_("neg number not allowed", "v", v); + throw Err_.new_wo_type("neg number not allowed", "v", v); } static int[] Pow85 = new int[]{1, 85, 7225, 614125, 52200625}; // NOTE: ary constructed to match index to exponent; Pow85[1] = 85^1 static final int Pow85Last = 4, Radix = 85; static final byte AsciiOffset = 33; diff --git a/100_core/src_900_xml/gplx/xmls/XmlAtrList.java b/100_core/src_900_xml/gplx/xmls/XmlAtrList.java index 3553fab23..593ab3f61 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlAtrList.java +++ b/100_core/src_900_xml/gplx/xmls/XmlAtrList.java @@ -25,7 +25,7 @@ public class XmlAtrList { return (xatr == null) ? or : xatr.getNodeValue(); } public XmlAtr Fetch(String key) { - Node xatr = list.getNamedItem(key); if (xatr == null) throw Err_arg.notFound_key_("key", key); + Node xatr = list.getNamedItem(key); if (xatr == null) throw Err_.new_missing_key(key); return new XmlAtr(xatr); } public XmlAtr Fetch_or_null(String key) { diff --git a/100_core/src_900_xml/gplx/xmls/XmlDoc_.java b/100_core/src_900_xml/gplx/xmls/XmlDoc_.java index 05eba9976..81c8265ac 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlDoc_.java +++ b/100_core/src_900_xml/gplx/xmls/XmlDoc_.java @@ -39,13 +39,13 @@ public class XmlDoc_ { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder bldr = null; try {bldr = factory.newDocumentBuilder();} - catch (ParserConfigurationException e) {throw Exc_.new_exc(e, "xml", "failed to create newDocumentBuilder");} + catch (ParserConfigurationException e) {throw Err_.new_exc(e, "xml", "failed to create newDocumentBuilder");} StringReader reader = new StringReader(raw); InputSource source = new InputSource(reader); Document doc = null; try {doc = bldr.parse(source);} - catch (SAXException e) {throw Exc_.new_exc(e, "xml", "failed to parse xml", "raw", raw);} - catch (IOException e) {throw Exc_.new_exc(e, "xml", "failed to parse xml", "raw", raw);} + catch (SAXException e) {throw Err_.new_exc(e, "xml", "failed to parse xml", "raw", raw);} + catch (IOException e) {throw Err_.new_exc(e, "xml", "failed to parse xml", "raw", raw);} return doc; } public static final String Err_XmlException = "gplx.xmls.XmlException"; diff --git a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java index 734b5bfaf..8594f96c5 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java +++ b/100_core/src_900_xml/gplx/xmls/XmlFileSplitter.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xmls; import gplx.*; +import gplx.core.consoles.*; import gplx.ios.*; import gplx.texts.*; public class XmlFileSplitter { @@ -33,7 +34,7 @@ public class XmlFileSplitter { // split hdr: includes , xmlNamespaces, and any DTD headers; will be prepended to each partFile rdr.Read(); - int findPos = FindMatchPos(rdr.CurAry(), nameAry); if (findPos == String_.Find_none) throw Exc_.new_("could not find any names in first segment"); + int findPos = FindMatchPos(rdr.CurAry(), nameAry); if (findPos == String_.Find_none) throw Err_.new_wo_type("could not find any names in first segment"); byte[] dataAry = SplitHdr(rdr.CurAry(), findPos); if (opts.XmlBgn() != null) hdr = Bry_.new_u8(opts.XmlBgn()); @@ -46,7 +47,7 @@ public class XmlFileSplitter { XmlSplitWtr partWtr = new XmlSplitWtr().Init_(partDir, hdr, opts); while (true) { partWtr.Bgn(partIdx++); - if (opts.StatusFmt() != null) ConsoleAdp._.WriteLine(String_.Format(opts.StatusFmt(), partWtr.Url().NameOnly())); + if (opts.StatusFmt() != null) Console_adp__sys.I.Write_str_w_nl(String_.Format(opts.StatusFmt(), partWtr.Url().NameOnly())); partWtr.Write(tempAry); if (!first) { rdr.Read(); diff --git a/100_core/src_900_xml/gplx/xmls/XmlNde.java b/100_core/src_900_xml/gplx/xmls/XmlNde.java index 3d70ff751..6b345988b 100644 --- a/100_core/src_900_xml/gplx/xmls/XmlNde.java +++ b/100_core/src_900_xml/gplx/xmls/XmlNde.java @@ -33,7 +33,7 @@ public class XmlNde { Transformer transformer = transformer_(); StringWriter writer = new StringWriter(); try {transformer.transform(new DOMSource(xnde), new StreamResult(writer));} - catch (TransformerException e) {throw Exc_.new_exc(e, "xml", "failed to get xml string");} + catch (TransformerException e) {throw Err_.new_exc(e, "xml", "failed to get xml string");} return writer.toString(); } public String Text_inner() {return xnde.getTextContent();} @@ -44,7 +44,7 @@ public class XmlNde { TransformerFactory transformerfactory = TransformerFactory.newInstance(); Transformer transformer = null; try {transformer = transformerfactory.newTransformer();} - catch (TransformerConfigurationException e) {throw Exc_.new_exc(e, "xml", "failed to get create transformer");} + catch (TransformerConfigurationException e) {throw Err_.new_exc(e, "xml", "failed to get create transformer");} transformer.setOutputProperty("omit-xml-declaration", "yes"); return transformer; } diff --git a/100_core/src_900_xml/gplx/xmls/Xpath_.java b/100_core/src_900_xml/gplx/xmls/Xpath_.java index 671120ef9..2f9129f5f 100644 --- a/100_core/src_900_xml/gplx/xmls/Xpath_.java +++ b/100_core/src_900_xml/gplx/xmls/Xpath_.java @@ -59,7 +59,7 @@ public class Xpath_ { public static final String InnetTextKey = "&innerText"; public static KeyValHash ExtractKeyVals(String xml, Int_obj_ref posRef, String nodeName) { int pos = posRef.Val(); - Exc xmlErr = Exc_.new_("error parsing xml", "xml", xml, "pos", pos); + Err xmlErr = Err_.new_wo_type("error parsing xml", "xml", xml, "pos", pos); String headBgnFind = "<" + nodeName + " "; int headBgnFindLen = String_.Len(headBgnFind); int headBgn = String_.FindFwd(xml, headBgnFind, pos); if (headBgn == String_.Find_none) return null; int headEnd = String_.FindFwd(xml, ">", headBgn + headBgnFindLen); if (headEnd == String_.Find_none) throw xmlErr; @@ -67,14 +67,14 @@ public class Xpath_ { KeyValHash rv = ExtractNodeVals(atrXml, xmlErr); boolean noInnerText = String_.CharAt(xml, headEnd - 1) == '/'; // if />, then no inner text if (!noInnerText) { - int tail = String_.FindFwd(xml, "", headBgn); if (tail == String_.Find_none) throw Exc_.new_("could not find tailPos", "headBgn", headBgn); + int tail = String_.FindFwd(xml, "", headBgn); if (tail == String_.Find_none) throw Err_.new_wo_type("could not find tailPos", "headBgn", headBgn); String innerText = String_.Mid(xml, headEnd + 1, tail); rv.Add(InnetTextKey, innerText); } posRef.Val_(headEnd); return rv; } - static KeyValHash ExtractNodeVals(String xml, Exc xmlErr) { + static KeyValHash ExtractNodeVals(String xml, Err xmlErr) { KeyValHash rv = KeyValHash.new_(); int pos = 0; while (true) { diff --git a/100_core/tst/gplx/TfdsTstr_fxt.java b/100_core/tst/gplx/TfdsTstr_fxt.java index 86c351958..5fca0bc4e 100644 --- a/100_core/tst/gplx/TfdsTstr_fxt.java +++ b/100_core/tst/gplx/TfdsTstr_fxt.java @@ -64,7 +64,7 @@ public class TfdsTstr_fxt { sb.Add_fmt_line("{0}{1} {2}", errorKey, String_.PadEnd("", nameLenMax, " "), itm.Actl()); } sb.Add(String_.Repeat("_", 80)); - throw Exc_.new_(sb.XtoStr()); + throw Err_.new_wo_type(sb.XtoStr()); } List_adp list = List_adp_.new_(); public static TfdsTstr_fxt new_() {return new TfdsTstr_fxt();} TfdsTstr_fxt() {} 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 4bd5bc4fa..6e4c0524b 100644 --- a/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java +++ b/100_core/tst/gplx/ios/IoEngine_dir_deep_base.java @@ -83,7 +83,7 @@ public abstract class IoEngine_dir_deep_base { // fx.tst_ExistsPaths(true, trgTree); // } // @Test public virtual void ProgressUi() { -// ConsoleDlg_dev dialog = ConsoleDlg_dev.new_(); +// Console_adp__mem dialog = Console_adp__mem.new_(); // engine.SearchDir(src).Recur_().Prog_(dialog).ExecAsDir(); // // Tfds.Eq(dialog.Written.Count, 3); // 3 levels @@ -91,7 +91,7 @@ public abstract class IoEngine_dir_deep_base { // tst_(dialog, 1, "scan", src_dir0a); // tst_(dialog, 2, "scan", src_dir0a_dir0a); // } -// void tst_(ConsoleDlg_dev dialog, int i, String s, Io_url root) { +// void tst_(Console_adp__mem dialog, int i, String s, Io_url root) { // Object o = dialog.Written.Get_at(i); // IoStatusArgs args = (IoStatusArgs)o; // Tfds.Eq(s, args.Op); 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 c244aef7e..d6e1f20b6 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_basic_base.java @@ -74,7 +74,7 @@ public abstract class IoEngine_fil_basic_base { try {fx.run_SaveFilText(fil, "changed");} catch (Exception exc) { fx.tst_LoadFilStr(fil, "text"); - Exc_.Noop(exc); + Err_.Noop(exc); return; } Tfds.Fail_expdError(); @@ -111,7 +111,7 @@ public abstract class IoEngine_fil_basic_base { engine.UpdateFilAttrib(fil, IoItmAttrib.readOnly_()); try {engine.DeleteFil_api(IoEngine_xrg_deleteFil.new_(fil));} - catch (Exception exc) {Exc_.Noop(exc); + catch (Exception exc) {Err_.Noop(exc); fx.tst_ExistsPaths(true, fil); return; } diff --git a/100_core/tst/gplx/ios/IoEngine_fil_xfer_base.java b/100_core/tst/gplx/ios/IoEngine_fil_xfer_base.java index 746cb29f1..8729f870a 100644 --- a/100_core/tst/gplx/ios/IoEngine_fil_xfer_base.java +++ b/100_core/tst/gplx/ios/IoEngine_fil_xfer_base.java @@ -43,7 +43,7 @@ public abstract class IoEngine_fil_xfer_base { fx.run_SaveFilText(trg, "trg"); try {IoEngine_xrg_xferFil.copy_(src, trg).Exec();} - catch (Exception exc) {Exc_.Noop(exc); + catch (Exception exc) {Err_.Noop(exc); fx.tst_ExistsPaths(true, src, trg); fx.tst_LoadFilStr(trg, "trg"); return; @@ -73,7 +73,7 @@ public abstract class IoEngine_fil_xfer_base { fx.run_SaveFilText(trg, "trg"); try {IoEngine_xrg_xferFil.move_(src, trg).Exec();} - catch (Exception exc) {Exc_.Noop(exc); + catch (Exception exc) {Err_.Noop(exc); fx.tst_ExistsPaths(true, src); fx.tst_ExistsPaths(true, trg); fx.tst_LoadFilStr(trg, "trg"); diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java index 781832fb8..1a7baa476 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java @@ -31,7 +31,7 @@ public class GfmlLxr_ { public static final GfmlLxr Null = new GfmlLxr_null(); public static final String CmdTknChanged_evt = "Changed"; public static GfmlLxr as_(Object obj) {return obj instanceof GfmlLxr ? (GfmlLxr)obj : null;} - public static GfmlLxr cast_(Object obj) {try {return (GfmlLxr)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfmlLxr.class, obj);}} + public static GfmlLxr cast_(Object obj) {try {return (GfmlLxr)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfmlLxr.class, obj);}} } class GfmlLxr_null implements GfmlLxr { public String Key() {return "gfml.nullLxr";} @@ -95,7 +95,7 @@ class GfmlLxr_group implements GfmlLxr { } public GfmlLxr SubLxr() {throw Err_sublxr();} public void SubLxr_Add(GfmlLxr... lexer) {throw Err_sublxr();} - Exc Err_sublxr() {return Exc_.new_unimplemented_w_msg("group lxr does not have subLxrs", "key", key, "output_tkn", outputTkn.Raw()).Stack_erase_1_();} + Err Err_sublxr() {return Err_.new_unimplemented_w_msg("group lxr does not have subLxrs", "key", key, "output_tkn", outputTkn.Raw()).Trace_ignore_add_1_();} GfmlTrie trie = GfmlTrie.new_(); String_bldr sb = String_bldr_.new_(); boolean ignoreOutput; public static GfmlLxr_group new_(String key, String[] hooks, GfmlTkn outputTkn, boolean ignoreOutput) { GfmlLxr_group rv = new GfmlLxr_group(); @@ -213,5 +213,5 @@ class GfmlLxr_frame extends GfmlLxr_singleton { GfmlFrame frame; GfmlLxr endLxr return rv; } GfmlLxr_frame() {} public static GfmlLxr_frame as_(Object obj) {return obj instanceof GfmlLxr_frame ? (GfmlLxr_frame)obj : null;} - public static GfmlLxr_frame cast_(Object obj) {try {return (GfmlLxr_frame)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfmlLxr_frame.class, obj);}} + public static GfmlLxr_frame cast_(Object obj) {try {return (GfmlLxr_frame)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfmlLxr_frame.class, obj);}} } diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java index 640ac8a27..24cffa73c 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn_.java @@ -60,6 +60,6 @@ class GfmlTkn_composite implements GfmlTkn { public String Val() {return GfmlTknAry_.XtoVal(ary);} public GfmlBldrCmd Cmd_of_Tkn() {return GfmlBldrCmd_.Null;} public GfmlTkn[] SubTkns() {return ary;} GfmlTkn[] ary; - public GfmlTkn MakeNew(String rawNew, String valNew) {throw Exc_.new_unimplemented_w_msg(".MakeNew cannot be invoked on GfmlTkn_composite (raw is available, but not val)", "tknType", tknType, "rawNew", rawNew, "valNew", valNew);} + public GfmlTkn MakeNew(String rawNew, String valNew) {throw Err_.new_unimplemented_w_msg(".MakeNew cannot be invoked on GfmlTkn_composite (raw is available, but not val)", "tknType", tknType, "rawNew", rawNew, "valNew", valNew);} @gplx.Internal protected GfmlTkn_composite(String tknType, GfmlTkn[] ary) {this.tknType = tknType; this.ary = ary;} } diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java index 83858ba79..b39b47644 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlTrie.java @@ -48,7 +48,7 @@ public class GfmlTrie { return result; } public void Add(String symbol, Object data) { - if (data == null) throw Exc_.new_("null objects cannot be registered", "symbol", symbol); + if (data == null) throw Err_.new_wo_type("null objects cannot be registered", "symbol", symbol); char[] ary = String_.XtoCharAry(symbol); int lastIndex = ary.length - 1; IntObjHash_base curLink = rootLink; diff --git a/110_gfml/src_100_tkn/gplx/gfml/IntObjHash.java b/110_gfml/src_100_tkn/gplx/gfml/IntObjHash.java index e431941dd..b7c173bba 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/IntObjHash.java +++ b/110_gfml/src_100_tkn/gplx/gfml/IntObjHash.java @@ -20,7 +20,7 @@ class IntObjHash_base { public int Count() {return count;} int count; public boolean Has(int key) {return Get_by(key) != null;} public Object Get_by(int key) { - if (key < 0) throw Exc_.new_("key must be >= 0", "key", key); + if (key < 0) throw Err_.new_wo_type("key must be >= 0", "key", key); if (key > maxKey) return null; Object[] subAry = FetchSubAry(key); return subAry == null ? null : subAry[subIdx]; @@ -40,8 +40,8 @@ class IntObjHash_base { maxKey = -1; } void PutObjAtKey(int key, Object obj, boolean isAdd) { - if (key < 0) throw Exc_.new_("key must be >= 0", "key", key); - if (obj == null) throw Exc_.new_("Object cannot be null; call .Del on key instead", "key", key); + if (key < 0) throw Err_.new_wo_type("key must be >= 0", "key", key); + if (obj == null) throw Err_.new_wo_type("Object cannot be null; call .Del on key instead", "key", key); if (key > maxKey) ExpandRootAry(key); Object[] subAry = FetchSubAry(key); if (subAry == null) { @@ -49,8 +49,8 @@ class IntObjHash_base { rootAry[rootIdx] = subAry; } Object curVal = subAry[subIdx]; - if ( isAdd && curVal != null) throw Exc_.new_(".Add cannot be called on non-null vals; call .Set instead", "key", key, "val", curVal); - if (!isAdd && curVal == null) throw Exc_.new_(".Set cannot be called on null vals; call .Add instead", "key", key); + if ( isAdd && curVal != null) throw Err_.new_wo_type(".Add cannot be called on non-null vals; call .Set instead", "key", key, "val", curVal); + if (!isAdd && curVal == null) throw Err_.new_wo_type(".Set cannot be called on null vals; call .Add instead", "key", key); subAry[subIdx] = obj; if (isAdd) count++; } diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlFldList.java b/110_gfml/src_200_type/gplx/gfml/GfmlFldList.java index 8b44d9592..a4358fc8a 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlFldList.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlFldList.java @@ -21,8 +21,8 @@ public class GfmlFldList { public GfmlFld Get_at(int index) {return (GfmlFld)hash.Get_at(index);} public GfmlFld Get_by(String id) {return (GfmlFld)hash.Get_by(id);} public void Add(GfmlFld fld) { - if (String_.Len_eq_0(fld.Name())) throw Exc_.new_("fld name cannot be null"); - if (hash.Has(fld.Name())) throw Exc_.new_("key already exists", "key", fld.Name()); // FIXME: commented out to allow multiple types with same name; need "_type:invk" + if (String_.Len_eq_0(fld.Name())) throw Err_.new_wo_type("fld name cannot be null"); + if (hash.Has(fld.Name())) throw Err_.new_wo_type("key already exists", "key", fld.Name()); // FIXME: commented out to allow multiple types with same name; need "_type:invk" hash.Add_if_dupe_use_nth(fld.Name(), fld); } public void Del(GfmlFld fld) { diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlTypeHash.java b/110_gfml/src_200_type/gplx/gfml/GfmlTypeHash.java index af5a93941..17872ec30 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlTypeHash.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlTypeHash.java @@ -19,8 +19,8 @@ package gplx.gfml; import gplx.*; class GfmlTypeHash { public GfmlType Get_by(String key) {return (GfmlType)hash.Get_by(key);} public void Add(GfmlType type) { - if (type.IsTypeNull()) throw Exc_.new_("cannot add null type to GfmlTypeHash"); - if (hash.Has(type.Key())) throw Exc_.new_("type key already exists", "key", type.Key()); + if (type.IsTypeNull()) throw Err_.new_wo_type("cannot add null type to GfmlTypeHash"); + if (hash.Has(type.Key())) throw Err_.new_wo_type("type key already exists", "key", type.Key()); hash.Add(type.Key(), type); } Hash_adp hash = Hash_adp_.new_(); @@ -30,7 +30,7 @@ class GfmlTypRegy { public boolean Has(String typeKey) {return hash.Has(typeKey);} public GfmlType FetchOrNull(String typeKey) {return FetchOrNull(typeKey, GfmlDocPos_.Root);} public GfmlType FetchOrNull(String typeKey, GfmlDocPos pos) { - if (typeKey == null) throw Exc_.new_("typeKey cannot be null when added to typRegy"); + if (typeKey == null) throw Err_.new_wo_type("typeKey cannot be null when added to typRegy"); GfmlType rv = (GfmlType)hash.Get_by(typeKey, pos); return rv == null ? GfmlType_.Null : rv; } diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlTypeMgr.java b/110_gfml/src_200_type/gplx/gfml/GfmlTypeMgr.java index 6f501d2c0..81cb5e819 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlTypeMgr.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlTypeMgr.java @@ -88,7 +88,7 @@ class GfmlTypeMgr { else typKey = ndeHnd; } - if (typKey == null) throw Exc_.new_("could not identity type for node", "ndeKey", ndeKey, "ndeHnd", ndeHnd, "typKey", nde.Type().Key()); + if (typKey == null) throw Err_.new_wo_type("could not identity type for node", "ndeKey", ndeKey, "ndeHnd", ndeHnd, "typKey", nde.Type().Key()); rv = typeRegy.FetchOrNull(typKey, nde.DocPos()); return (rv == GfmlType_.Null) ? GfmlType_.new_any_() // unknown typeKey; name is not known (see EX:2) -> create new anyType diff --git a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDoc_.java b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDoc_.java index a174c25f5..8540d0977 100644 --- a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDoc_.java +++ b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDoc_.java @@ -35,8 +35,8 @@ class GfmlUsrMsgs { um.Add("errorPos", bldr.StreamPos()); um.Add("errorHighlight", String_.CrLf + String_.Concat_lines_crlf(sh.Gen())); } - public static Exc gfmlParseError(GfmlBldr bldr) { - Exc rv = Exc_.new_("gfml parse error"); + public static Err gfmlParseError(GfmlBldr bldr) { + Err rv = Err_.new_wo_type("gfml parse error"); for (int i = 0; i < bldr.Doc().UsrMsgs().Count(); i++) { UsrMsg um = (UsrMsg)bldr.Doc().UsrMsgs().Get_at(i); rv.Args_add("err" + Int_.Xto_str(i), um.XtoStr()); diff --git a/110_gfml/src_300_gdoc/gplx/gfml/GfmlItmKeys.java b/110_gfml/src_300_gdoc/gplx/gfml/GfmlItmKeys.java index f9bbaffb3..3659ff394 100644 --- a/110_gfml/src_300_gdoc/gplx/gfml/GfmlItmKeys.java +++ b/110_gfml/src_300_gdoc/gplx/gfml/GfmlItmKeys.java @@ -27,7 +27,7 @@ public class GfmlItmKeys { } public String FetchDataOrNull(String key) {return FetchDataOr(key, null);} public String FetchDataOrFail(String key) { - GfmlAtr atr = FetchAtr(key); if (atr == null) throw Exc_.new_missing_key(key); + GfmlAtr atr = FetchAtr(key); if (atr == null) throw Err_.new_missing_key(key); return atr.DatTkn().Val(); } public GfmlTkn FetchDataTknOrNull(String key) { diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java index 4dbe0c5f0..376b1e28f 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaDefault.java @@ -32,7 +32,7 @@ class GfmlPragmaDefault implements GfmlPragma { return list; } @gplx.Internal protected void CompileSubNde(GfmlNde nde, List_adp list) { - String typeKey = nde.SubKeys().FetchDataOrNull("typeKey"); if (typeKey == null) throw Exc_.new_missing_key("typeKey"); + String typeKey = nde.SubKeys().FetchDataOrNull("typeKey"); if (typeKey == null) throw Err_.new_missing_key("typeKey"); for (int i = 0; i < nde.SubHnds().Count(); i++) { GfmlNde subNde = (GfmlNde)nde.SubHnds().Get_at(i); GfmlDefaultItem item = CompileItem(subNde, typeKey); @@ -96,7 +96,7 @@ class GfmlDefaultPragma_bgnCmd implements GfmlBldrCmd { GfmlDefaultItem item = (GfmlDefaultItem)itemObj; if (!String_.Eq(item.TypeKey(), type.Key())) { type = regy.FetchOrNull(item.TypeKey(), pos); - if (type == GfmlType_.Null) throw Exc_.new_("default type must exist", "typeKey", item.TypeKey()); + if (type == GfmlType_.Null) throw Err_.new_wo_type("default type must exist", "typeKey", item.TypeKey()); } type = type.Clone().DocPos_(pos); regy.Add(type); @@ -119,7 +119,7 @@ class GfmlDefaultPragma_endCmd implements GfmlBldrCmd { GfmlDefaultItem item = (GfmlDefaultItem)itemObj; if (!String_.Eq(item.TypeKey(), type.Key())) { type = regy.FetchOrNull(item.TypeKey()); - if (type == GfmlType_.Null) throw Exc_.new_("fatal: default type must exist", "typeKey", item.TypeKey()); + if (type == GfmlType_.Null) throw Err_.new_wo_type("fatal: default type must exist", "typeKey", item.TypeKey()); } item.Exec_end(type); } diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java index cf56fcf19..d212464cd 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlPragmaLxrFrm.java @@ -35,7 +35,7 @@ class GfmlPragmaLxrFrm implements GfmlPragma { bldr.Doc().RootLxr().SubLxr_Add(lxr); // FIXME: always add to cur lxr; should be outside if block; also, auto_add=n to skip adding to rootLxr } else { - GfmlLxr_frame frameLxr = GfmlLxr_frame.as_(lxr); if (frameLxr == null) throw Exc_.new_("lxr is not GfmlLxr_frame", "key", key, "type", ClassAdp_.NameOf_obj(lxr)); + GfmlLxr_frame frameLxr = GfmlLxr_frame.as_(lxr); if (frameLxr == null) throw Err_.new_wo_type("lxr is not GfmlLxr_frame", "key", key, "type", ClassAdp_.NameOf_obj(lxr)); if (type != null) { // frame = frameLxr.Frame.MakeNew(frameLxr); } diff --git a/110_gfml/src_400_pragma/gplx/gfml/GfmlVarTkn.java b/110_gfml/src_400_pragma/gplx/gfml/GfmlVarTkn.java index 55e3bcf9b..5bd322d9e 100644 --- a/110_gfml/src_400_pragma/gplx/gfml/GfmlVarTkn.java +++ b/110_gfml/src_400_pragma/gplx/gfml/GfmlVarTkn.java @@ -27,7 +27,7 @@ class GfmlVarTkn implements GfmlTkn { } String val; public GfmlBldrCmd Cmd_of_Tkn() {return GfmlBldrCmd_.Null;} public GfmlTkn[] SubTkns() {return ary;} GfmlTkn[] ary; - public GfmlTkn MakeNew(String rawNew, String valNew) {throw Exc_.new_invalid_op("makeNew cannot make copy of token with only raw").Args_add("key", key, "rawNew", rawNew, "valNew", valNew);} + public GfmlTkn MakeNew(String rawNew, String valNew) {throw Err_.new_invalid_op("makeNew cannot make copy of token with only raw").Args_add("key", key, "rawNew", rawNew, "valNew", valNew);} public String TknType() {return "evalTkn";} GfmlVarCtx ctx; String varKey; diff --git a/110_gfml/src_500_build/gplx/gfml/GfmlFrame_.java b/110_gfml/src_500_build/gplx/gfml/GfmlFrame_.java index 30aea4d33..e39a440a2 100644 --- a/110_gfml/src_500_build/gplx/gfml/GfmlFrame_.java +++ b/110_gfml/src_500_build/gplx/gfml/GfmlFrame_.java @@ -69,7 +69,7 @@ class GfmlFrame_eval extends GfmlFrame_base { static String[] ExtractContextKey(String raw) { String[] ary = String_.Split(raw, "."); if (ary.length == 2) return ary; // NOOP: elems already assigned; context = ary[0]; key = ary[1]; - if (ary.length > 2) throw Exc_.new_("invalid context key for eval frame; should have 0 or 1 dlms", "key", raw); + if (ary.length > 2) throw Err_.new_wo_type("invalid context key for eval frame; should have 0 or 1 dlms", "key", raw); String[] rv = new String[2]; rv[0] = GfmlVarCtx_.DefaultKey; rv[1] = ary[0]; diff --git a/110_gfml/src_600_rdrWtr/gplx/gfml/GfmlDataWtrOpts.java b/110_gfml/src_600_rdrWtr/gplx/gfml/GfmlDataWtrOpts.java index 65d2b9658..2ee7a7f8f 100644 --- a/110_gfml/src_600_rdrWtr/gplx/gfml/GfmlDataWtrOpts.java +++ b/110_gfml/src_600_rdrWtr/gplx/gfml/GfmlDataWtrOpts.java @@ -23,5 +23,5 @@ public class GfmlDataWtrOpts { public boolean IgnoreNullNames() {return ignoreNullNames;} public GfmlDataWtrOpts IgnoreNullNamesOn_() {ignoreNullNames = true; return this;} private boolean ignoreNullNames; public static final GfmlDataWtrOpts _ = new GfmlDataWtrOpts(); public static GfmlDataWtrOpts new_() {return new GfmlDataWtrOpts();} GfmlDataWtrOpts() {} - public static GfmlDataWtrOpts cast_(Object obj) {try {return (GfmlDataWtrOpts)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfmlDataWtrOpts.class, obj);}} + public static GfmlDataWtrOpts cast_(Object obj) {try {return (GfmlDataWtrOpts)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfmlDataWtrOpts.class, obj);}} } diff --git a/110_gfml/tst/gplx/gfml/z051_GfmlFldPool_keyed_tst.java b/110_gfml/tst/gplx/gfml/z051_GfmlFldPool_keyed_tst.java index b562a0ae7..e6ff3f8fc 100644 --- a/110_gfml/tst/gplx/gfml/z051_GfmlFldPool_keyed_tst.java +++ b/110_gfml/tst/gplx/gfml/z051_GfmlFldPool_keyed_tst.java @@ -50,7 +50,7 @@ public class z051_GfmlFldPool_keyed_tst { tst_Keyed_PopNext(fldPool, GfmlItmKeys.NullKey); Tfds.Fail("should have failed"); } - catch (Exception exc) {Exc_.Noop(exc);} + catch (Exception exc) {Err_.Noop(exc);} } @Test public void PopByKey_PopNext() { tst_Keyed_PopByKey(fldPool, "y", "y", "x", "z"); diff --git a/110_gfml/tst/gplx/gfml/z111_core_comment0_tst.java b/110_gfml/tst/gplx/gfml/z111_core_comment0_tst.java index 65031067b..a439d98e4 100644 --- a/110_gfml/tst/gplx/gfml/z111_core_comment0_tst.java +++ b/110_gfml/tst/gplx/gfml/z111_core_comment0_tst.java @@ -46,6 +46,6 @@ public class z111_core_comment0_tst { // fx.tst_Err("//", GfmlOutCmds.Frame_danglingBgn_Err_()); // Tfds.Fail_expdError(); // } -// catch (Exception exc) {Exc_.Noop(exc);} +// catch (Exception exc) {Err_.Noop(exc);} // } } diff --git a/140_dbs/src/gplx/dbs/Db_cmd_mode.java b/140_dbs/src/gplx/dbs/Db_cmd_mode.java index c0c9832e9..051236d00 100644 --- a/140_dbs/src/gplx/dbs/Db_cmd_mode.java +++ b/140_dbs/src/gplx/dbs/Db_cmd_mode.java @@ -36,7 +36,7 @@ public class Db_cmd_mode { case Tid_ignore: // must mark for update case Tid_update: // return self return Tid_update; - default: throw Exc_.new_unhandled(cur); + default: throw Err_.new_unhandled(cur); } } } diff --git a/140_dbs/src/gplx/dbs/Db_conn_info_.java b/140_dbs/src/gplx/dbs/Db_conn_info_.java index 561a5cad4..8d4e109c5 100644 --- a/140_dbs/src/gplx/dbs/Db_conn_info_.java +++ b/140_dbs/src/gplx/dbs/Db_conn_info_.java @@ -50,7 +50,7 @@ class Db_conn_info_pool { Db_conn_info prototype = (Db_conn_info)regy.Get_by(url_tid); return prototype.New_self(raw, m); } - catch(Exception exc) {throw Exc_.new_parse_exc(exc, Db_conn_info.class, raw);} + catch(Exception exc) {throw Err_.new_parse_exc(exc, Db_conn_info.class, raw);} } public static final Db_conn_info_pool _ = new Db_conn_info_pool(); } diff --git a/140_dbs/src/gplx/dbs/Db_conn_pool.java b/140_dbs/src/gplx/dbs/Db_conn_pool.java index 68fa79332..c4fbb7587 100644 --- a/140_dbs/src/gplx/dbs/Db_conn_pool.java +++ b/140_dbs/src/gplx/dbs/Db_conn_pool.java @@ -28,7 +28,7 @@ public class Db_conn_pool { public Db_conn Get_or_new(Db_conn_info url) { Db_conn rv = (Db_conn)conn_hash.Get_by(url.Xto_api()); if (rv == null) { - Db_engine prime = (Db_engine)engine_hash.Get_by(url.Tid()); if (prime == null) Exc_.new_("db engine prototype not found", "tid", url.Tid()); + Db_engine prime = (Db_engine)engine_hash.Get_by(url.Tid()); if (prime == null) Err_.new_wo_type("db engine prototype not found", "tid", url.Tid()); Db_engine clone = prime.New_clone(url); rv = new Db_conn(clone); conn_hash.Add(url.Xto_api(), rv); diff --git a/140_dbs/src/gplx/dbs/Db_rdr__basic.java b/140_dbs/src/gplx/dbs/Db_rdr__basic.java index 3ff8b159c..fd3b87b4c 100644 --- a/140_dbs/src/gplx/dbs/Db_rdr__basic.java +++ b/140_dbs/src/gplx/dbs/Db_rdr__basic.java @@ -24,23 +24,23 @@ public class Db_rdr__basic implements Db_rdr { public String Sql() {return sql;} private String sql; public boolean Move_next() { try {return rdr.next();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "move_next failed; check column casting error in SQL", "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "move_next failed; check column casting error in SQL", "sql", sql);} } - @gplx.Virtual public byte[] Read_bry(String k) {try {return (byte[])rdr.getObject(k);} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Bry_.Cls_val_name);}} - @gplx.Virtual public byte[] Read_bry_by_str(String k) {try {return Bry_.new_u8((String)rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", String_.Cls_val_name);}} - @gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Exc_.new_unimplemented();} - @gplx.Virtual public String Read_str(String k) {try {return (String)rdr.getObject(k);} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", String_.Cls_val_name);}} + @gplx.Virtual public byte[] Read_bry(String k) {try {return (byte[])rdr.getObject(k);} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Bry_.Cls_val_name);}} + @gplx.Virtual public byte[] Read_bry_by_str(String k) {try {return Bry_.new_u8((String)rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", String_.Cls_val_name);}} + @gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Err_.new_unimplemented();} + @gplx.Virtual public String Read_str(String k) {try {return (String)rdr.getObject(k);} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", String_.Cls_val_name);}} @gplx.Virtual public DateAdp Read_date_by_str(String k) {return DateAdp_.parse_iso8561(Read_str(k));} - @gplx.Virtual public int Read_int(String k) {try {return Int_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Int_.Cls_val_name);}} - @gplx.Virtual public long Read_long(String k) {try {return Long_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Long_.Cls_val_name);}} - @gplx.Virtual public float Read_float(String k) {try {return Float_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Float_.Cls_val_name);}} - @gplx.Virtual public double Read_double(String k) {try {return Double_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Double_.Cls_val_name);}} - @gplx.Virtual public byte Read_byte(String k) {try {return Byte_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Byte_.Cls_val_name);}} - @gplx.Virtual public boolean Read_bool_by_byte(String k) {try {return Byte_.cast_(rdr.getObject(k)) == 1;} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Bool_.Cls_val_name);}} - @gplx.Virtual public Object Read_obj(String k) {try {return rdr.getObject(k);} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "key", k, "type", Object_.Cls_val_name);}} + @gplx.Virtual public int Read_int(String k) {try {return Int_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Int_.Cls_val_name);}} + @gplx.Virtual public long Read_long(String k) {try {return Long_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Long_.Cls_val_name);}} + @gplx.Virtual public float Read_float(String k) {try {return Float_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Float_.Cls_val_name);}} + @gplx.Virtual public double Read_double(String k) {try {return Double_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Double_.Cls_val_name);}} + @gplx.Virtual public byte Read_byte(String k) {try {return Byte_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Byte_.Cls_val_name);}} + @gplx.Virtual public boolean Read_bool_by_byte(String k) {try {return Byte_.cast_(rdr.getObject(k)) == 1;} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Bool_.Cls_val_name);}} + @gplx.Virtual public Object Read_obj(String k) {try {return rdr.getObject(k);} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "key", k, "type", Object_.Cls_val_name);}} @gplx.Virtual public void Rls() { try {rdr.close();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "close failed");} + catch (Exception e) {throw Err_.new_exc(e, "db", "close failed");} if (stmt != null) stmt.Rls(); } } diff --git a/140_dbs/src/gplx/dbs/Db_stmt_.java b/140_dbs/src/gplx/dbs/Db_stmt_.java index 2b23fd59d..c24344c20 100644 --- a/140_dbs/src/gplx/dbs/Db_stmt_.java +++ b/140_dbs/src/gplx/dbs/Db_stmt_.java @@ -49,10 +49,10 @@ public class Db_stmt_ { return conn.Stmt_new(Db_qry_sql.rdr_(sql)); } public static Err err_(Exception e, Db_stmt stmt, String proc) { - throw Exc_.new_exc(e, "db", "db stmt failed", "proc", proc); + throw Err_.new_exc(e, "db", "db stmt failed", "proc", proc); } public static Err err_(Exception e, String tbl, String proc) { - throw Exc_.new_exc(e, "core", "db call failed", "tbl", tbl, "proc", proc); + throw Err_.new_exc(e, "core", "db call failed", "tbl", tbl, "proc", proc); } public static Db_stmt Rls(Db_stmt v) {if (v != null) v.Rls(); return null;} } diff --git a/140_dbs/src/gplx/dbs/Db_stmt_bldr.java b/140_dbs/src/gplx/dbs/Db_stmt_bldr.java index 619b39ed3..00001141d 100644 --- a/140_dbs/src/gplx/dbs/Db_stmt_bldr.java +++ b/140_dbs/src/gplx/dbs/Db_stmt_bldr.java @@ -35,7 +35,7 @@ public class Db_stmt_bldr { case Db_cmd_mode.Tid_update: if (update == null) update = conn.Stmt_update(tbl_name, flds_keys, flds_vals); return update; case Db_cmd_mode.Tid_delete: if (delete == null) delete = conn.Stmt_delete(tbl_name, flds_keys); return delete; case Db_cmd_mode.Tid_ignore: return Db_stmt_.Null; - default: throw Exc_.new_unhandled(cmd_mode); + default: throw Err_.new_unhandled(cmd_mode); } } public void Batch_bgn() {conn.Txn_bgn(tbl_name);} diff --git a/140_dbs/src/gplx/dbs/engines/Db_engine_sql_base.java b/140_dbs/src/gplx/dbs/engines/Db_engine_sql_base.java index 116f393e0..95d5e05b4 100644 --- a/140_dbs/src/gplx/dbs/engines/Db_engine_sql_base.java +++ b/140_dbs/src/gplx/dbs/engines/Db_engine_sql_base.java @@ -41,7 +41,7 @@ public abstract class Db_engine_sql_base implements Db_engine { Statement cmd = New_stmt_exec(sql); return cmd.executeUpdate(sql); } - catch (Exception e) {throw Exc_.new_exc(e, "db", "db.engine:exec failed", "url", conn_info.Xto_api(), "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "db.engine:exec failed", "url", conn_info.Xto_api(), "sql", sql);} } private DataRdr Exec_as_rdr(String sql) { try { @@ -50,7 +50,7 @@ public abstract class Db_engine_sql_base implements Db_engine { ResultSet rdr = cmd.getResultSet(); return New_rdr(rdr, sql); } - catch (Exception e) {throw Exc_.new_exc(e, "db", "db.engine:rdr failed", "url", conn_info.Xto_api(), "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "db.engine:rdr failed", "url", conn_info.Xto_api(), "sql", sql);} } public void Ddl_create_tbl(Db_meta_tbl tbl) {Exec_as_int(tbl.To_sql_create());} public void Ddl_create_idx(Gfo_usr_dlg usr_dlg, Db_meta_idx... ary) { @@ -68,7 +68,7 @@ public abstract class Db_engine_sql_base implements Db_engine { Gfo_usr_dlg_.I.Plog_many("", "", "column added to table: db=~{0} tbl=~{1} fld=~{2}", conn_info.Database(), tbl, fld.Name()); } catch (Exception e) { // catch error if column already added to table - Gfo_usr_dlg_.I.Warn_many("", "", "column not added to table: db=~{0} tbl=~{1} fld=~{2} err=~{3}", conn_info.Database(), tbl, fld.Name(), Err_.Message_gplx(e)); + Gfo_usr_dlg_.I.Warn_many("", "", "column not added to table: db=~{0} tbl=~{1} fld=~{2} err=~{3}", conn_info.Database(), tbl, fld.Name(), Err_.Message_gplx_full(e)); } } public void Ddl_delete_tbl(String tbl) {Exec_as_int(Db_sqlbldr__sqlite.I.Bld_drop_tbl(tbl));} @@ -89,21 +89,21 @@ public abstract class Db_engine_sql_base implements Db_engine { public void Conn_term() { if (connection == null) return; // connection never opened; just exit try {connection.close();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "Conn_term failed", "url", conn_info.Xto_raw());} + catch (Exception e) {throw Err_.new_exc(e, "db", "Conn_term failed", "url", conn_info.Xto_raw());} connection = null; } public Object New_stmt_prep_as_obj(String sql) { if (connection == null) connection = Conn_new(); // auto-open connection try {return connection.prepareStatement(sql);} - catch (Exception e) {throw Exc_.new_exc(e, "db", "New_stmt_prep failed", "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "New_stmt_prep failed", "sql", sql);} } private Statement New_stmt_exec(String sql) { if (connection == null) connection = Conn_new(); // auto-open connection try {return connection.createStatement();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "New_stmt_exec failed", "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "New_stmt_exec failed", "sql", sql);} } protected Connection Conn_make_by_url(String url, String uid, String pwd) { try {return DriverManager.getConnection(url, uid, pwd);} - catch (SQLException e) {throw Exc_.new_exc(e, "db", "connection open failed", "info", Conn_info().Xto_raw());} + catch (SQLException e) {throw Err_.new_exc(e, "db", "connection open failed", "info", Conn_info().Xto_raw());} } } diff --git a/140_dbs/src/gplx/dbs/engines/mems/Db_engine__mem.java b/140_dbs/src/gplx/dbs/engines/mems/Db_engine__mem.java index e8a85b84f..22d45a486 100644 --- a/140_dbs/src/gplx/dbs/engines/mems/Db_engine__mem.java +++ b/140_dbs/src/gplx/dbs/engines/mems/Db_engine__mem.java @@ -28,15 +28,15 @@ public class Db_engine__mem implements Db_engine { public void Txn_end() {--txn_count;} public void Txn_cxl() {--txn_count;} public void Txn_sav() {this.Txn_end(); this.Txn_bgn("");} - public Object Exec_as_obj(Db_qry qry) {throw Exc_.new_unimplemented();} + public Object Exec_as_obj(Db_qry qry) {throw Err_.new_unimplemented();} public void Conn_open() {} public void Conn_term() { - if (txn_count != 0) throw Exc_.new_("Conn_term.txns still open", "txn_count", txn_count); + if (txn_count != 0) throw Err_.new_wo_type("Conn_term.txns still open", "txn_count", txn_count); } - public Db_rdr New_rdr__rls_manual(Object rdr_obj, String sql) {throw Exc_.new_unimplemented();} - public Db_rdr New_rdr__rls_auto(Db_stmt stmt, Object rdr_obj, String sql) {throw Exc_.new_unimplemented();} - public DataRdr New_rdr(java.sql.ResultSet rdr, String sql) {throw Exc_.new_unimplemented();} - public Object New_stmt_prep_as_obj(String sql) {throw Exc_.new_unimplemented();} + public Db_rdr New_rdr__rls_manual(Object rdr_obj, String sql) {throw Err_.new_unimplemented();} + public Db_rdr New_rdr__rls_auto(Db_stmt stmt, Object rdr_obj, String sql) {throw Err_.new_unimplemented();} + public DataRdr New_rdr(java.sql.ResultSet rdr, String sql) {throw Err_.new_unimplemented();} + public Object New_stmt_prep_as_obj(String sql) {throw Err_.new_unimplemented();} public void Ddl_create_tbl(Db_meta_tbl meta) { Mem_tbl mem_tbl = new Mem_tbl(meta); tbl_hash.Add_if_dupe_use_nth(meta.Name(), mem_tbl); diff --git a/140_dbs/src/gplx/dbs/engines/mems/Db_rdr__mem.java b/140_dbs/src/gplx/dbs/engines/mems/Db_rdr__mem.java index c638227b0..325263477 100644 --- a/140_dbs/src/gplx/dbs/engines/mems/Db_rdr__mem.java +++ b/140_dbs/src/gplx/dbs/engines/mems/Db_rdr__mem.java @@ -31,7 +31,7 @@ public class Db_rdr__mem implements Db_rdr { public byte[] Read_bry(String k) {return (byte[])row.Get_by(k);} public String Read_str(String k) {return (String)row.Get_by(k);} public byte[] Read_bry_by_str(String k) {return Bry_.new_u8_safe((String)row.Get_by(k));} // NOTE: null b/c db can have NULL - @gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Exc_.new_unimplemented();} + @gplx.Virtual public void Save_bry_in_parts(Io_url url, String tbl, String fld, String crt_key, Object crt_val) {throw Err_.new_unimplemented();} public DateAdp Read_date_by_str(String k) {return DateAdp_.parse_iso8561((String)row.Get_by(k));} public byte Read_byte(String k) {return Byte_.cast_(row.Get_by(k));} public int Read_int(String k) {return Int_.cast_(row.Get_by(k));} diff --git a/140_dbs/src/gplx/dbs/engines/mems/Db_stmt__mem.java b/140_dbs/src/gplx/dbs/engines/mems/Db_stmt__mem.java index 6db352bbb..504012f30 100644 --- a/140_dbs/src/gplx/dbs/engines/mems/Db_stmt__mem.java +++ b/140_dbs/src/gplx/dbs/engines/mems/Db_stmt__mem.java @@ -41,49 +41,49 @@ public class Db_stmt__mem implements Db_stmt { public Db_stmt Val_byte(String k, byte v) {return Add_byte(Bool_.N, k, v);} public Db_stmt Val_byte(byte v) {return Add_byte(Bool_.N, Key_na, v);} private Db_stmt Add_byte(boolean where, String k, byte v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v);} return this; } public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);} public Db_stmt Val_int(String k, int v) {return Add_int(Bool_.N, k, v);} public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);} private Db_stmt Add_int(boolean where, String k, int v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);} return this; } public Db_stmt Crt_long(String k, long v) {return Add_long(Bool_.Y, k, v);} public Db_stmt Val_long(String k, long v) {return Add_long(Bool_.N, k, v);} public Db_stmt Val_long(long v) {return Add_long(Bool_.N, Key_na, v);} private Db_stmt Add_long(boolean where, String k, long v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);} return this; } public Db_stmt Crt_float(String k, float v) {return Add_float(Bool_.Y, k, v);} public Db_stmt Val_float(String k, float v) {return Add_float(Bool_.N, k, v);} public Db_stmt Val_float(float v) {return Add_float(Bool_.N, Key_na, v);} private Db_stmt Add_float(boolean where, String k, float v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);} return this; } public Db_stmt Crt_double(String k, double v) {return Add_double(Bool_.Y, k, v);} public Db_stmt Val_double(String k, double v) {return Add_double(Bool_.N, k, v);} public Db_stmt Val_double(double v) {return Add_double(Bool_.N, Key_na, v);} private Db_stmt Add_double(boolean where, String k, double v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);} return this; } public Db_stmt Crt_decimal(String k, DecimalAdp v) {return Add_decimal(Bool_.Y, k, v);} public Db_stmt Val_decimal(String k, DecimalAdp v) {return Add_decimal(Bool_.N, k, v);} public Db_stmt Val_decimal(DecimalAdp v) {return Add_decimal(Bool_.N, Key_na, v);} private Db_stmt Add_decimal(boolean where, String k, DecimalAdp v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v);} return this; } public Db_stmt Crt_bry(String k, byte[] v) {return Add_bry(Bool_.Y, k, v);} public Db_stmt Val_bry(String k, byte[] v) {return Add_bry(Bool_.N, k, v);} public Db_stmt Val_bry(byte[] v) {return Add_bry(Bool_.N, Key_na, v);} private Db_stmt Add_bry(boolean where, String k, byte[] v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte[]", "val", v.length);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "byte[]", "val", v.length);} return this; } public Db_stmt Crt_bry_as_str(String k, byte[] v) {return Add_bry_as_str(Bool_.Y, k, v);} @@ -94,7 +94,7 @@ public class Db_stmt__mem implements Db_stmt { public Db_stmt Val_str(String k, String v) {return Add_str(Bool_.N, k, v);} public Db_stmt Val_str(String v) {return Add_str(Bool_.N, Key_na, v);} private Db_stmt Add_str(boolean where, String k, String v) { - try {Add(k, where, v);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "String", "val", v);} + try {Add(k, where, v);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "String", "val", v);} return this; } public Db_stmt Val_rdr_(gplx.ios.Io_stream_rdr v, long rdr_len) { @@ -102,12 +102,12 @@ public class Db_stmt__mem implements Db_stmt { Bry_bfr bfr = Bry_bfr.new_(); gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v); Add("", Bool_.N, bfr.Xto_str_and_clear()); - } catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} return this; } public boolean Exec_insert() { Mem_tbl tbl = engine.Tbls_get(qry.Base_table()); - if (tbl == null) throw Exc_.new_("must call Create_tbl", "tbl", qry.Base_table()); + if (tbl == null) throw Err_.new_wo_type("must call Create_tbl", "tbl", qry.Base_table()); return tbl.Insert(this) == 1; } public int Exec_update() { @@ -118,13 +118,13 @@ public class Db_stmt__mem implements Db_stmt { Mem_tbl tbl = engine.Tbls_get(qry.Base_table()); return tbl.Delete(this); } - public DataRdr Exec_select() {throw Exc_.new_unimplemented();} + public DataRdr Exec_select() {throw Err_.new_unimplemented();} public Db_rdr Exec_select__rls_auto() {return this.Exec_select__rls_manual();} public Db_rdr Exec_select__rls_manual() { Mem_tbl tbl = engine.Tbls_get(qry.Base_table()); return tbl.Select(this); } - public Object Exec_select_val() {throw Exc_.new_unimplemented();} + public Object Exec_select_val() {throw Err_.new_unimplemented();} private void Add(String k, boolean where, Object v) { if (k == Db_meta_fld.Key_null) return; // key is explicitly null; ignore; allows schema_2+ type definitions val_list.Add_if_dupe_use_1st(k, v); // NOTE: only add if new; WHERE with IN will call Add many times; fld_ttl IN ('A.png', 'B.png'); diff --git a/140_dbs/src/gplx/dbs/engines/nulls/Noop_engine.java b/140_dbs/src/gplx/dbs/engines/nulls/Noop_engine.java index 992f9dfd1..ade850800 100644 --- a/140_dbs/src/gplx/dbs/engines/nulls/Noop_engine.java +++ b/140_dbs/src/gplx/dbs/engines/nulls/Noop_engine.java @@ -25,7 +25,7 @@ public class Noop_engine implements Db_engine { public Db_rdr New_rdr__rls_manual (Object rdr_obj, String sql) {return Db_rdr_.Empty;} public Db_rdr New_rdr__rls_auto (Db_stmt stmt, Object rdr_obj, String sql) {return Db_rdr_.Empty;} public Db_stmt New_stmt_prep(Db_qry qry) {return Db_stmt_.Null;} - public Object New_stmt_prep_as_obj(String sql) {throw Exc_.new_unimplemented();} + public Object New_stmt_prep_as_obj(String sql) {throw Err_.new_unimplemented();} public DataRdr New_rdr(java.sql.ResultSet rdr, String sql) {return DataRdr_.Null;} public void Txn_bgn(String name) {} public void Txn_end() {} diff --git a/140_dbs/src/gplx/dbs/engines/sqlite/Sqlite_engine.java b/140_dbs/src/gplx/dbs/engines/sqlite/Sqlite_engine.java index b0853404a..81067da03 100644 --- a/140_dbs/src/gplx/dbs/engines/sqlite/Sqlite_engine.java +++ b/140_dbs/src/gplx/dbs/engines/sqlite/Sqlite_engine.java @@ -47,7 +47,7 @@ public class Sqlite_engine extends Db_engine_sql_base { try { Class.forName("org.sqlite.JDBC"); } - catch (ClassNotFoundException e) {throw Exc_.new_exc(e, "db", "could not load sqlite jdbc driver");} + catch (ClassNotFoundException e) {throw Err_.new_exc(e, "db", "could not load sqlite jdbc driver");} loaded = true; } Sqlite_conn_info conn_info_as_sqlite = (Sqlite_conn_info)conn_info; @@ -56,31 +56,31 @@ public class Sqlite_engine extends Db_engine_sql_base { } public static final Sqlite_engine _ = new Sqlite_engine(); } -class Db_rdr__sqlite extends Db_rdr__basic { @Override public byte Read_byte(String k) {try {return (byte)Int_.cast_(rdr.getObject(k));} catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "k", k, "type", Byte_.Cls_val_name);}} +class Db_rdr__sqlite extends Db_rdr__basic { @Override public byte Read_byte(String k) {try {return (byte)Int_.cast_(rdr.getObject(k));} catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "k", k, "type", Byte_.Cls_val_name);}} @Override public boolean Read_bool_by_byte(String k) { try { int val = rdr.getInt(k); return val == 1; - } catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "i", k, "type", Bool_.Cls_val_name);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "i", k, "type", Bool_.Cls_val_name);} } @Override public long Read_long(String k) { try { long val = rdr.getLong(k); Number n = (Number)val; return n.longValue(); - } catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "i", k, "type", Long_.Cls_val_name);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "i", k, "type", Long_.Cls_val_name);} } @Override public float Read_float(String k) { try { Double val = (Double)rdr.getDouble(k); return val == null ? Float.NaN : val.floatValue(); - } catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed:", "i", k, "type", Float_.Cls_val_name);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "read failed:", "i", k, "type", Float_.Cls_val_name);} } @Override public DateAdp Read_date_by_str(String k) { try { String val = rdr.getString(k); return val == null ? null : DateAdp_.parse_fmt(val, "yyyyMMdd_HHmmss"); - } catch (Exception e) {throw Exc_.new_exc(e, "db", "read failed", "i", k, "type", DateAdp_.Cls_ref_type);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "read failed", "i", k, "type", DateAdp_.Cls_ref_type);} } // @Override public DecimalAdp ReadDecimalOr(String key, DecimalAdp or) { // Object val = Read(key); diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbDbLoadMgr.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbDbLoadMgr.java index 85fdbf7f2..6742740f6 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbDbLoadMgr.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbDbLoadMgr.java @@ -39,7 +39,7 @@ class TdbDbLoadMgr { else if (String_.Eq(name, TdbTableList.StoreTableName)) db.Tables().DataObj_Rdr(rdr, db.Files()); else db.Tables().Get_by_or_fail(rdr.NameOfNode()).DataObj_Rdr(rdr); } - if (db.Files().Count() == 0) throw Exc_.new_("fatal error: db has no files", "connectInfo", db.DbUrl()); + if (db.Files().Count() == 0) throw Err_.new_wo_type("fatal error: db has no files", "connectInfo", db.DbUrl()); } DataRdr MakeDataRdr(Io_url fil) { String text = Io_mgr.I.LoadFilStr(fil); diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbEngine.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbEngine.java index 96bdfd28e..0044e77fb 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbEngine.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbEngine.java @@ -42,7 +42,7 @@ public class TdbEngine implements Db_engine { return wkr.Exec(this, qry); } public Db_stmt New_stmt_prep(Db_qry qry) {return new Db_stmt_sql().Parse(qry, Sql_qry_wtr_.I.Xto_str(qry, true));} - public Object New_stmt_prep_as_obj(String sql) {throw Exc_.new_unimplemented();} + public Object New_stmt_prep_as_obj(String sql) {throw Err_.new_unimplemented();} public Db_rdr New_rdr__rls_manual(Object rdr_obj, String sql) {return Db_rdr_.Empty;} public Db_rdr New_rdr__rls_auto(Db_stmt stmt, Object rdr_obj, String sql) {return Db_rdr_.Empty;} public DataRdr New_rdr(java.sql.ResultSet rdr, String sql) {return DataRdr_.Null;} @@ -57,9 +57,9 @@ public class TdbEngine implements Db_engine { public void FlushTbl(TdbTable tbl) { saveMgr.SaveFile(db, tbl.File()); } - public void Ddl_create_tbl(Db_meta_tbl meta) {throw Exc_.new_unimplemented();} - public void Ddl_create_idx(Gfo_usr_dlg usr_dlg, Db_meta_idx... ary) {throw Exc_.new_unimplemented();} - public void Ddl_append_fld(String tbl, Db_meta_fld fld) {throw Exc_.new_unimplemented();} + public void Ddl_create_tbl(Db_meta_tbl meta) {throw Err_.new_unimplemented();} + public void Ddl_create_idx(Gfo_usr_dlg usr_dlg, Db_meta_idx... ary) {throw Err_.new_unimplemented();} + public void Ddl_append_fld(String tbl, Db_meta_fld fld) {throw Err_.new_unimplemented();} public void Ddl_delete_tbl(String tbl) {} public void Env_db_attach(String alias, Io_url db_url) {} public void Env_db_detach(String alias) {} @@ -77,7 +77,7 @@ public class TdbEngine implements Db_engine { wkrs.Add(Db_qry_.Tid_flush, TdbFlushWkr.new_()); } public static TdbEngine as_(Object obj) {return obj instanceof TdbEngine ? (TdbEngine)obj : null;} - public static TdbEngine cast_(Object obj) {try {return (TdbEngine)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, TdbEngine.class, obj);}} + public static TdbEngine cast_(Object obj) {try {return (TdbEngine)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, TdbEngine.class, obj);}} } interface Db_qryWkr { Object Exec(Db_engine engine, Db_qry cmd); diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbFile.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbFile.java index 7c808bfee..6a4d3be08 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbFile.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbFile.java @@ -27,5 +27,5 @@ public class TdbFile { } public static final int MainFileId = 1; public static TdbFile as_(Object obj) {return obj instanceof TdbFile ? (TdbFile)obj : null;} - public static TdbFile cast_(Object obj) {try {return (TdbFile)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, TdbFile.class, obj);}} + public static TdbFile cast_(Object obj) {try {return (TdbFile)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, TdbFile.class, obj);}} } diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbInsert.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbInsert.java index ec819876f..8cd581967 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbInsert.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbInsert.java @@ -33,8 +33,8 @@ class TdbInsertWkr implements Db_qryWkr { Sql_select_fld_list insertFlds = insert.Cols(); int insertFldsCount = insertFlds.Count(); GfoFldList selectFldsForNewRow = null; try {selectFldsForNewRow = insertFlds.XtoGfoFldLst(tbl);} - catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to generate flds for new row");} - if (insertFldsCount > selectFldsForNewRow.Count()) throw Exc_.new_("insert flds cannot exceed selectFlds", "insertFlds", insertFlds.XtoStr(), "selectFlds", selectFldsForNewRow.XtoStr()); + catch (Exception e) {throw Err_.new_exc(e, "db", "failed to generate flds for new row");} + if (insertFldsCount > selectFldsForNewRow.Count()) throw Err_.new_wo_type("insert flds cannot exceed selectFlds", "insertFlds", insertFlds.XtoStr(), "selectFlds", selectFldsForNewRow.XtoStr()); while (rdr.MoveNextPeer()) { count++; GfoNde row = GfoNde_.vals_(selectFldsForNewRow, new Object[insertFldsCount]); diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbSelect.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbSelect.java index 292750a8c..961a1c318 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbSelect.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbSelect.java @@ -21,7 +21,7 @@ import gplx.lists.*; /*ComparerAble*/ import gplx.stores.*; /*GfoNdeRdr*/ class TdbSelectWkr implements Db_qryWkr { public Object Exec(Db_engine engineObj, Db_qry cmdObj) { TdbEngine engine = TdbEngine.cast_(engineObj); Db_qry__select_cmd cmd = (Db_qry__select_cmd)cmdObj; - if (cmd.From().Tbls().Count() > 1) throw Exc_.new_w_type("gplx.tdbs", "joins not supported for tdbs", "sql", cmd.Xto_sql()); + if (cmd.From().Tbls().Count() > 1) throw Err_.new_("gplx.tdbs", "joins not supported for tdbs", "sql", cmd.Xto_sql()); TdbTable tbl = engine.FetchTbl(cmd.From().BaseTable().TblName()); GfoNdeList rv = (cmd.Where() == Db_qry_.WhereAll && cmd.Limit() == Db_qry__select_cmd.Limit_disabled) ? rv = tbl.Rows() : FilterRecords(tbl, cmd.Where(), cmd.Limit()); diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbTable.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbTable.java index 7f934e82a..9e1001b6a 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbTable.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbTable.java @@ -50,16 +50,16 @@ public class TdbTable { layout = TdbStores.FetchLayout(rdr); GfoNdeRdr ndeRdr = GfoNdeRdr_.as_(rdr ); if (ndeRdr != null) { - if (ndeRdr.UnderNde() == null) throw Exc_.new_("ndeRdr.UnderNde is null", "name", rdr.NameOfNode()); + if (ndeRdr.UnderNde() == null) throw Err_.new_wo_type("ndeRdr.UnderNde is null", "name", rdr.NameOfNode()); rows = ndeRdr.UnderNde().Subs(); flds = ndeRdr.UnderNde().SubFlds(); } else { // XmlRdr needs to load each row again... - throw Exc_.new_invalid_op("TableLoad not implemented").Args_add("rdrType", ClassAdp_.NameOf_obj(rdr), "rdrName", rdr.NameOfNode()); + throw Err_.new_invalid_op("TableLoad not implemented").Args_add("rdrType", ClassAdp_.NameOf_obj(rdr), "rdrName", rdr.NameOfNode()); } isLoaded = true; } DsvStoreLayout layout; public static TdbTable as_(Object obj) {return obj instanceof TdbTable ? (TdbTable)obj : null;} - public static TdbTable cast_(Object obj) {try {return (TdbTable)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, TdbTable.class, obj);}} + public static TdbTable cast_(Object obj) {try {return (TdbTable)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, TdbTable.class, obj);}} } diff --git a/140_dbs/src/gplx/dbs/engines/tdbs/TdbTableList.java b/140_dbs/src/gplx/dbs/engines/tdbs/TdbTableList.java index 2ee4671c2..846e9d453 100644 --- a/140_dbs/src/gplx/dbs/engines/tdbs/TdbTableList.java +++ b/140_dbs/src/gplx/dbs/engines/tdbs/TdbTableList.java @@ -20,7 +20,7 @@ import gplx.lists.*; /*Ordered_hash_base*/ import gplx.stores.dsvs.*; /*DsvStore public class TdbTableList extends Ordered_hash_base { public TdbTable Get_by(String name) {return TdbTable.as_(Fetch_base(name));} public TdbTable Get_by_or_fail(String name) { - TdbTable rv = TdbTable.as_(Get_by(name)); if (rv == null) throw Exc_.new_("could not find table; database file may not exist", "table", name); + TdbTable rv = TdbTable.as_(Get_by(name)); if (rv == null) throw Err_.new_wo_type("could not find table; database file may not exist", "table", name); return rv; } public void Add(TdbTable dataTable) {Add_base(dataTable.Name(), dataTable);} diff --git a/140_dbs/src/gplx/dbs/metas/parsers/Meta_fld_wkr__base.java b/140_dbs/src/gplx/dbs/metas/parsers/Meta_fld_wkr__base.java index 267ff7d46..ddad955de 100644 --- a/140_dbs/src/gplx/dbs/metas/parsers/Meta_fld_wkr__base.java +++ b/140_dbs/src/gplx/dbs/metas/parsers/Meta_fld_wkr__base.java @@ -97,7 +97,7 @@ class Meta_fld_wkr__default extends Meta_fld_wkr__base { case Byte_ascii.Quote: case Byte_ascii.Apos: int bgn_pos = rdr.Pos() + 1; - int end_pos = Bry_finder.Find_fwd(src, b, bgn_pos); if (end_pos == Bry_finder.Not_found) throw Exc_.new_("unclosed quote", "snip", rdr.Mid_by_len_safe(40)); + int end_pos = Bry_finder.Find_fwd(src, b, bgn_pos); if (end_pos == Bry_finder.Not_found) throw Err_.new_wo_type("unclosed quote", "snip", rdr.Mid_by_len_safe(40)); default_val = Bry_.Mid(src, bgn_pos, end_pos); rdr.Pos_(end_pos + 1); break; @@ -107,7 +107,7 @@ class Meta_fld_wkr__default extends Meta_fld_wkr__base { default_val = rdr.Read_int_to_non_num(); break; default: - throw Exc_.new_("invalid field_default", "snip", rdr.Mid_by_len_safe(40)); + throw Err_.new_wo_type("invalid field_default", "snip", rdr.Mid_by_len_safe(40)); } fld.Default_val_(default_val); } diff --git a/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__fld.java b/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__fld.java index ae4394a88..aea2942fb 100644 --- a/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__fld.java +++ b/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__fld.java @@ -21,17 +21,17 @@ public class Meta_parser__fld { public Meta_type_itm Parse_type(Bry_rdr rdr) { rdr.Skip_ws(); Object type_obj = type_trie.Match_bgn(rdr.Src(), rdr.Pos(), rdr.Src_len()); - if (type_obj == null) throw Exc_.new_("invalid fld type", "snip", rdr.Mid_by_len_safe(40)); + if (type_obj == null) throw Err_.new_wo_type("invalid fld type", "snip", rdr.Mid_by_len_safe(40)); Meta_parser__fld_itm type_itm = (Meta_parser__fld_itm)type_obj; rdr.Pos_add(type_itm.Word().length); int paren_itms_count = type_itm.Paren_itms_count(); int len_1 = Int_.MinValue, len_2 = Int_.MinValue; if (paren_itms_count > 0) { rdr.Skip_ws().Chk_byte_or_fail(Byte_ascii.Paren_bgn); - len_1 = rdr.Skip_ws().Read_int_to_non_num(); if (len_1 == Int_.MinValue) throw Exc_.new_("invalid fld len_1", "snip", rdr.Mid_by_len_safe(40)); + len_1 = rdr.Skip_ws().Read_int_to_non_num(); if (len_1 == Int_.MinValue) throw Err_.new_wo_type("invalid fld len_1", "snip", rdr.Mid_by_len_safe(40)); if (paren_itms_count == 2) { rdr.Skip_ws().Chk_byte_or_fail(Byte_ascii.Comma); - len_2 = rdr.Skip_ws().Read_int_to_non_num(); if (len_2 == Int_.MinValue) throw Exc_.new_("invalid fld len_2", "snip", rdr.Mid_by_len_safe(40)); + len_2 = rdr.Skip_ws().Read_int_to_non_num(); if (len_2 == Int_.MinValue) throw Err_.new_wo_type("invalid fld len_2", "snip", rdr.Mid_by_len_safe(40)); } rdr.Skip_ws().Chk_byte_or_fail(Byte_ascii.Paren_end); } @@ -49,7 +49,7 @@ public class Meta_parser__fld { case Byte_ascii.Comma: return fld; case Byte_ascii.Paren_end: return fld; } - Object type_obj = fld_trie.Match_bgn(src, rdr.Pos(), src_len); if (type_obj == null) throw Exc_.new_("invalid", "snip", rdr.Mid_by_len_safe(40)); + Object type_obj = fld_trie.Match_bgn(src, rdr.Pos(), src_len); if (type_obj == null) throw Err_.new_wo_type("invalid", "snip", rdr.Mid_by_len_safe(40)); Meta_fld_wkr__base type_wkr = (Meta_fld_wkr__base)type_obj; switch (type_wkr.Tid()) { case Meta_fld_wkr__base.Tid_end_comma: diff --git a/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__tbl.java b/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__tbl.java index faaef1253..9a8438cbb 100644 --- a/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__tbl.java +++ b/140_dbs/src/gplx/dbs/metas/parsers/Meta_parser__tbl.java @@ -39,14 +39,14 @@ public class Meta_parser__tbl { private void Parse_flds() { byte[] src = rdr.Src(); while (true) { - Meta_fld_itm fld = fld_parser.Parse_fld(rdr); if (fld == null) throw Exc_.new_("unknown field", "src", rdr.Src()); + Meta_fld_itm fld = fld_parser.Parse_fld(rdr); if (fld == null) throw Err_.new_wo_type("unknown field", "src", rdr.Src()); tbl.Flds().Add(fld); int pos = rdr.Pos(); - byte b = pos == rdr.Src_len() ? Byte_ascii.Nil : src[pos]; + byte b = pos == rdr.Src_len() ? Byte_ascii.Null : src[pos]; switch (b) { case Byte_ascii.Comma: rdr.Pos_add_one(); break; case Byte_ascii.Paren_end: rdr.Pos_add_one(); return; - default: throw Exc_.new_("premature end of flds", "src", rdr.Mid_by_len_safe(40)); + default: throw Err_.new_wo_type("premature end of flds", "src", rdr.Mid_by_len_safe(40)); } } } diff --git a/140_dbs/src/gplx/dbs/metas/parsers/Sql_bry_rdr.java b/140_dbs/src/gplx/dbs/metas/parsers/Sql_bry_rdr.java index d18cb0997..eeed92a75 100644 --- a/140_dbs/src/gplx/dbs/metas/parsers/Sql_bry_rdr.java +++ b/140_dbs/src/gplx/dbs/metas/parsers/Sql_bry_rdr.java @@ -34,8 +34,8 @@ public class Sql_bry_rdr extends Bry_rdr { public byte[] Read_sql_identifier() return Bry_.Mid(src, bgn, end); } @Override public Bry_rdr Skip_ws() { - byte b_0 = pos < src_len ? src[pos] : Byte_ascii.Nil; - byte bgn_1 = Byte_ascii.Nil; + byte b_0 = pos < src_len ? src[pos] : Byte_ascii.Null; + byte bgn_1 = Byte_ascii.Null; byte[] end_bry = null; switch (b_0) { case Byte_ascii.Dash: bgn_1 = Byte_ascii.Dash; end_bry = Comm_end_line; break; @@ -46,7 +46,7 @@ public class Sql_bry_rdr extends Bry_rdr { public byte[] Read_sql_identifier() default: return this; } - byte b_1 = pos + 1 < src_len ? src[pos + 1] : Byte_ascii.Nil; + byte b_1 = pos + 1 < src_len ? src[pos + 1] : Byte_ascii.Null; if (b_1 != bgn_1) return this; int end_pos = Bry_finder.Find_fwd(src, end_bry, pos + 2, src_len); if (end_pos == Bry_finder.Not_found) return this; diff --git a/140_dbs/src/gplx/dbs/qrys/Db_qry__select_cmd.java b/140_dbs/src/gplx/dbs/qrys/Db_qry__select_cmd.java index 651255724..e8a587903 100644 --- a/140_dbs/src/gplx/dbs/qrys/Db_qry__select_cmd.java +++ b/140_dbs/src/gplx/dbs/qrys/Db_qry__select_cmd.java @@ -51,12 +51,12 @@ public class Db_qry__select_cmd implements Db_qry { public Sql_from From() {return from;} Sql_from from; public Db_qry__select_cmd From_(String tblName) {return From_(tblName, null);} public Db_qry__select_cmd From_(String tblName, String alias) { - if (from != null) throw Exc_.new_("super table already defined", "from", from.Tbls().Count()); + if (from != null) throw Err_.new_wo_type("super table already defined", "from", from.Tbls().Count()); from = Sql_from.new_(Sql_tbl_src.new_().JoinType_(Sql_join_itmType.From).TblName_(tblName).Alias_(alias)); return this; } public Db_qry__select_cmd Join_(String name, String alias, Sql_join_itm... ary) { - if (from == null) throw Exc_.new_("super table is not defined"); + if (from == null) throw Err_.new_wo_type("super table is not defined"); Sql_tbl_src tbl = Sql_tbl_src.new_().JoinType_(Sql_join_itmType.Inner).TblName_(name).Alias_(alias); for (Sql_join_itm itm : ary) tbl.JoinLinks().Add(itm); @@ -118,7 +118,7 @@ public class Db_qry__select_cmd implements Db_qry { } public Sql_group_by GroupBy() {return groupBy;} Sql_group_by groupBy = null; public Db_qry__select_cmd GroupBy_(String... flds) { - if (groupBy != null) throw Exc_.new_("group by already defined", "group", groupBy); + if (groupBy != null) throw Err_.new_wo_type("group by already defined", "group", groupBy); groupBy = Sql_group_by.new_(flds); return this; } diff --git a/140_dbs/src/gplx/dbs/qrys/Db_qry_flush.java b/140_dbs/src/gplx/dbs/qrys/Db_qry_flush.java index d8c69b619..6f2263ecf 100644 --- a/140_dbs/src/gplx/dbs/qrys/Db_qry_flush.java +++ b/140_dbs/src/gplx/dbs/qrys/Db_qry_flush.java @@ -28,7 +28,7 @@ public class Db_qry_flush implements Db_qry { public static Db_qry_flush as_(Object obj) {return obj instanceof Db_qry_flush ? (Db_qry_flush)obj : null;} - public static Db_qry_flush cast_(Object obj) {try {return (Db_qry_flush)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, Db_qry_flush.class, obj);}} + public static Db_qry_flush cast_(Object obj) {try {return (Db_qry_flush)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, Db_qry_flush.class, obj);}} public static Db_qry_flush new_(String... ary) { Db_qry_flush rv = new Db_qry_flush(); rv.tableNames = ary; diff --git a/140_dbs/src/gplx/dbs/qrys/Db_qry_sql.java b/140_dbs/src/gplx/dbs/qrys/Db_qry_sql.java index 663938acd..b2827e2ef 100644 --- a/140_dbs/src/gplx/dbs/qrys/Db_qry_sql.java +++ b/140_dbs/src/gplx/dbs/qrys/Db_qry_sql.java @@ -20,7 +20,7 @@ import gplx.dbs.sqls.*; public class Db_qry_sql implements Db_qry { public int Tid() {return Db_qry_.Tid_sql;} public boolean Exec_is_rdr() {return isReader;} private boolean isReader; - public String Base_table() {throw Exc_.new_unimplemented();} + public String Base_table() {throw Err_.new_unimplemented();} public String Xto_sql() {return sql;} private String sql; public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);} public static Db_qry_sql dml_(String sql) {return sql_(sql);} @@ -37,7 +37,7 @@ public class Db_qry_sql implements Db_qry { return rv; } public static Db_qry_sql as_(Object obj) {return obj instanceof Db_qry_sql ? (Db_qry_sql)obj : null;} - public static Db_qry_sql cast_(Object obj) {try {return (Db_qry_sql)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, Db_qry_sql.class, obj);}} + public static Db_qry_sql cast_(Object obj) {try {return (Db_qry_sql)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, Db_qry_sql.class, obj);}} public static String Gen_sql(Db_qry qry, Object... args) { byte[] src = Bry_.new_u8(Sql_qry_wtr_.Gen_placeholder_parameters(qry)); int src_len = src.length; diff --git a/140_dbs/src/gplx/dbs/qrys/Db_stmt_cmd.java b/140_dbs/src/gplx/dbs/qrys/Db_stmt_cmd.java index 6206fb216..77fcfea63 100644 --- a/140_dbs/src/gplx/dbs/qrys/Db_stmt_cmd.java +++ b/140_dbs/src/gplx/dbs/qrys/Db_stmt_cmd.java @@ -42,7 +42,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_byte(byte v) {return Add_byte(Bool_.N, Key_na, v);} private Db_stmt Add_byte(boolean where, String k, byte v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setByte(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v, "sql", sql);} + try {stmt.setByte(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v, "sql", sql);} return this; } public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);} @@ -50,7 +50,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);} private Db_stmt Add_int(boolean where, String k, int v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setInt(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "int", "val", v, "sql", sql);} + try {stmt.setInt(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "int", "val", v, "sql", sql);} return this; } public Db_stmt Crt_long(String k, long v) {return Add_long(Bool_.Y, k, v);} @@ -58,7 +58,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_long(long v) {return Add_long(Bool_.N, Key_na, v);} private Db_stmt Add_long(boolean where, String k, long v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setLong(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "long", "val", v, "sql", sql);} + try {stmt.setLong(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "long", "val", v, "sql", sql);} return this; } public Db_stmt Crt_float(String k, float v) {return Add_float(Bool_.Y, k, v);} @@ -66,7 +66,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_float(float v) {return Add_float(Bool_.N, Key_na, v);} private Db_stmt Add_float(boolean where, String k, float v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setFloat(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "float", "val", v, "sql", sql);} + try {stmt.setFloat(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "float", "val", v, "sql", sql);} return this; } public Db_stmt Crt_double(String k, double v) {return Add_double(Bool_.Y, k, v);} @@ -74,7 +74,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_double(double v) {return Add_double(Bool_.N, Key_na, v);} private Db_stmt Add_double(boolean where, String k, double v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setDouble(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "double", "val", v, "sql", sql);} + try {stmt.setDouble(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "double", "val", v, "sql", sql);} return this; } public Db_stmt Crt_decimal(String k, DecimalAdp v) {return Add_decimal(Bool_.Y, k, v);} @@ -82,7 +82,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_decimal(DecimalAdp v) {return Add_decimal(Bool_.N, Key_na, v);} private Db_stmt Add_decimal(boolean where, String k, DecimalAdp v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setBigDecimal(++val_idx, v.Xto_decimal());} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v, "sql", sql);} + try {stmt.setBigDecimal(++val_idx, v.Xto_decimal());} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v, "sql", sql);} return this; } public Db_stmt Crt_bry(String k, byte[] v) {return Add_bry(Bool_.Y, k, v);} @@ -90,7 +90,7 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_bry(byte[] v) {return Add_bry(Bool_.N, Key_na, v);} private Db_stmt Add_bry(boolean where, String k, byte[] v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setBytes(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte[]", v.length, sql);} + try {stmt.setBytes(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "byte[]", v.length, sql);} return this; } public Db_stmt Crt_bry_as_str(String k, byte[] v) {return Add_bry_as_str(Bool_.Y, k, v);} @@ -102,11 +102,11 @@ public class Db_stmt_cmd implements Db_stmt { public Db_stmt Val_str(String v) {return Add_str(Bool_.N, Key_na, v);} private Db_stmt Add_str(boolean where, String k, String v) { if (k == Db_meta_fld.Key_null) return this; // key is explicitly null; ignore; allows version_2+ type definitions - try {stmt.setString(++val_idx, v);} catch (Exception e) {this.Rls(); throw Exc_.new_exc(e, "db", "failed to add value", "type", "String", "val", v, "sql", sql);} + try {stmt.setString(++val_idx, v);} catch (Exception e) {this.Rls(); throw Err_.new_exc(e, "db", "failed to add value", "type", "String", "val", v, "sql", sql);} return this; } public Db_stmt Val_rdr_(gplx.ios.Io_stream_rdr v, long rdr_len) { - try {stmt.setBinaryStream(++val_idx, (java.io.InputStream)v.Under(), (int)rdr_len);} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} + try {stmt.setBinaryStream(++val_idx, (java.io.InputStream)v.Under(), (int)rdr_len);} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} return this; } public boolean Exec_insert() { @@ -114,7 +114,7 @@ public class Db_stmt_cmd implements Db_stmt { catch (Exception e) { this.Rls(); Reset_stmt(); - throw Exc_.new_exc(e, "db_stmt", "insert failed", "url", engine.Conn_info().Xto_api(), "sql", sql); + throw Err_.new_exc(e, "db_stmt", "insert failed", "url", engine.Conn_info().Xto_api(), "sql", sql); } } public int Exec_update() { @@ -122,7 +122,7 @@ public class Db_stmt_cmd implements Db_stmt { catch (Exception e) { this.Rls(); Reset_stmt(); - throw Exc_.new_exc(e, "db_stmt", "update failed", "url", engine.Conn_info().Xto_api(), "sql", sql); + throw Err_.new_exc(e, "db_stmt", "update failed", "url", engine.Conn_info().Xto_api(), "sql", sql); } } public int Exec_delete() { @@ -130,25 +130,25 @@ public class Db_stmt_cmd implements Db_stmt { catch (Exception e) { this.Rls(); Reset_stmt(); - throw Exc_.new_exc(e, "db_stmt", "delete failed", "url", engine.Conn_info().Xto_api(), "sql", sql); + throw Err_.new_exc(e, "db_stmt", "delete failed", "url", engine.Conn_info().Xto_api(), "sql", sql); } } public DataRdr Exec_select() { - try {DataRdr rv = engine.New_rdr(stmt.executeQuery(), sql); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql);} + try {DataRdr rv = engine.New_rdr(stmt.executeQuery(), sql); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql);} } public Db_rdr Exec_select__rls_auto() { - try {return engine.New_rdr__rls_auto(this, stmt.executeQuery(), sql);} catch (Exception e) {throw Exc_.new_exc(e, "db", "select failed", "sql", sql);} + try {return engine.New_rdr__rls_auto(this, stmt.executeQuery(), sql);} catch (Exception e) {throw Err_.new_exc(e, "db", "select failed", "sql", sql);} } public Db_rdr Exec_select__rls_manual() { - try {return engine.New_rdr__rls_manual(stmt.executeQuery(), sql);} catch (Exception e) {throw Exc_.new_exc(e, "db", "select failed", "sql", sql);} + try {return engine.New_rdr__rls_manual(stmt.executeQuery(), sql);} catch (Exception e) {throw Err_.new_exc(e, "db", "select failed", "sql", sql);} } public Object Exec_select_val() { - try {Object rv = Db_qry__select_cmd.Rdr_to_val(engine.New_rdr(stmt.executeQuery(), sql)); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql);} + try {Object rv = Db_qry__select_cmd.Rdr_to_val(engine.New_rdr(stmt.executeQuery(), sql)); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql);} } public Db_stmt Clear() { val_idx = 0; try {stmt.clearBatch();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to clear parameters", "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "failed to clear parameters", "sql", sql);} return this; } public void Rls() { @@ -158,6 +158,6 @@ public class Db_stmt_cmd implements Db_stmt { stmt.close(); stmt = null; } - catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to close command", "sql", sql);} + catch (Exception e) {throw Err_.new_exc(e, "db", "failed to close command", "sql", sql);} } } diff --git a/140_dbs/src/gplx/dbs/qrys/Db_stmt_sql.java b/140_dbs/src/gplx/dbs/qrys/Db_stmt_sql.java index ca273ff7f..533e1e6b1 100644 --- a/140_dbs/src/gplx/dbs/qrys/Db_stmt_sql.java +++ b/140_dbs/src/gplx/dbs/qrys/Db_stmt_sql.java @@ -33,49 +33,49 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen public Db_stmt Val_byte(String k, byte v) {return Add_byte(Bool_.N, k, v);} public Db_stmt Val_byte(byte v) {return Add_byte(Bool_.N, Key_na, v);} private Db_stmt Add_byte(boolean where, String k, byte v) { - try {Add(k, Byte_.Xto_str(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v);} + try {Add(k, Byte_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "byte", "val", v);} return this; } public Db_stmt Crt_int(String k, int v) {return Add_int(Bool_.Y, k, v);} public Db_stmt Val_int(String k, int v) {return Add_int(Bool_.N, k, v);} public Db_stmt Val_int(int v) {return Add_int(Bool_.N, Key_na, v);} private Db_stmt Add_int(boolean where, String k, int v) { - try {Add(k, Int_.Xto_str(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);} + try {Add(k, Int_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "int", "val", v);} return this; } public Db_stmt Crt_long(String k, long v) {return Add_long(Bool_.Y, k, v);} public Db_stmt Val_long(String k, long v) {return Add_long(Bool_.N, k, v);} public Db_stmt Val_long(long v) {return Add_long(Bool_.N, Key_na, v);} private Db_stmt Add_long(boolean where, String k, long v) { - try {Add(k, Long_.Xto_str(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);} + try {Add(k, Long_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "long", "val", v);} return this; } public Db_stmt Crt_float(String k, float v) {return Add_float(Bool_.Y, k, v);} public Db_stmt Val_float(String k, float v) {return Add_float(Bool_.N, k, v);} public Db_stmt Val_float(float v) {return Add_float(Bool_.N, Key_na, v);} private Db_stmt Add_float(boolean where, String k, float v) { - try {Add(k, Float_.Xto_str(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);} + try {Add(k, Float_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "float", "val", v);} return this; } public Db_stmt Crt_double(String k, double v) {return Add_double(Bool_.Y, k, v);} public Db_stmt Val_double(String k, double v) {return Add_double(Bool_.N, k, v);} public Db_stmt Val_double(double v) {return Add_double(Bool_.N, Key_na, v);} private Db_stmt Add_double(boolean where, String k, double v) { - try {Add(k, Double_.Xto_str(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);} + try {Add(k, Double_.Xto_str(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "double", "val", v);} return this; } public Db_stmt Crt_decimal(String k, DecimalAdp v) {return Add_decimal(Bool_.Y, k, v);} public Db_stmt Val_decimal(String k, DecimalAdp v) {return Add_decimal(Bool_.N, k, v);} public Db_stmt Val_decimal(DecimalAdp v) {return Add_decimal(Bool_.N, Key_na, v);} private Db_stmt Add_decimal(boolean where, String k, DecimalAdp v) { - try {Add(k, v.Xto_str());} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v);} + try {Add(k, v.Xto_str());} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "decimal", "val", v);} return this; } public Db_stmt Crt_bry(String k, byte[] v) {return Add_bry(Bool_.Y, k, v);} public Db_stmt Val_bry(String k, byte[] v) {return Add_bry(Bool_.N, k, v);} public Db_stmt Val_bry(byte[] v) {return Add_bry(Bool_.N, Key_na, v);} private Db_stmt Add_bry(boolean where, String k, byte[] v) {// HACK: convert to String b/c tdb does not support byte[] - try {Add(k, Val_str_wrap(String_.new_u8(v)));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "byte[]", "val", v.length);} + try {Add(k, Val_str_wrap(String_.new_u8(v)));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "byte[]", "val", v.length);} return this; } public Db_stmt Crt_bry_as_str(String k, byte[] v) {return Add_bry_as_str(Bool_.Y, k, v);} @@ -86,7 +86,7 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen public Db_stmt Val_str(String k, String v) {return Add_str(Bool_.N, k, v);} public Db_stmt Val_str(String v) {return Add_str(Bool_.N, Key_na, v);} private Db_stmt Add_str(boolean where, String k, String v) { - try {Add(k, Val_str_wrap(v));} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "String", "val", v);} + try {Add(k, Val_str_wrap(v));} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "String", "val", v);} return this; } public Db_stmt Val_rdr_(gplx.ios.Io_stream_rdr v, long rdr_len) { @@ -94,28 +94,28 @@ public class Db_stmt_sql implements Db_stmt {// used for formatting SQL statemen Bry_bfr bfr = Bry_bfr.new_(); gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v); Add(Key_na, bfr.Xto_str_and_clear()); - } catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} + } catch (Exception e) {throw Err_.new_exc(e, "db", "failed to add value", "type", "rdr", "val", v);} return this; } private String Val_str_wrap(String v) { return "'" + String_.Replace(v, "'", "\\'") + "'"; } public boolean Exec_insert() { - try {boolean rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())) != 0; return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} + try {boolean rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())) != 0; return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} } public int Exec_update() { - try {int rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} + try {int rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} } public int Exec_delete() { - try {int rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} + try {int rv = conn.Exec_qry(Db_qry_sql.dml_(this.Xto_sql())); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} } public DataRdr Exec_select() { - try {DataRdr rv = conn.Exec_qry_as_rdr(Db_qry_sql.rdr_(this.Xto_sql())); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} + try {DataRdr rv = conn.Exec_qry_as_rdr(Db_qry_sql.rdr_(this.Xto_sql())); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} } public Db_rdr Exec_select__rls_auto() {return Db_rdr_.Empty;} public Db_rdr Exec_select__rls_manual() {return Db_rdr_.Empty;} public Object Exec_select_val() { - try {Object rv = Db_qry__select_cmd.Rdr_to_val(this.Exec_select()); return rv;} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} + try {Object rv = Db_qry__select_cmd.Rdr_to_val(this.Exec_select()); return rv;} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to exec prepared statement", "sql", sql_orig);} } public Db_stmt Clear() { args.Clear(); diff --git a/140_dbs/src/gplx/dbs/sqls/Db_obj_ary_crt.java b/140_dbs/src/gplx/dbs/sqls/Db_obj_ary_crt.java index ced9b53d9..063aad5ec 100644 --- a/140_dbs/src/gplx/dbs/sqls/Db_obj_ary_crt.java +++ b/140_dbs/src/gplx/dbs/sqls/Db_obj_ary_crt.java @@ -21,8 +21,8 @@ public class Db_obj_ary_crt implements gplx.core.criterias.Criteria { public byte Tid() {return Criteria_.Tid_db_obj_ary;} public Db_fld[] Flds() {return flds;} public Db_obj_ary_crt Flds_(Db_fld[] v) {this.flds = v; return this;} private Db_fld[] flds; public Object[][] Vals() {return vals;} public void Vals_(Object[][] v) {this.vals = v;} private Object[][] vals; - public void Val_from_args(Hash_adp args) {throw Exc_.new_unimplemented();} - public void Val_as_obj_(Object v) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} + public void Val_as_obj_(Object v) {throw Err_.new_unimplemented();} public boolean Matches(Object obj) {return false;} public String XtoStr() {return "";} public static Db_obj_ary_crt new_(Db_fld... flds) {return new Db_obj_ary_crt().Flds_(flds);} diff --git a/140_dbs/src/gplx/dbs/sqls/Db_sqlbldr__sqlite.java b/140_dbs/src/gplx/dbs/sqls/Db_sqlbldr__sqlite.java index abd4b1316..2de93da3a 100644 --- a/140_dbs/src/gplx/dbs/sqls/Db_sqlbldr__sqlite.java +++ b/140_dbs/src/gplx/dbs/sqls/Db_sqlbldr__sqlite.java @@ -92,7 +92,7 @@ public class Db_sqlbldr__sqlite implements Db_sqlbldr { case Db_meta_fld.Tid_str: tmp_bfr.Add_str_a7("varchar(").Add_int_variable(len).Add_byte(Byte_ascii.Paren_end); break; case Db_meta_fld.Tid_text: tmp_bfr.Add_str_a7("text"); break; case Db_meta_fld.Tid_bry: tmp_bfr.Add_str_a7("blob"); break; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public static final Db_sqlbldr__sqlite I = new Db_sqlbldr__sqlite(); Db_sqlbldr__sqlite() {} diff --git a/140_dbs/src/gplx/dbs/sqls/Sql_qry_wtr_ansi.java b/140_dbs/src/gplx/dbs/sqls/Sql_qry_wtr_ansi.java index 7079d396b..fe8f70926 100644 --- a/140_dbs/src/gplx/dbs/sqls/Sql_qry_wtr_ansi.java +++ b/140_dbs/src/gplx/dbs/sqls/Sql_qry_wtr_ansi.java @@ -31,7 +31,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { case Db_qry_.Tid_select_in_tbl: case Db_qry_.Tid_select: return Bld_qry_select((Db_qry__select_cmd)cmd); case Db_qry_.Tid_sql: return ((Db_qry_sql)cmd).Xto_sql(); - default: throw Exc_.new_unhandled(cmd.Tid()); + default: throw Err_.new_unhandled(cmd.Tid()); } } } @@ -51,7 +51,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { sb.Add(Bld_qry_select(cmd.Select())); return sb.Xto_str_and_clear(); } - int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Exc_.new_("Db_qry_insert has no columns", "base_table", cmd.Base_table()); + int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Err_.new_wo_type("Db_qry_insert has no columns", "base_table", cmd.Base_table()); int last = arg_count - 1; sb.Add_many("INSERT INTO ", cmd.Base_table(), " ("); for (int i = 0; i < arg_count; i++) { @@ -69,7 +69,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { return sb.Xto_str_and_clear(); } private String Bld_qry_update(Db_qry_update cmd) { - int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Exc_.new_("Db_qry_update has no columns", "base_table", cmd.Base_table()); + int arg_count = cmd.Args().Count(); if (arg_count == 0) throw Err_.new_wo_type("Db_qry_update has no columns", "base_table", cmd.Base_table()); sb.Add_many("UPDATE ", cmd.Base_table(), " SET "); for (int i = 0; i < arg_count; i++) { KeyVal pair = cmd.Args().Get_at(i); @@ -140,7 +140,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { sb.Add(" INDEXED BY ").Add(idx_name); } private void Xto_sql_col(String_bldr sb, Object obj) { - if (obj == null) throw Exc_.new_null("ColName"); + if (obj == null) throw Err_.new_null(); sb.Add_obj(obj); // FIXME: options for bracketing; ex: [name] } public void Bld_val(String_bldr sb, Db_arg arg) { @@ -211,7 +211,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { Append_db_obj_ary(sb, (Db_obj_ary_crt)crt); } else { - Criteria_fld leaf = Criteria_fld.as_(crt); if (leaf == null) throw Exc_.new_invalid_op(crt.XtoStr()); + Criteria_fld leaf = Criteria_fld.as_(crt); if (leaf == null) throw Err_.new_invalid_op(crt.XtoStr()); sb.Add(leaf.Key()); Bld_where_crt(sb, leaf.Crt()); } @@ -224,7 +224,7 @@ public class Sql_qry_wtr_ansi implements Sql_qry_wtr { case Criteria_.Tid_in: Bld_where_in(sb, Criteria_in.as_(crt)); break; case Criteria_.Tid_like: Bld_where_like(sb, Criteria_like.as_(crt)); break; case Criteria_.Tid_iomatch: Bld_where_iomatch(sb, Criteria_ioMatch.as_(crt)); break; - default: throw Exc_.new_unhandled(crt); + default: throw Err_.new_unhandled(crt); } } private void Bld_where_eq(String_bldr sb, Criteria_eq crt) { diff --git a/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_base.java b/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_base.java index fe7edd4e7..4bdf866a2 100644 --- a/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_base.java +++ b/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_base.java @@ -31,8 +31,8 @@ public abstract class Sql_select_fld_base { } } class Sql_select_fld_wild extends Sql_select_fld_base { - @Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {throw Exc_.new_("group by eval not allowed on *");} - @Override public void GroupBy_type(GfoFld fld) {throw Exc_.new_("group by type not allowed on *");} + @Override public Object GroupBy_eval(Object groupByVal, Object curVal, ClassXtn type) {throw Err_.new_wo_type("group by eval not allowed on *");} + @Override public void GroupBy_type(GfoFld fld) {throw Err_.new_wo_type("group by type not allowed on *");} @Override public String XtoSql() {return "*";} public static final Sql_select_fld_wild _ = new Sql_select_fld_wild(); Sql_select_fld_wild() {this.ctor_(Tbl_null, "*", "*");} } diff --git a/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_list.java b/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_list.java index dd0081d28..4774e2a59 100644 --- a/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_list.java +++ b/140_dbs/src/gplx/dbs/sqls/Sql_select_fld_list.java @@ -28,8 +28,8 @@ public class Sql_select_fld_list { for (int i = 0; i < this.Count(); i++) { Sql_select_fld_base selectFld = this.Get_at(i); GfoFld fld = tbl.Flds().FetchOrNull(selectFld.Fld()); - if (fld == null) throw Exc_.new_("fld not found in tbl", "fldName", selectFld.Fld(), "tblName", tbl.Name(), "tblFlds", tbl.Flds().XtoStr()); - if (rv.Has(selectFld.Alias())) throw Exc_.new_("alias is not unique", "fldName", selectFld.Fld(), "flds", rv.XtoStr()); + if (fld == null) throw Err_.new_wo_type("fld not found in tbl", "fldName", selectFld.Fld(), "tblName", tbl.Name(), "tblFlds", tbl.Flds().XtoStr()); + if (rv.Has(selectFld.Alias())) throw Err_.new_wo_type("alias is not unique", "fldName", selectFld.Fld(), "flds", rv.XtoStr()); selectFld.GroupBy_type(fld); rv.Add(selectFld.Alias(), selectFld.ValType()); } diff --git a/140_dbs/src/gplx/dbs/utls/PoolIds.java b/140_dbs/src/gplx/dbs/utls/PoolIds.java index 929f08eb2..471c81d55 100644 --- a/140_dbs/src/gplx/dbs/utls/PoolIds.java +++ b/140_dbs/src/gplx/dbs/utls/PoolIds.java @@ -42,7 +42,7 @@ public class PoolIds { if (rv == 0) { rv = conn.Exec_qry(Db_qry_.insert_(Tbl_Name).Arg_(Fld_id_path, url).Arg_(Fld_id_next_id, val)); } - if (rv != 1) throw Exc_.new_("failed to update nextId", "url", url, "nextId", val); + if (rv != 1) throw Err_.new_wo_type("failed to update nextId", "url", url, "nextId", val); } public static final String Tbl_Name = "pool_ids"; @gplx.Internal protected static final String Fld_id_path = "id_path"; diff --git a/140_dbs/src/gplx/stores/DbMaprItm.java b/140_dbs/src/gplx/stores/DbMaprItm.java index 2a14343e4..c1a8693a7 100644 --- a/140_dbs/src/gplx/stores/DbMaprItm.java +++ b/140_dbs/src/gplx/stores/DbMaprItm.java @@ -40,7 +40,7 @@ public class DbMaprItm { DbMaprItm itm = (DbMaprItm)itmObj; if (String_.Eq(find, itm.key)) return itm; } - throw Err_arg.notFound_key_("find", find); + throw Err_.new_missing_key(find); } public DbMaprArg Flds_get(String key) {return (DbMaprArg)flds.Get_by(key);} SrlObj proto; String key; List_adp subs = List_adp_.new_(); diff --git a/140_dbs/src/gplx/stores/DbMaprRdr.java b/140_dbs/src/gplx/stores/DbMaprRdr.java index 05d81be14..4e486a1b2 100644 --- a/140_dbs/src/gplx/stores/DbMaprRdr.java +++ b/140_dbs/src/gplx/stores/DbMaprRdr.java @@ -23,7 +23,7 @@ public class DbMaprRdr extends DataRdr_base implements SrlMgr { mgr = (DbMaprMgr)this.EnvVars().Get_by_or_fail(DbMaprWtr.Key_Mgr); DbMaprItm rootMapr = mgr.Root(); - GfoNde tbl = GetTbl(rootMapr, rootCrt); int subsCount = tbl.Subs().Count(); if (subsCount == 0) return null; if (subsCount > 1) throw Exc_.new_("criteria returned > 1 row", "criteria", rootCrt.XtoStr(), "subsCount", subsCount); + GfoNde tbl = GetTbl(rootMapr, rootCrt); int subsCount = tbl.Subs().Count(); if (subsCount == 0) return null; if (subsCount > 1) throw Err_.new_wo_type("criteria returned > 1 row", "criteria", rootCrt.XtoStr(), "subsCount", subsCount); SrlObj root = subProto.SrlObj_New(null); mgr.EnvStack_add(rootMapr, root); RowStack_add(tbl, 0); root.SrlObj_Srl(this); @@ -94,22 +94,22 @@ public class DbMaprRdr extends DataRdr_base implements SrlMgr { return rv; } void RowStack_add(GfoNde tbl, int i) { - GfoNdeList ndeList = tbl.Subs(); if (i >= ndeList.Count()) throw Err_arg.outOfBounds_("rowIdx", i, ndeList.Count()); + GfoNdeList ndeList = tbl.Subs(); if (i >= ndeList.Count()) throw Err_.new_missing_idx(i, ndeList.Count()); rowStack.Add(tbl.Subs().FetchAt_asGfoNde(i)); } @Override public Object Read(String key) { DbMaprItm mapr = (DbMaprItm)mgr.MaprStack().Get_at_last(); GfoNde row = (GfoNde)rowStack.Get_at_last(); DbMaprArg arg = mapr.Flds_get(key); - Object dbVal = null; try {dbVal = row.Read(arg.DbFld());} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to read dbVal from row", "key", key, "fld", arg.DbFld());} + Object dbVal = null; try {dbVal = row.Read(arg.DbFld());} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to read dbVal from row", "key", key, "fld", arg.DbFld());} return dbVal; } - @Override public DataRdr Subs_byName_moveFirst(String name) {throw Exc_.new_unimplemented();} - @Override public DataRdr Subs() {throw Exc_.new_unimplemented();} - @Override public int FieldCount() {throw Exc_.new_unimplemented();} - @Override public String KeyAt(int i) {throw Exc_.new_unimplemented();} - @Override public Object ReadAt(int i) {throw Exc_.new_unimplemented();} - @Override public KeyVal KeyValAt(int i) {throw Exc_.new_unimplemented();} + @Override public DataRdr Subs_byName_moveFirst(String name) {throw Err_.new_unimplemented();} + @Override public DataRdr Subs() {throw Err_.new_unimplemented();} + @Override public int FieldCount() {throw Err_.new_unimplemented();} + @Override public String KeyAt(int i) {throw Err_.new_unimplemented();} + @Override public Object ReadAt(int i) {throw Err_.new_unimplemented();} + @Override public KeyVal KeyValAt(int i) {throw Err_.new_unimplemented();} @Override public SrlMgr SrlMgr_new(Object o) {return new DbMaprRdr();} Hash_adp tables = Hash_adp_.new_(); Db_conn conn; Criteria rootCrt; diff --git a/140_dbs/src/gplx/stores/DbMaprWtr.java b/140_dbs/src/gplx/stores/DbMaprWtr.java index b1700aa9e..c083eb9b8 100644 --- a/140_dbs/src/gplx/stores/DbMaprWtr.java +++ b/140_dbs/src/gplx/stores/DbMaprWtr.java @@ -63,7 +63,7 @@ public class DbMaprWtr extends DataWtr_base implements DataWtr { } @Override public void WriteData(String name, Object val) { DbMaprItm ownerMapr = (DbMaprItm)mgr.MaprStack().Get_at_last(); - String fld = ""; try {fld = ownerMapr.Flds_get(name).DbFld();} catch (Exception e) {throw Exc_.new_exc(e, "db", "failed to fetch fld from mapr", "key", name);} + String fld = ""; try {fld = ownerMapr.Flds_get(name).DbFld();} catch (Exception e) {throw Err_.new_exc(e, "db", "failed to fetch fld from mapr", "key", name);} WriteDataVal(fld, val); } void WriteDataVal(String fld, Object val) { diff --git a/140_dbs/src/gplx/stores/Db_data_rdr.java b/140_dbs/src/gplx/stores/Db_data_rdr.java index 6b4516703..55dfde419 100644 --- a/140_dbs/src/gplx/stores/Db_data_rdr.java +++ b/140_dbs/src/gplx/stores/Db_data_rdr.java @@ -30,17 +30,17 @@ public class Db_data_rdr extends DataRdr_base implements DataRdr { @Override public String KeyAt(int i) { String rv = null; try {rv = rdr.getMetaData().getColumnLabel(i + List_adp_.Base1);} - catch (SQLException e) {throw Exc_.new_exc(e, "db", "get columnName failed", "i", i, "commandText", commandText);} + catch (SQLException e) {throw Err_.new_exc(e, "db", "get columnName failed", "i", i, "commandText", commandText);} return rv; } @Override public Object ReadAt(int i) { Object rv; - try {rv = rdr.getObject(i + List_adp_.Base1);} catch(Exception exc) {throw Exc_.new_("could not read val from dataReader; idx not found or rdr not open", "idx", i, "sql", commandText);} + try {rv = rdr.getObject(i + List_adp_.Base1);} catch(Exception exc) {throw Err_.new_wo_type("could not read val from dataReader; idx not found or rdr not open", "idx", i, "sql", commandText);} return rv; } @Override public Object Read(String key) { Object rv; - try {rv = rdr.getObject(key);} catch(Exception exc) {throw Exc_.new_("could not read val from dataReader; key not found or rdr may not be open", "key", key, "sql", commandText);} + try {rv = rdr.getObject(key);} catch(Exception exc) {throw Err_.new_wo_type("could not read val from dataReader; key not found or rdr may not be open", "key", key, "sql", commandText);} return rv; } @Override public DateAdp ReadDate(String key) { @@ -61,20 +61,20 @@ public class Db_data_rdr extends DataRdr_base implements DataRdr { public boolean MoveNextPeer() { try {return rdr.next();} - catch (Exception e) {throw Exc_.new_exc(e, "db", "could not move next; check column casting error in SQL", "sql", commandText);} + catch (Exception e) {throw Err_.new_exc(e, "db", "could not move next; check column casting error in SQL", "sql", commandText);} } - @Override public DataRdr Subs() {throw Exc_.new_unimplemented();} - public DataRdr Subs_byName(String fld) {throw Exc_.new_unimplemented();} - @Override public DataRdr Subs_byName_moveFirst(String fld) {throw Exc_.new_unimplemented();} + @Override public DataRdr Subs() {throw Err_.new_unimplemented();} + public DataRdr Subs_byName(String fld) {throw Err_.new_unimplemented();} + @Override public DataRdr Subs_byName_moveFirst(String fld) {throw Err_.new_unimplemented();} public void Rls() { try {rdr.close();} - catch (SQLException e) {throw Exc_.new_exc(e, "db", "reader dispose failed", "commandText", commandText);} + catch (SQLException e) {throw Err_.new_exc(e, "db", "reader dispose failed", "commandText", commandText);} this.EnvVars().Clear(); } @gplx.Internal protected Db_data_rdr ctor_db_data_rdr(ResultSet rdr, String commandText) { this.rdr = rdr; this.commandText = commandText; this.Parse_set(false); try {fieldCount = this.rdr.getMetaData().getColumnCount();} - catch (SQLException e) {Exc_.new_exc(e, "xo", "get columnCount failed", "commandText", commandText);} + catch (SQLException e) {Err_.new_exc(e, "xo", "get columnCount failed", "commandText", commandText);} return this; } @Override public SrlMgr SrlMgr_new(Object o) {return new Db_data_rdr();} diff --git a/140_dbs/tst/gplx/dbs/Db_conn_fxt.java b/140_dbs/tst/gplx/dbs/Db_conn_fxt.java index e2325db72..82b212817 100644 --- a/140_dbs/tst/gplx/dbs/Db_conn_fxt.java +++ b/140_dbs/tst/gplx/dbs/Db_conn_fxt.java @@ -33,7 +33,7 @@ public class Db_conn_fxt implements RlsAble { rdr = conn.Exec_qry_as_rdr(qry); tbl = GfoNde_.rdr_(rdr); } - catch (Exception e) {Exc_.Noop(e); rdr.Rls();} + catch (Exception e) {Err_.Noop(e); rdr.Rls();} Tfds.Eq(expd, tbl.Subs().Count(), "Exec_qry_as_rdr failed: sql={0}", qry.Xto_sql()); } GfoNde tbl; public GfoNde tst_RowAry(int index, Object... expdValAry) { diff --git a/140_dbs/xtn/gplx/dbs/SqliteDbMain.java b/140_dbs/xtn/gplx/dbs/SqliteDbMain.java index adc01d285..a3932bd81 100644 --- a/140_dbs/xtn/gplx/dbs/SqliteDbMain.java +++ b/140_dbs/xtn/gplx/dbs/SqliteDbMain.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.dbs; -import gplx.*; import gplx.dbs.engines.sqlite.*; +import gplx.*; import gplx.core.consoles.*; import gplx.dbs.engines.sqlite.*; import java.nio.ByteBuffer; import java.nio.CharBuffer; import java.nio.charset.Charset; @@ -123,7 +123,7 @@ public class SqliteDbMain { } rs.close(); }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } void Index() { @@ -140,7 +140,7 @@ public class SqliteDbMain { conn.commit(); conn.setAutoCommit(true); }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } void Mass_upload(Io_url dir) { @@ -162,7 +162,7 @@ public class SqliteDbMain { ); stat.executeUpdate(sql); - ConsoleAdp._.WriteLine(DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss_fff()); + Console_adp__sys.I.Write_str_w_nl(DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss_fff()); // stat.executeUpdate("BEGIN TRANSACTION"); stat.executeUpdate("PRAGMA synchronous=OFF"); stat.executeUpdate("PRAGMA count_changes=OFF"); @@ -176,13 +176,13 @@ public class SqliteDbMain { conn.commit(); conn.setAutoCommit(true); }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } void Iterate_dir(Io_url dir) { Io_url[] urls = Io_mgr.I.QueryDir_args(dir).DirInclude_().ExecAsUrlAry(); int urls_len = urls.length; - ConsoleAdp._.WriteLine(dir.Raw()); + Console_adp__sys.I.Write_str_w_nl(dir.Raw()); boolean is_root = false; for (int i = 0; i < urls_len; i++) { Io_url url = urls[i]; @@ -193,7 +193,7 @@ public class SqliteDbMain { is_root = true; Insert_file(url); }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } } @@ -203,7 +203,7 @@ public class SqliteDbMain { stmt.clearBatch(); } }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } void Insert_file(Io_url url) { @@ -239,7 +239,7 @@ public class SqliteDbMain { } stmt.addBatch(); }catch(Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } } } \ No newline at end of file diff --git a/150_gfui/src_100_basic/gplx/gfui/GfuiAlign_.java b/150_gfui/src_100_basic/gplx/gfui/GfuiAlign_.java index 80292fe94..577e1d31c 100644 --- a/150_gfui/src_100_basic/gplx/gfui/GfuiAlign_.java +++ b/150_gfui/src_100_basic/gplx/gfui/GfuiAlign_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class GfuiAlign_ implements ParseAble { public static GfuiAlign as_(Object obj) {return obj instanceof GfuiAlign ? (GfuiAlign)obj : null;} - public static GfuiAlign cast_(Object obj) {try {return (GfuiAlign)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiAlign.class, obj);}} + public static GfuiAlign cast_(Object obj) {try {return (GfuiAlign)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiAlign.class, obj);}} public static final GfuiAlign Null = new_(0, "nil") , Lo = new_(1, "lo") @@ -55,7 +55,7 @@ public class GfuiAlign_ implements ParseAble { else if (posEnm == GfuiAlign_.Lo.Val()) rv = 0; else if (posEnm == GfuiAlign_.Mid.Val()) rv = (outerSize - innerSize) / 2; else if (posEnm == GfuiAlign_.Hi.Val()) rv = outerSize - innerSize; - else throw Exc_.new_unhandled(posEnm); + else throw Err_.new_unhandled(posEnm); if (rv < 0) rv = 0; return rv; } diff --git a/150_gfui/src_100_basic/gplx/gfui/GfuiBorderEdge.java b/150_gfui/src_100_basic/gplx/gfui/GfuiBorderEdge.java index 67401e947..331246582 100644 --- a/150_gfui/src_100_basic/gplx/gfui/GfuiBorderEdge.java +++ b/150_gfui/src_100_basic/gplx/gfui/GfuiBorderEdge.java @@ -37,7 +37,7 @@ class GfuiBorderEdge_ { else if (val == GfuiBorderEdge.Top.Val()) return Top_raw; else if (val == GfuiBorderEdge.Bot.Val()) return Bot_raw; else if (val == GfuiBorderEdge.All.Val()) return All_raw; - else throw Exc_.new_unhandled(edge); + else throw Err_.new_unhandled(edge); } public static GfuiBorderEdge parse_(String raw) { if (String_.Eq(raw, Left_raw)) return GfuiBorderEdge.Left; @@ -45,7 +45,7 @@ class GfuiBorderEdge_ { else if (String_.Eq(raw, Top_raw)) return GfuiBorderEdge.Top; else if (String_.Eq(raw, Bot_raw)) return GfuiBorderEdge.Bot; else if (String_.Eq(raw, All_raw)) return GfuiBorderEdge.All; - else throw Exc_.new_unhandled(raw); + else throw Err_.new_unhandled(raw); } public static final String All_raw = "all" diff --git a/150_gfui/src_100_basic/gplx/gfui/PointAdp_.java b/150_gfui/src_100_basic/gplx/gfui/PointAdp_.java index a0df03cf6..2514babc0 100644 --- a/150_gfui/src_100_basic/gplx/gfui/PointAdp_.java +++ b/150_gfui/src_100_basic/gplx/gfui/PointAdp_.java @@ -20,13 +20,13 @@ public class PointAdp_ { public static final PointAdp Null = new PointAdp(Int_.MinValue, Int_.MinValue); public static final PointAdp Zero = new PointAdp(0, 0); public static PointAdp as_(Object obj) {return obj instanceof PointAdp ? (PointAdp)obj : null;} - public static PointAdp cast_(Object obj) {try {return (PointAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, PointAdp.class, obj);}} + public static PointAdp cast_(Object obj) {try {return (PointAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, PointAdp.class, obj);}} public static PointAdp new_(int x, int y) {return new PointAdp(x, y);} public static PointAdp coerce_(Object o) {PointAdp rv = PointAdp_.as_(o); return (rv == null) ? parse_((String)o) : rv;} public static PointAdp parse_(String raw) { try { String[] ary = String_.Split(raw, ","); return new PointAdp(Int_.parse_(ary[0]), Int_.parse_(ary[1])); - } catch (Exception exc) {throw Exc_.new_parse_exc(exc, PointAdp.class, raw);} + } catch (Exception exc) {throw Err_.new_parse_exc(exc, PointAdp.class, raw);} } } diff --git a/150_gfui/src_100_basic/gplx/gfui/RectAdp_.java b/150_gfui/src_100_basic/gplx/gfui/RectAdp_.java index 9f8fc3686..61b03fa08 100644 --- a/150_gfui/src_100_basic/gplx/gfui/RectAdp_.java +++ b/150_gfui/src_100_basic/gplx/gfui/RectAdp_.java @@ -28,7 +28,7 @@ public class RectAdp_ { try { String[] ary = String_.Split(raw, ","); return RectAdp_.new_(Int_.parse_(ary[0]), Int_.parse_(ary[1]), Int_.parse_(ary[2]), Int_.parse_(ary[3])); - } catch(Exception exc) {throw Exc_.new_parse_exc(exc, RectAdp.class, raw);} + } catch(Exception exc) {throw Err_.new_parse_exc(exc, RectAdp.class, raw);} } public static String Xto_str(RectAdp rect) {return String_.Format("{0},{1},{2},{3}", rect.X(), rect.Y(), rect.Width(), rect.Height());} } diff --git a/150_gfui/src_100_basic/gplx/gfui/SizeAdpF_.java b/150_gfui/src_100_basic/gplx/gfui/SizeAdpF_.java index 590f0a12e..e97438826 100644 --- a/150_gfui/src_100_basic/gplx/gfui/SizeAdpF_.java +++ b/150_gfui/src_100_basic/gplx/gfui/SizeAdpF_.java @@ -25,10 +25,10 @@ public class SizeAdpF_ { public static SizeAdpF coerce_(Object obj) {SizeAdpF rv = as_(obj); return rv == null ? parse_((String)obj) : rv;} public static SizeAdpF parse_(String s) { try { - String[] ary = String_.Split(s, ","); if (ary.length != 2) throw Exc_.new_("SizeAdf should only have 2 numbers separated by 1 comma"); + String[] ary = String_.Split(s, ","); if (ary.length != 2) throw Err_.new_wo_type("SizeAdf should only have 2 numbers separated by 1 comma"); float val1 = Float_.parse_(ary[0]); float val2 = Float_.parse_(ary[1]); return new_(val1, val2); - } catch (Exception e) {throw Exc_.new_parse_exc(e, SizeAdpF.class, s);} + } catch (Exception e) {throw Err_.new_parse_exc(e, SizeAdpF.class, s);} } } diff --git a/150_gfui/src_100_basic/gplx/gfui/SizeAdp_.java b/150_gfui/src_100_basic/gplx/gfui/SizeAdp_.java index 1066663b5..0e5d5f406 100644 --- a/150_gfui/src_100_basic/gplx/gfui/SizeAdp_.java +++ b/150_gfui/src_100_basic/gplx/gfui/SizeAdp_.java @@ -20,7 +20,7 @@ public class SizeAdp_ { public static final SizeAdp Null = new SizeAdp(Int_.MinValue, Int_.MinValue); public static final SizeAdp Zero = new SizeAdp(0, 0); public static final SizeAdp[] Ary_empty = new SizeAdp[0]; - public static SizeAdp cast_(Object obj) {try {return (SizeAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, SizeAdp.class, obj);}} + public static SizeAdp cast_(Object obj) {try {return (SizeAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, SizeAdp.class, obj);}} public static SizeAdp new_(int width, int height) {return new SizeAdp(width, height);} public static SizeAdp parse_(String raw) {return parse_or_(raw, SizeAdp_.Null);} public static SizeAdp parse_or_(String raw, SizeAdp or) { diff --git a/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp_.java b/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp_.java index 62f3e2aad..de60a7db1 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp_.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp_.java @@ -19,7 +19,7 @@ package gplx.gfui; import gplx.*; import gplx.texts.*; public class ColorAdp_ implements ParseAble { public static ColorAdp as_(Object obj) {return obj instanceof ColorAdp ? (ColorAdp)obj : null;} - public static ColorAdp cast_(Object obj) {try {return (ColorAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, ColorAdp.class, obj);}} + public static ColorAdp cast_(Object obj) {try {return (ColorAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, ColorAdp.class, obj);}} public static ColorAdp new_(int a, int r, int g, int b) {return ColorAdp.new_((int)a, (int)r, (int)g, (int)b);} public static final ColorAdp_ Parser = new ColorAdp_(); public Object ParseAsObj(String raw) {return ColorAdp_.parse_(raw);} @@ -28,7 +28,7 @@ public class ColorAdp_ implements ParseAble { return rv; } public static ColorAdp parse_(String raw) { - ColorAdp rv = parse_internal_(raw); if (rv == null) throw Exc_.new_parse_type(ColorAdp.class, raw); + ColorAdp rv = parse_internal_(raw); if (rv == null) throw Err_.new_parse_type(ColorAdp.class, raw); return rv; } static ColorAdp parse_internal_(String raw) { @@ -66,7 +66,7 @@ public class ColorAdp_ implements ParseAble { ary[idx++] = HexDecUtl.parse_(hexStr); } return ColorAdp.new_(ary[0], ary[1], ary[2], ary[3]); - } catch (Exception exc) {throw Exc_.new_parse_exc(exc, ColorAdp.class, raw);} + } catch (Exception exc) {throw Err_.new_parse_exc(exc, ColorAdp.class, raw);} } @gplx.Internal protected static ColorAdp parse_int_(String v) { String[] ary = String_.Split(v, ","); @@ -74,7 +74,7 @@ public class ColorAdp_ implements ParseAble { case 1: return new_int_(Int_.parse_(ary[0])); case 3: case 4: return parse_int_ary_(ary); - default: throw Exc_.new_("invalid array", "len", ary.length); + default: throw Err_.new_wo_type("invalid array", "len", ary.length); } } static ColorAdp parse_int_ary_(String[] ary) { diff --git a/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java b/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java index c361027a1..386c18b32 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java @@ -56,7 +56,7 @@ public class FontAdp implements GfoInvkAble { public static final FontAdp NullPtr = null; public static FontAdp as_(Object obj) {return obj instanceof FontAdp ? (FontAdp)obj : null;} - public static FontAdp cast_(Object obj) {try {return (FontAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, FontAdp.class, obj);}} + public static FontAdp cast_(Object obj) {try {return (FontAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, FontAdp.class, obj);}} public static FontAdp new_(String name, float size, FontStyleAdp style) { FontAdp rv = new FontAdp(); rv.name = name; rv.size = size; rv.style = style; diff --git a/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.java b/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.java index 5ec65746b..0e44c842c 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.java @@ -27,7 +27,7 @@ public class FontStyleAdp_ implements ParseAble { public static final FontStyleAdp_ Parser = new FontStyleAdp_(); public Object ParseAsObj(String raw) {return FontStyleAdp_.parse_(raw);} - public static FontStyleAdp cast_(Object obj) {try {return (FontStyleAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, FontStyleAdp.class, obj);}} + public static FontStyleAdp cast_(Object obj) {try {return (FontStyleAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, FontStyleAdp.class, obj);}} public static FontStyleAdp parseOr_(String raw, FontStyleAdp or) { FontStyleAdp rv = parse_internal_(raw); if (rv == null) return or; return rv; @@ -38,7 +38,7 @@ public class FontStyleAdp_ implements ParseAble { return lang_(v); } public static FontStyleAdp parse_(String raw) { - FontStyleAdp rv = parse_internal_(raw); if (rv == null) throw Exc_.new_unhandled(raw); + FontStyleAdp rv = parse_internal_(raw); if (rv == null) throw Err_.new_unhandled(raw); return rv; } public static FontStyleAdp read_(Object o) {String s = String_.as_(o); return s != null ? FontStyleAdp_.parse_(s) : FontStyleAdp_.cast_(o);} @@ -55,7 +55,7 @@ public class FontStyleAdp_ implements ParseAble { else if (v == Bold.Val()) return Bold; else if (v == Italic.Val()) return Italic; else if (v == BoldItalic.Val()) return BoldItalic; - else throw Err_arg.notFound_key_("v", v); + else throw Err_.new_unhandled(v); } public static String XtoStr_(FontStyleAdp fontStyle) { int val = fontStyle.Val(); @@ -63,6 +63,6 @@ public class FontStyleAdp_ implements ParseAble { else if (val == FontStyleAdp_.Bold.Val()) return "bold"; else if (val == FontStyleAdp_.Italic.Val()) return "italic"; else if (val == FontStyleAdp_.BoldItalic.Val()) return "bold+italic"; - else throw Exc_.new_unhandled(val); + else throw Err_.new_unhandled(val); } } diff --git a/150_gfui/src_110_draw_core/gplx/gfui/PenAdp_.java b/150_gfui/src_110_draw_core/gplx/gfui/PenAdp_.java index 02ea42faa..306d137c6 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/PenAdp_.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/PenAdp_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class PenAdp_ { public static PenAdp as_(Object obj) {return obj instanceof PenAdp ? (PenAdp)obj : null;} - public static PenAdp cast_(Object obj) {try {return (PenAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, PenAdp.class, obj);}} + public static PenAdp cast_(Object obj) {try {return (PenAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, PenAdp.class, obj);}} public static PenAdp black_() {return new_(ColorAdp_.Black, 1);} public static PenAdp new_(ColorAdp color) {return new_(color, 1);} public static PenAdp new_(ColorAdp color, float width) {return new PenAdp(color, width);} diff --git a/150_gfui/src_110_draw_core/gplx/gfui/SolidBrushAdp_.java b/150_gfui/src_110_draw_core/gplx/gfui/SolidBrushAdp_.java index e3c3fd283..5ab91d347 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/SolidBrushAdp_.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/SolidBrushAdp_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class SolidBrushAdp_ { public static SolidBrushAdp as_(Object obj) {return obj instanceof SolidBrushAdp ? (SolidBrushAdp)obj : null;} - public static SolidBrushAdp cast_(Object obj) {try {return (SolidBrushAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, SolidBrushAdp.class, obj);}} + public static SolidBrushAdp cast_(Object obj) {try {return (SolidBrushAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, SolidBrushAdp.class, obj);}} public static final SolidBrushAdp Black = new_(ColorAdp_.Black); public static final SolidBrushAdp White = new_(ColorAdp_.White); public static final SolidBrushAdp Null = new_(ColorAdp_.Null); diff --git a/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.java b/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.java index e67324683..c6adb3b56 100644 --- a/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.java +++ b/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.java @@ -50,7 +50,7 @@ public class GfuiBorderMgr { else if (val == GfuiBorderEdge.Right.Val()) {right = pen; return;} else if (val == GfuiBorderEdge.Top.Val()) {top = pen; return;} else if (val == GfuiBorderEdge.Bot.Val()) {bot = pen; return;} - else throw Exc_.new_unhandled(edge); + else throw Err_.new_unhandled(edge); } void SyncPens(boolean isAll) { if (isAll) { diff --git a/150_gfui/src_120_draw_objs/gplx/gfui/PaintArgs.java b/150_gfui/src_120_draw_objs/gplx/gfui/PaintArgs.java index ab6f211f4..8b95feed7 100644 --- a/150_gfui/src_120_draw_objs/gplx/gfui/PaintArgs.java +++ b/150_gfui/src_120_draw_objs/gplx/gfui/PaintArgs.java @@ -20,7 +20,7 @@ public class PaintArgs { public GfxAdp Graphics() {return graphics;} GfxAdp graphics; public RectAdp ClipRect() {return clipRect;} RectAdp clipRect; - public static PaintArgs cast_(Object obj) {try {return (PaintArgs)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, PaintArgs.class, obj);}} + public static PaintArgs cast_(Object obj) {try {return (PaintArgs)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, PaintArgs.class, obj);}} public static PaintArgs new_(GfxAdp graphics, RectAdp clipRect) { PaintArgs rv = new PaintArgs(); rv.graphics = graphics; rv.clipRect = clipRect; diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptArg_.java b/150_gfui/src_200_ipt/gplx/gfui/IptArg_.java index 6fa5ce32d..7ba8d44a8 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptArg_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptArg_.java @@ -46,7 +46,7 @@ public class IptArg_ { : parse_(raw); } catch (Exception exc) { // as an "or" proc, handle errors; note that it may accept raw values from cfg files, so invalid input is possible; DATE:2014-06-04 - Exc_.Noop(exc); + Err_.Noop(exc); return IptKey_.None; } } @@ -66,7 +66,7 @@ public class IptArg_ { else if (type == IptMouseBtn.class) return IptEventType_.MouseUp; // changed from MouseDown; confirmed against Firefox, Eclipse; DATE:2014-05-16 else if (type == IptMouseWheel.class) return IptEventType_.MouseWheel; else if (type == IptMouseMove.class) return IptEventType_.MouseMove; - else throw Exc_.new_unhandled(type); + else throw Err_.new_unhandled(type); } @gplx.Internal protected static boolean EventType_match(IptArg arg, IptEventType match) { Class type = arg.getClass(); @@ -75,7 +75,7 @@ public class IptArg_ { else if (type == IptMouseBtn.class) return match == IptEventType_.MouseDown || match == IptEventType_.MouseUp || match == IptEventType_.MousePress; else if (type == IptMouseWheel.class) return match == IptEventType_.MouseWheel; else if (type == IptMouseMove.class) return match == IptEventType_.MouseMove; - else throw Exc_.new_unhandled(type); + else throw Err_.new_unhandled(type); } } class IptMacro { @@ -113,6 +113,6 @@ class IptMacro { return rv; } Ordered_hash regy; - static Exc parse_err(String raw, String loc) {return Exc_.new_w_type("gfui", "could not parse IptArg", "raw", raw, "loc", loc).Stack_erase_1_();} + static Err parse_err(String raw, String loc) {return Err_.new_("gfui", "could not parse IptArg", "raw", raw, "loc", loc).Trace_ignore_add_1_();} public static final IptMacro _ = new IptMacro(); IptMacro() {} } diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr.java b/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr.java index ec89f5e81..41388b3e4 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr.java @@ -166,7 +166,7 @@ public class IptBndMgr implements SrlAble { else if (v == IptEventType_.MouseMove.Val()) return 5; else if (v == IptEventType_.MouseWheel.Val()) return 6; else if (v == IptEventType_.MousePress.Val()) return 7; - else throw Exc_.new_unhandled(v); + else throw Err_.new_unhandled(v); } } class IptBndHash implements SrlAble { diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptBnd_upDownRange.java b/150_gfui/src_200_ipt/gplx/gfui/IptBnd_upDownRange.java index dc6d76309..2e620c3d5 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptBnd_upDownRange.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptBnd_upDownRange.java @@ -31,7 +31,7 @@ public class IptBnd_upDownRange implements InjectAble, GfoInvkAble, GfoEvObj { if (ctx.Match(k, Invk_TxtBox_dec)) ExecCmd(cmd, curVal - 1); else if (ctx.Match(k, Invk_TxtBox_inc)) ExecCmd(cmd, curVal + 1); else if (ctx.Match(k, Invk_TxtBox_exec)) { - Object valObj = IntClassXtn._.ParseOrNull(txtBox.Text()); if (valObj == null) throw Exc_.new_("invalid int", "text", txtBox.Text()); + Object valObj = IntClassXtn._.ParseOrNull(txtBox.Text()); if (valObj == null) throw Err_.new_wo_type("invalid int", "text", txtBox.Text()); ExecCmd(doIt, Int_.cast_(valObj)); } else if (ctx.Match(k, evt)) WhenEvt(ctx, m); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptEventData.java b/150_gfui/src_200_ipt/gplx/gfui/IptEventData.java index 2d30f1a63..b141d02cd 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptEventData.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptEventData.java @@ -36,7 +36,7 @@ public class IptEventData { } public static IptEventData as_(Object obj) {return obj instanceof IptEventData ? (IptEventData)obj : null;} - public static IptEventData cast_(Object obj) {try {return (IptEventData)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, IptEventData.class, obj);}} + public static IptEventData cast_(Object obj) {try {return (IptEventData)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, IptEventData.class, obj);}} @gplx.Internal protected static IptEventData new_(GfuiElem sender, IptEventType eventType, IptArg eventArg, IptEvtDataKey keyData, IptEvtDataMouse mouseData) {return new_(sender, eventType, eventArg, keyData, IptEvtDataKeyHeld.Null, mouseData);} @gplx.Internal protected static IptEventData new_(GfuiElem sender, IptEventType eventType, IptArg eventArg, IptEvtDataKey keyData, IptEvtDataKeyHeld keyPressData, IptEvtDataMouse mouseData) { IptEventData rv = new IptEventData(); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKey.java b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKey.java index 1ec63107a..475ebccc1 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKey.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKey.java @@ -21,7 +21,7 @@ public class IptEvtDataKey { public boolean Handled() {return handled;} public void Handled_set(boolean v) {handled = v;} private boolean handled; public static IptEvtDataKey as_(Object obj) {return obj instanceof IptEvtDataKey ? (IptEvtDataKey)obj : null;} - public static IptEvtDataKey cast_(Object obj) {try {return (IptEvtDataKey)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, IptEvtDataKey.class, obj);}} + public static IptEvtDataKey cast_(Object obj) {try {return (IptEvtDataKey)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, IptEvtDataKey.class, obj);}} @gplx.Internal protected static final IptEvtDataKey Null = new_(IptKey_.None); @gplx.Internal protected static IptEvtDataKey test_(IptKey keyArg) {return new_(keyArg);} @gplx.Internal protected static IptEvtDataKey int_(int val) { diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKeyHeld.java b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKeyHeld.java index 23d8bba40..f1db51a2e 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKeyHeld.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataKeyHeld.java @@ -21,7 +21,7 @@ public class IptEvtDataKeyHeld { public boolean Handled() {return handled;} public void Handled_set(boolean v) {handled = v;} private boolean handled; public static IptEvtDataKeyHeld as_(Object obj) {return obj instanceof IptEvtDataKeyHeld ? (IptEvtDataKeyHeld)obj : null;} - public static IptEvtDataKeyHeld cast_(Object obj) {try {return (IptEvtDataKeyHeld)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, IptEvtDataKeyHeld.class, obj);}} + public static IptEvtDataKeyHeld cast_(Object obj) {try {return (IptEvtDataKeyHeld)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, IptEvtDataKeyHeld.class, obj);}} @gplx.Internal protected static final IptEvtDataKeyHeld Null = char_((char)0); @gplx.Internal protected static IptEvtDataKeyHeld char_(char c) { IptEvtDataKeyHeld rv = new IptEvtDataKeyHeld(); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataMouse.java b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataMouse.java index 577482287..278759294 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataMouse.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptEvtDataMouse.java @@ -22,7 +22,7 @@ public class IptEvtDataMouse { public PointAdp Pos() {return location;} PointAdp location; public static IptEvtDataMouse as_(Object obj) {return obj instanceof IptEvtDataMouse ? (IptEvtDataMouse)obj : null;} - public static IptEvtDataMouse cast_(Object obj) {try {return (IptEvtDataMouse)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, IptEvtDataMouse.class, obj);}} + public static IptEvtDataMouse cast_(Object obj) {try {return (IptEvtDataMouse)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, IptEvtDataMouse.class, obj);}} @gplx.Internal protected static final IptEvtDataMouse Null = IptEvtDataMouse.new_(IptMouseBtn_.None, IptMouseWheel_.None, 0, 0); public static IptEvtDataMouse new_(IptMouseBtn button, IptMouseWheel wheel, int x, int y) { IptEvtDataMouse rv = new IptEvtDataMouse(); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java b/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java index 28d3417f0..c69474fbf 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptKey_.java @@ -23,7 +23,7 @@ public class IptKey_ { public static IptKey[] Ary(IptKey... ary) {return ary;} public static final IptKey[] Ary_empty = new IptKey[0]; public static IptKey as_(Object obj) {return obj instanceof IptKey ? (IptKey)obj : null;} - public static IptKey cast_(Object obj) {try {return (IptKey)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, IptKey.class, obj);}} + public static IptKey cast_(Object obj) {try {return (IptKey)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, IptKey.class, obj);}} public static IptKey add_(IptKey... ary) { if (ary.length == 0) return IptKey_.None; int newVal = ary[0].Val(); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptMouseBtn_.java b/150_gfui/src_200_ipt/gplx/gfui/IptMouseBtn_.java index 008fe5ea5..14e0d9049 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptMouseBtn_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptMouseBtn_.java @@ -40,7 +40,7 @@ public class IptMouseBtn_ { else if (String_.Eq(raw, Middle.Key())) return Middle; else if (String_.Eq(raw, X1.Key())) return X1; else if (String_.Eq(raw, X2.Key())) return X2; - else throw Exc_.new_parse_type(IptMouseBtn.class, raw); + else throw Err_.new_parse_type(IptMouseBtn.class, raw); } @gplx.Internal protected static IptMouseBtn api_(int val) { if (val == None.Val()) return None; @@ -49,6 +49,6 @@ public class IptMouseBtn_ { else if (val == Middle.Val()) return Middle; else if (val == X1.Val()) return X1; else if (val == X2.Val()) return X2; - else throw Exc_.new_unhandled(val); + else throw Err_.new_unhandled(val); } } diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptMouseWheel_.java b/150_gfui/src_200_ipt/gplx/gfui/IptMouseWheel_.java index 3f3323c5d..8d2abfdfc 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptMouseWheel_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptMouseWheel_.java @@ -25,7 +25,7 @@ public class IptMouseWheel_ { if (String_.Eq(raw, None.Key())) return None; else if (String_.Eq(raw, Up.Key())) return Up; else if (String_.Eq(raw, Down.Key())) return Down; - else throw Exc_.new_parse_type(IptMouseWheel.class, raw); + else throw Err_.new_parse_type(IptMouseWheel.class, raw); } @gplx.Internal protected static IptMouseWheel api_(Object obj) { int delta = Int_.cast_(obj); diff --git a/150_gfui/src_210_lyt/gplx/gfui/GftGrid.java b/150_gfui/src_210_lyt/gplx/gfui/GftGrid.java index 9e9349d39..d58774e63 100644 --- a/150_gfui/src_210_lyt/gplx/gfui/GftGrid.java +++ b/150_gfui/src_210_lyt/gplx/gfui/GftGrid.java @@ -111,7 +111,7 @@ public class GftGrid { int h = band.Len1().Calc(this, band, owner, itm, availY); band.Calc(owner, y, h); y += h * bandDir.Val(); - if (bandIdx + 1 >= bands.Count()) throw Exc_.new_("error retrieving band", "owner", owner.Key_of_GfuiElem(), "item", itm.Key_of_GfuiElem(), "bandIdx", bandIdx + 1, "count", bands.Count()); + if (bandIdx + 1 >= bands.Count()) throw Err_.new_wo_type("error retrieving band", "owner", owner.Key_of_GfuiElem(), "item", itm.Key_of_GfuiElem(), "bandIdx", bandIdx + 1, "count", bands.Count()); band = (GftBand)bands.Get_at(++bandIdx); band.Items().Clear(); } diff --git a/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java b/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java index 6a0531bd1..830853319 100644 --- a/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java +++ b/150_gfui/src_210_lyt/gplx/gfui/GftGrid_fx.java @@ -81,7 +81,7 @@ class GftGrid_fx { else if (String_.Eq(name, "y")) return item.Gft_y(); else if (String_.Eq(name, "w")) return item.Gft_w(); else if (String_.Eq(name, "h")) return item.Gft_h(); - else throw Exc_.new_unhandled(name); + else throw Err_.new_unhandled(name); } static int[] rng_(int expdVal, int len) { int[] rv = new int[len]; diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwElemFactory_base.java b/150_gfui/src_300_gxw/gplx/gfui/GxwElemFactory_base.java index fddcdfdf6..b1c6d1e71 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwElemFactory_base.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwElemFactory_base.java @@ -68,7 +68,7 @@ class GxwElemFactory_cls_mock extends GxwElemFactory_base { @gplx.Internal @Override protected GxwTextFld text_fld_() {return new MockTextBox();} @gplx.Internal @Override protected GxwTextFld text_memo_() {return new MockTextBoxMulti();} @gplx.Internal @Override protected GxwTextHtml text_html_() {return new MockTextBoxMulti();} - @gplx.Internal @Override protected GxwCheckListBox checkListBox_(KeyValHash ctorArgs) {throw Exc_.new_unimplemented();} + @gplx.Internal @Override protected GxwCheckListBox checkListBox_(KeyValHash ctorArgs) {throw Err_.new_unimplemented();} @gplx.Internal @Override protected GxwComboBox comboBox_() {return new MockComboBox();} @gplx.Internal @Override protected GxwListBox listBox_() {return new MockListBox();} } diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwTextBox_lang.java b/150_gfui/src_300_gxw/gplx/gfui/GxwTextBox_lang.java index c1f33bb7c..09bc54418 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwTextBox_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwTextBox_lang.java @@ -103,7 +103,7 @@ class GxwTextFld_cls_lang extends JTextField implements GxwTextFld { try { this.setSelectionStart(v); } catch (Exception e) { - Exc_.Noop(e); + Err_.Noop(e); } // NOTE: sometimes fails when skipping ahead in dvd player; v = 0, and start/end = 0 } public int SelLen() {return this.getSelectionEnd() - this.getSelectionStart();} public void SelLen_set(int v) {this.setSelectionEnd(this.SelBgn() + v);} diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java b/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java index 3e30b64ae..488b249b5 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java @@ -87,7 +87,7 @@ public class GxwTextHtml_lang extends JScrollPane implements GxwTextHtml { editor.Html_enabled(v); } public GxwTextHtml_editor Editor() {return editor;} GxwTextHtml_editor editor; - public void ScrollTillCaretIsVisible() {throw Exc_.new_unimplemented();} + public void ScrollTillCaretIsVisible() {throw Err_.new_unimplemented();} public GxwTextHtml_lang ctor() { editor = new GxwTextHtml_editor().ctor(); core = new GxwCore_host(GxwCore_lang.new_(this), editor.core); @@ -152,7 +152,7 @@ class GxwTextHtml_editor extends JEditorPane implements GxwTextHtml { // this.setEditorKit(v ? new StyledEditorKit() : new DefaultEditorKit()); this.setEditorKit(v ? htmlKit : styledKit); } - public void ScrollTillCaretIsVisible() {throw Exc_.new_unimplemented();} + public void ScrollTillCaretIsVisible() {throw Err_.new_unimplemented();} public void Html_css_set(String s) { StyleSheet styleSheet = htmlKit.getStyleSheet(); styleSheet.addRule(s); @@ -187,14 +187,14 @@ class GxwTextHtml_editor extends JEditorPane implements GxwTextHtml { public String Html_doc_html() { Document doc = this.getDocument(); try {return this.getDocument().getText(0, doc.getLength());} - catch (Exception e) {throw Exc_.new_exc(e, "ui", "Html_doc_html");} + catch (Exception e) {throw Err_.new_exc(e, "ui", "Html_doc_html");} } public String Html_sel_text() { Element elm = Html_sel_elm(); int sel_bgn = elm.getStartOffset(); int sel_end = elm.getEndOffset(); try {return this.getDocument().getText(sel_bgn, sel_end - sel_bgn);} - catch (Exception e) {throw Exc_.new_exc(e, "ui", "Html_sel_text");} + catch (Exception e) {throw Err_.new_exc(e, "ui", "Html_sel_text");} } static void Html_sel_atrs(AttributeSet atrs, List_adp list, String ownerKey, String dlm) { if (atrs == null) return; diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwTextMemo_lang.java b/150_gfui/src_300_gxw/gplx/gfui/GxwTextMemo_lang.java index 77b7bc56c..e13d23b4e 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwTextMemo_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwTextMemo_lang.java @@ -47,7 +47,7 @@ public class GxwTextMemo_lang extends JScrollPane implements GxwTextMemo { else if (c.getRGB() == Color.WHITE.getRGB()) txt_box.setCaretColor(Color.BLACK); super.setBackground(c); } - public void ScrollTillCaretIsVisible() {throw Exc_.new_unimplemented();} + public void ScrollTillCaretIsVisible() {throw Err_.new_unimplemented();} public void Margins_set(int left, int top, int right, int bot) { if (left == 0 && right == 0) { txt_box.setBorder(BorderFactory.createLineBorder(Color.BLACK)); diff --git a/150_gfui/src_300_gxw/gplx/gfui/GxwWin_lang.java b/150_gfui/src_300_gxw/gplx/gfui/GxwWin_lang.java index 47464e420..c6eaa54bf 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwWin_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwWin_lang.java @@ -262,7 +262,7 @@ class GxwElemFactory_swt extends GxwElemFactory_base { @gplx.Internal @Override protected GxwTextFld text_fld_() {return null;} @gplx.Internal @Override protected GxwTextFld text_memo_() {return null;} @gplx.Internal @Override protected GxwTextHtml text_html_() {return null;} -@gplx.Internal @Override protected GxwCheckListBox checkListBox_(KeyValHash ctorArgs) {throw Exc_.new_unimplemented();} +@gplx.Internal @Override protected GxwCheckListBox checkListBox_(KeyValHash ctorArgs) {throw Err_.new_unimplemented();} @gplx.Internal @Override protected GxwComboBox comboBox_() {return null;} @gplx.Internal @Override protected GxwListBox listBox_() {return null;} } diff --git a/150_gfui/src_300_gxw/gplx/gfui/Gxw_html_load_tid_.java b/150_gfui/src_300_gxw/gplx/gfui/Gxw_html_load_tid_.java index e69741712..f616b8e9e 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/Gxw_html_load_tid_.java +++ b/150_gfui/src_300_gxw/gplx/gfui/Gxw_html_load_tid_.java @@ -23,13 +23,13 @@ public class Gxw_html_load_tid_ { switch (v) { case Tid_mem: return Key_mem; case Tid_url: return Key_url; - default: throw Exc_.new_unimplemented(); + default: throw Err_.new_unimplemented(); } } public static byte Xto_tid(String s) { if (String_.Eq(s, Key_mem)) return Tid_mem; else if (String_.Eq(s, Key_url)) return Tid_url; - else throw Exc_.new_unimplemented(); + else throw Err_.new_unimplemented(); } public static KeyVal[] Options__list = KeyVal_.Ary(KeyVal_.new_(Key_mem), KeyVal_.new_(Key_url)); } diff --git a/150_gfui/src_400_win/gplx/gfui/GfoConsoleWin.java b/150_gfui/src_400_win/gplx/gfui/GfoConsoleWin.java index dcdb4a767..d57a60169 100644 --- a/150_gfui/src_400_win/gplx/gfui/GfoConsoleWin.java +++ b/150_gfui/src_400_win/gplx/gfui/GfoConsoleWin.java @@ -106,7 +106,7 @@ class GfoConsoleWinCmds implements GfoInvkAble { String cmdText = consoleBox.SelLen() == 0 ? consoleBox.Text() : consoleBox.SelText(); String cmd = FixNewLines(cmdText); GfoMsg runMsg = GfoMsg_.Null; - try {runMsg = GfsCore._.MsgParser().ParseToMsg(cmd);} catch (Exception e) {statusBox.Text_("invalid gfml " + Err_.Message_gplx(e)); return;} + try {runMsg = GfsCore._.MsgParser().ParseToMsg(cmd);} catch (Exception e) {statusBox.Text_("invalid gfml " + Err_.Message_gplx_full(e)); return;} GfsCtx ctx = GfsCtx.new_(); Object rv = GfsCore._.ExecMany(ctx, runMsg); resultBox.Text_(Object_.Xto_str_strict_or_empty(rv)); @@ -117,7 +117,7 @@ class GfoConsoleWinCmds implements GfoInvkAble { String cmdText = "help:'" + consoleBox.SelText() + "';"; String cmd = FixNewLines(cmdText); GfoMsg runMsg = GfoMsg_.Null; - try {runMsg = GfmlDataNde.XtoMsgNoRoot(cmd);} catch (Exception e) {statusBox.Text_("invalid gfml " + Err_.Message_gplx(e)); return;} + try {runMsg = GfmlDataNde.XtoMsgNoRoot(cmd);} catch (Exception e) {statusBox.Text_("invalid gfml " + Err_.Message_gplx_full(e)); return;} GfsCtx ctx = GfsCtx.new_(); try { Object rv = GfsCore._.ExecOne(ctx, runMsg); @@ -125,7 +125,7 @@ class GfoConsoleWinCmds implements GfoInvkAble { UsrDlg_._.Note(Object_.Xto_str_strict_or_empty(rv)); } // Results_add(FixNewLines(ctx.Results_XtoStr())); - } catch (Exception e) {statusBox.Text_("help failed " + Err_.Message_gplx(e)); return;} + } catch (Exception e) {statusBox.Text_("help failed " + Err_.Message_gplx_full(e)); return;} } void Save() { String consoleFilStr = consoleFilBox.Text(); diff --git a/150_gfui/src_400_win/gplx/gfui/GfuiMenuBar.java b/150_gfui/src_400_win/gplx/gfui/GfuiMenuBar.java index 7da4b7d83..ab65df540 100644 --- a/150_gfui/src_400_win/gplx/gfui/GfuiMenuBar.java +++ b/150_gfui/src_400_win/gplx/gfui/GfuiMenuBar.java @@ -50,7 +50,7 @@ public class GfuiMenuBar implements GfoInvkAble { GfsCore._.AddObj(this, "GfuiMenuBar_"); GfsCore._.ExecRegy("gplx.gfui.GfuiMenuBar.ini"); } - catch (Exception e) {GfuiEnv_.ShowMsg(Err_.Message_gplx(e));} + catch (Exception e) {GfuiEnv_.ShowMsg(Err_.Message_gplx_full(e));} } String separatorText, mnemonicPrefix; int separatorIdx = 0; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { @@ -218,7 +218,7 @@ class GfuiMenuBarItm { GfuiMenuBarItmCmd itmCmd; Object under; public static GfoMsg CmdMsg(GfuiMenuBarItm itm) { - if (itm.cmd == null) throw Exc_.new_null("cmd was null for menu").Args_add("key", itm.key, "text", itm.text); + if (itm.cmd == null) throw Err_.new_null().Args_add("key", itm.key, "text", itm.text); return gplx.gfml.GfmlDataNde.XtoMsgNoRoot(itm.cmd); } public static GfuiMenuBarItm new_() {return new GfuiMenuBarItm();} @@ -243,7 +243,7 @@ class GfuiMenuBarItmType { GfuiMenuBarItmType(int v, String n) {val = v; name = n; regy.Add(n, this);} public static GfuiMenuBarItmType parse_(String raw) { try {return (GfuiMenuBarItmType)regy.Get_by(raw);} - catch (Exception e) {Exc_.Noop(e); throw Exc_.new_parse("GfuiMenuBarItmType", raw);} + catch (Exception e) {Err_.Noop(e); throw Err_.new_parse("GfuiMenuBarItmType", raw);} } static Hash_adp regy = Hash_adp_.new_(); public static final GfuiMenuBarItmType Root = new GfuiMenuBarItmType(1, "root"); @@ -261,7 +261,7 @@ class GfuiMenuBarItmCmd implements ActionListener { GfsCore._.ExecOne(GfsCtx._, GfuiMenuBarItm.CmdMsg(itm)); } catch (Exception e) { - GfuiEnv_.ShowMsg(Err_.Message_gplx(e)); + GfuiEnv_.ShowMsg(Err_.Message_gplx_full(e)); } } public static GfuiMenuBarItmCmd new_(GfuiMenuBarItm itm) { diff --git a/150_gfui/src_400_win/gplx/gfui/GfuiWinFocusMgr.java b/150_gfui/src_400_win/gplx/gfui/GfuiWinFocusMgr.java index d8247dc72..86c5e5449 100644 --- a/150_gfui/src_400_win/gplx/gfui/GfuiWinFocusMgr.java +++ b/150_gfui/src_400_win/gplx/gfui/GfuiWinFocusMgr.java @@ -73,7 +73,7 @@ class FocusTraversalPolicy_cls_base extends FocusTraversalPolicy { try {elem = (GfuiElem)elems.Get_at(idx);} catch (Exception e) { System.out.println(idx); - Exc_.Noop(e); + Err_.Noop(e); } if (elem == null) return c; // FIXME: why is elem null?; REP: add new tab through history and then close out if (elem.Focus_able() && elem.Visible()) { @@ -109,7 +109,7 @@ class FocusTraversalPolicy_cls_base extends FocusTraversalPolicy { } catch (Exception e) { System.out.println(idx); - Exc_.Noop(e); + Err_.Noop(e); } if (elem == null) return c; // FIXME: why is elem null?; REP: add new tab through history and then close out if (elem.Focus_able() && elem.Visible()) { diff --git a/150_gfui/src_400_win/gplx/gfui/GfuiWin_.java b/150_gfui/src_400_win/gplx/gfui/GfuiWin_.java index 8136988bd..5bf84eed7 100644 --- a/150_gfui/src_400_win/gplx/gfui/GfuiWin_.java +++ b/150_gfui/src_400_win/gplx/gfui/GfuiWin_.java @@ -24,7 +24,7 @@ public class GfuiWin_ { , InitKey_winType_tool = "tool" ; public static GfuiWin as_(Object obj) {return obj instanceof GfuiWin ? (GfuiWin)obj : null;} - public static GfuiWin cast_(Object obj) {try {return (GfuiWin)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiWin.class, obj);}} + public static GfuiWin cast_(Object obj) {try {return (GfuiWin)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiWin.class, obj);}} public static GfuiWin app_(String key) {return bld_(key, InitKey_winType_app, KeyValHash.new_());} public static GfuiWin tool_(String key) {return bld_(key, InitKey_winType_tool, KeyValHash.new_()).TaskbarVisible_(false);} public static GfuiWin sub_(String key, GfuiWin ownerWin) { diff --git a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.java b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.java index d4cc4a320..d4e9f94ac 100644 --- a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.java +++ b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.java @@ -99,7 +99,7 @@ public class GfuiElemBase implements GfuiElem { if (subElems.Count() == 0) // if no subs, focus self underElem.Core().Focus(); else if (defaultFocusKey != null) { // if default is specified, focus it - GfuiElem focusTarget = subElems.Get_by(defaultFocusKey); if (focusTarget == null) throw Exc_.new_("could not find defaultTarget for focus", "ownerKey", this.Key_of_GfuiElem(), "defaultTarget", defaultFocusKey); + GfuiElem focusTarget = subElems.Get_by(defaultFocusKey); if (focusTarget == null) throw Err_.new_wo_type("could not find defaultTarget for focus", "ownerKey", this.Key_of_GfuiElem(), "defaultTarget", defaultFocusKey); focusTarget.Focus(); } else { // else, activate first visible elem; NOTE: some elems are visible, but not Focus_able (ex: ImgGalleryBox) diff --git a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase_.java b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase_.java index a170ec27d..8132cfb31 100644 --- a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase_.java +++ b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase_.java @@ -18,5 +18,5 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class GfuiElemBase_ { public static GfuiElemBase as_(Object obj) {return obj instanceof GfuiElemBase ? (GfuiElemBase)obj : null;} - public static GfuiElemBase cast_(Object obj) {try {return (GfuiElemBase)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiElemBase.class, obj);}} + public static GfuiElemBase cast_(Object obj) {try {return (GfuiElemBase)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiElemBase.class, obj);}} } diff --git a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemList.java b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemList.java index cc769b540..05d5fbe6f 100644 --- a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemList.java +++ b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemList.java @@ -31,14 +31,14 @@ public class GfuiElemList { hash.Clear(); } void Add_exec(GfuiElem box) { - String key = box.Key_of_GfuiElem(); if (String_.Eq(key, String_.Empty)) throw Exc_.new_("box does not have key", "type", box.getClass(), "owner", owner.Key_of_GfuiElem(), "ownerSubs", owner.SubElems().Count()); + String key = box.Key_of_GfuiElem(); if (String_.Eq(key, String_.Empty)) throw Err_.new_wo_type("box does not have key", "type", box.getClass(), "owner", owner.Key_of_GfuiElem(), "ownerSubs", owner.SubElems().Count()); hash.Add(key, box); owner.UnderElem().Core().Controls_add(box.UnderElem()); box.OwnerElem_(owner).OwnerWin_(owner.OwnerWin()); // needed b/c box may be added after form is loaded GfoEvMgr_.SubSame(box, GfuiElemKeys.IptRcvd_evt, owner); // bubble iptEvts to owner } void Del_exec(GfuiElem box) { - String key = box.Key_of_GfuiElem(); if (!hash.Has(key)) throw Exc_.new_missing_key(key); + String key = box.Key_of_GfuiElem(); if (!hash.Has(key)) throw Err_.new_missing_key(key); hash.Del(key); owner.UnderElem().Core().Controls_del(box.UnderElem()); owner.IptBnds().Cfgs_delAll(); diff --git a/150_gfui/src_410_box_core/gplx/gfui/GfuiElem_.java b/150_gfui/src_410_box_core/gplx/gfui/GfuiElem_.java index 3b7dcca38..ac0413ae0 100644 --- a/150_gfui/src_410_box_core/gplx/gfui/GfuiElem_.java +++ b/150_gfui/src_410_box_core/gplx/gfui/GfuiElem_.java @@ -21,7 +21,7 @@ public class GfuiElem_ { InitKey_focusAble = "focusAble" , InitKey_ownerWin = "ownerForm"; public static GfuiElem as_(Object obj) {return obj instanceof GfuiElem ? (GfuiElem)obj : null;} - public static GfuiElem cast_(Object obj) {try {return (GfuiElem)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiElem.class, obj);}} + public static GfuiElem cast_(Object obj) {try {return (GfuiElem)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiElem.class, obj);}} public static GfuiElemBase sub_(String key, GfuiElem owner) { GfuiElemBase rv = new_(); rv.Owner_(owner, key); diff --git a/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn.java b/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn.java index 867f84c21..543a115a6 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn.java @@ -65,7 +65,7 @@ public class GfuiBtn extends GfuiElemBase { else GfsCore._.ExecOne(ctx, clickMsg); } - } catch (Exception e) {GfuiEnv_.ShowMsg(Err_.Message_gplx(e));} + } catch (Exception e) {GfuiEnv_.ShowMsg(Err_.Message_gplx_full(e));} } public static final String Invk_btn_img = "btn_img", Invk_btn_img_ = "btn_img_"; public static final String CFG_border_on_ = "border_on_"; diff --git a/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn_.java b/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn_.java index 489abe394..1de68ced9 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn_.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/GfuiBtn_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class GfuiBtn_ { public static GfuiBtn as_(Object obj) {return obj instanceof GfuiBtn ? (GfuiBtn)obj : null;} - public static GfuiBtn cast_(Object obj) {try {return (GfuiBtn)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiBtn.class, obj);}} + public static GfuiBtn cast_(Object obj) {try {return (GfuiBtn)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiBtn.class, obj);}} public static GfuiBtn msg_(String key, GfuiElem owner, GfoMsg msg) { GfuiBtn rv = new_(key); rv.Owner_(owner); diff --git a/150_gfui/src_420_box_basic/gplx/gfui/GfuiChkBox_.java b/150_gfui/src_420_box_basic/gplx/gfui/GfuiChkBox_.java index 26190ea86..898868313 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/GfuiChkBox_.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/GfuiChkBox_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class GfuiChkBox_ { public static GfuiChkBox as_(Object obj) {return obj instanceof GfuiChkBox ? (GfuiChkBox)obj : null;} - public static GfuiChkBox cast_(Object obj) {try {return (GfuiChkBox)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiChkBox.class, obj);}} + public static GfuiChkBox cast_(Object obj) {try {return (GfuiChkBox)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiChkBox.class, obj);}} @gplx.Internal protected static GfuiChkBox new_() { GfuiChkBox rv = new GfuiChkBox(); rv.ctor_GfuiBox_base(GfuiElem_.init_focusAble_true_()); diff --git a/150_gfui/src_420_box_basic/gplx/gfui/GfuiTextBox_.java b/150_gfui/src_420_box_basic/gplx/gfui/GfuiTextBox_.java index 2fbb236fb..1ed81bba6 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/GfuiTextBox_.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/GfuiTextBox_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class GfuiTextBox_ { public static GfuiTextBox as_(Object obj) {return obj instanceof GfuiTextBox ? (GfuiTextBox)obj : null;} - public static GfuiTextBox cast_(Object obj) {try {return (GfuiTextBox)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfuiTextBox.class, obj);}} + public static GfuiTextBox cast_(Object obj) {try {return (GfuiTextBox)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfuiTextBox.class, obj);}} public static final String NewLine = "\n"; public static final String Ctor_Memo = "TextBox_Memo"; diff --git a/150_gfui/src_430_box_custom/gplx/gfui/GfuiStatusBarBnd.java b/150_gfui/src_430_box_custom/gplx/gfui/GfuiStatusBarBnd.java index 966253acd..d05ab38ec 100644 --- a/150_gfui/src_430_box_custom/gplx/gfui/GfuiStatusBarBnd.java +++ b/150_gfui/src_430_box_custom/gplx/gfui/GfuiStatusBarBnd.java @@ -19,7 +19,7 @@ package gplx.gfui; import gplx.*; public class GfuiStatusBarBnd implements InjectAble { public GfuiStatusBar Bar() {return statusBar;} GfuiStatusBar statusBar = GfuiStatusBar.new_(); public void Inject(Object owner) { - GfuiWin form = GfuiWin_.as_(owner); if (form == null) throw Exc_.new_type_mismatch(GfuiWin.class, owner); + GfuiWin form = GfuiWin_.as_(owner); if (form == null) throw Err_.new_type_mismatch(GfuiWin.class, owner); statusBar.Owner_(form, "statusBar"); IptBnd_.cmd_to_(IptCfg_.Null, form, statusBar, GfuiStatusBar.StatusBarFocus_cmd, IptKey_.add_(IptKey_.Ctrl, IptKey_.Alt, IptKey_.T)); statusBar.MoveButton().TargetElem_set(form); diff --git a/150_gfui/src_500_tab/gplx/gfui/TabBox_.java b/150_gfui/src_500_tab/gplx/gfui/TabBox_.java index 53266f113..f7a3f17a2 100644 --- a/150_gfui/src_500_tab/gplx/gfui/TabBox_.java +++ b/150_gfui/src_500_tab/gplx/gfui/TabBox_.java @@ -18,7 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; public class TabBox_ { public static TabBox as_(Object obj) {return obj instanceof TabBox ? (TabBox)obj : null;} - public static TabBox cast_(Object obj) {try {return (TabBox)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, TabBox.class, obj);}} + public static TabBox cast_(Object obj) {try {return (TabBox)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, TabBox.class, obj);}} public static TabBox new_() { TabBox rv = new TabBox(); rv.ctor_GfuiBox_base(GfuiElem_.init_focusAble_false_()); diff --git a/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java b/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java index a5c96007c..a878d5226 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java +++ b/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java @@ -37,7 +37,7 @@ public class ClipboardAdp_ { Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); String rv = ""; try {rv = clipboard.getData(DataFlavor.stringFlavor).toString();} - catch (Exception e) {throw Exc_.new_exc(e, "ui", "clipboard get_data failed");} + catch (Exception e) {throw Err_.new_exc(e, "ui", "clipboard get_data failed");} if (Op_sys.Cur().Tid_is_wnt()) { // WORKAROUND:JAVA: On Windows, Clipboard will have \r\n, but Java automatically converts to \n String_bldr remake = String_bldr_.new_(); for (int i = 0; i < String_.Len(rv); i++) { diff --git a/150_gfui/src_600_adp/gplx/gfui/CursorAdp.java b/150_gfui/src_600_adp/gplx/gfui/CursorAdp.java index 48f808e95..ebacc9e96 100644 --- a/150_gfui/src_600_adp/gplx/gfui/CursorAdp.java +++ b/150_gfui/src_600_adp/gplx/gfui/CursorAdp.java @@ -27,7 +27,7 @@ public class CursorAdp { else { java.awt.Robot robot = null; try {robot = new java.awt.Robot();} - catch (java.awt.AWTException e) {throw Exc_.new_exc(e, "ui", "cursor pos set failed");} + catch (java.awt.AWTException e) {throw Err_.new_exc(e, "ui", "cursor pos set failed");} robot.mouseMove(p.X(), p.Y()); } } diff --git a/150_gfui/src_600_adp/gplx/gfui/IconAdp.java b/150_gfui/src_600_adp/gplx/gfui/IconAdp.java index 9191da019..714868b77 100644 --- a/150_gfui/src_600_adp/gplx/gfui/IconAdp.java +++ b/150_gfui/src_600_adp/gplx/gfui/IconAdp.java @@ -38,7 +38,7 @@ public class IconAdp { public static IconAdp regy_(String key) { GfoRegyItm itm = GfoRegy._.FetchOrNull(key); if (itm == null) {UsrDlg_._.Warn("missing icon; key={0}", key); return null;} - if (itm.ValType() != GfoRegyItm.ValType_Url) throw Exc_.new_("regyItm should be of type url", "key", key); + if (itm.ValType() != GfoRegyItm.ValType_Url) throw Err_.new_wo_type("regyItm should be of type url", "key", key); return IconAdp.file_(itm.Url()); } public static IconAdp as_(Object obj) {return obj instanceof IconAdp ? (IconAdp)obj : null;} diff --git a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java index 6071e480d..1d582671e 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java +++ b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java @@ -31,7 +31,7 @@ import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class ImageAdp_ { public static ImageAdp as_(Object obj) {return obj instanceof ImageAdp ? (ImageAdp)obj : null;} - public static ImageAdp cast_(Object obj) {try {return (ImageAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, ImageAdp.class, obj);}} + public static ImageAdp cast_(Object obj) {try {return (ImageAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, ImageAdp.class, obj);}} public static final ImageAdp Null = new_(10, 10); public static ImageAdp new_(int width, int height) { // BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // JAVA: must be TYPE_INT_RGB or else ImageIO.write("bmp") will fail @@ -49,7 +49,7 @@ public class ImageAdp_ { } public static SizeAdp SizeOf_svg(Io_url url) {return Gfui_svg_util.QuerySize(url);} public static ImageAdp file_(Io_url url) { - if (url.EqNull()) throw Exc_.new_("cannot load image from null url"); + if (url.EqNull()) throw Err_.new_wo_type("cannot load image from null url"); if (String_.Eq(url.Info().Key(), IoUrlInfo_.Mem.Key())) return txt_fil_(url); if (!Io_mgr.I.ExistsFil(url)) return Null; @@ -58,7 +58,7 @@ public class ImageAdp_ { File f = new File(url.Xto_api()); img = ImageIO.read(f); } - catch (IOException e) {throw Exc_.new_exc(e, "ui", "image load failed", "url", url.Xto_api());} + catch (IOException e) {throw Err_.new_exc(e, "ui", "image load failed", "url", url.Xto_api());} // FileInputStream istream = new FileInputStream(new File(url.Xto_api())); // JPEGImageDecoder dec = JPEGCodec.createJPEGDecoder(istream); // BufferedImage im = dec.decodeAsBufferedImage(); @@ -110,7 +110,7 @@ class Gfui_svg_util { double w = ParseAtr(xml, pos_ref, "width"); double h = ParseAtr(xml, pos_ref, "height"); return SizeAdp_.new_((int)w, (int)h); - } catch (Exception e) {Exc_.Noop(e); return SizeAdp_.Null;} + } catch (Exception e) {Err_.Noop(e); return SizeAdp_.Null;} } static double ParseAtr(String xml, Int_obj_ref pos_ref, String atr) { int pos = String_.FindFwd(xml, atr, pos_ref.Val()); if (pos == -1) return -1; diff --git a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_base.java b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_base.java index 4d8e2cb61..839426d54 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_base.java +++ b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_base.java @@ -52,7 +52,7 @@ public class ImageAdp_base implements ImageAdp, RlsAble { boolean success = false; try {success = ImageIO.write((BufferedImage)under, fmtStr, fil);} catch (IOException e) {} - if (!success) throw Exc_.new_w_type("gplx.gfui.imgs.SaveImageFailed", "save image failed", "srcUrl", url.Xto_api(), "trgFil", fil, "fmt", fmtStr); + if (!success) throw Err_.new_("gplx.gfui.imgs.SaveImageFailed", "save image failed", "srcUrl", url.Xto_api(), "trgFil", fil, "fmt", fmtStr); //#@endif } public ImageAdp Extract_image(RectAdp src_rect, SizeAdp trg_size) {return Extract_image(src_rect.X(), src_rect.Y(), src_rect.Width(), src_rect.Height(), trg_size.Width(), trg_size.Height());} diff --git a/150_gfui/src_600_adp/gplx/gfui/ScreenAdp_.java b/150_gfui/src_600_adp/gplx/gfui/ScreenAdp_.java index 4e24f5663..80692507d 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ScreenAdp_.java +++ b/150_gfui/src_600_adp/gplx/gfui/ScreenAdp_.java @@ -23,13 +23,13 @@ import java.awt.Toolkit; public class ScreenAdp_ { public static final ScreenAdp Primary = screen_(0); public static ScreenAdp as_(Object obj) {return obj instanceof ScreenAdp ? (ScreenAdp)obj : null;} - public static ScreenAdp cast_(Object obj) {try {return (ScreenAdp)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, ScreenAdp.class, obj);}} + public static ScreenAdp cast_(Object obj) {try {return (ScreenAdp)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, ScreenAdp.class, obj);}} public static ScreenAdp parse_(String raw) { // ex: {screen{1} try { raw = String_.Replace(raw, "{screen{", ""); raw = String_.Replace(raw, "}", ""); return ScreenAdp_.screen_(Int_.parse_(raw)); - } catch(Exception exc) {throw Exc_.new_parse_exc(exc, ScreenAdp.class, raw);} + } catch(Exception exc) {throw Err_.new_parse_exc(exc, ScreenAdp.class, raw);} } public static ScreenAdp from_point_(PointAdp pos) {// NOTE: not using FromPoint b/c of plat_wce if (ScreenAdp_.Count() == 1) return Primary; @@ -46,7 +46,7 @@ public class ScreenAdp_ { // return 1;//Screen.AllScreens.Length; } public static ScreenAdp screen_(int index) { - if (index >= ScreenAdp_.Count()) throw Exc_.new_missing_idx(index, ScreenAdp_.Count()); + if (index >= ScreenAdp_.Count()) throw Err_.new_missing_idx(index, ScreenAdp_.Count()); GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice[] devs = env.getScreenDevices(); GraphicsConfiguration conf = devs[index].getDefaultConfiguration(); diff --git a/150_gfui/src_700_env/gplx/gfui/Gfui_kit_.java b/150_gfui/src_700_env/gplx/gfui/Gfui_kit_.java index d5a818226..150182280 100644 --- a/150_gfui/src_700_env/gplx/gfui/Gfui_kit_.java +++ b/150_gfui/src_700_env/gplx/gfui/Gfui_kit_.java @@ -25,7 +25,7 @@ public class Gfui_kit_ { if (String_.Eq(key, Mem().Key())) return Mem(); else if (String_.Eq(key, Swt().Key())) return Swt(); else if (String_.Eq(key, Swing().Key())) return Swing(); - else throw Exc_.new_unhandled(key); + else throw Err_.new_unhandled(key); } public static final String Cfg_HtmlBox = "HtmlBox"; public static final byte File_dlg_type_open = 0, File_dlg_type_save = 1; 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 ccc3e8ef0..564349ca0 100644 --- a/150_gfui/src_700_env/gplx/gfui/Swt_kit.java +++ b/150_gfui/src_700_env/gplx/gfui/Swt_kit.java @@ -43,7 +43,6 @@ import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Button; import org.omg.PortableServer.THREAD_POLICY_ID; -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_(); @@ -208,7 +207,7 @@ public class Swt_kit implements Gfui_kit { return rv; } catch (Exception e) { - Gfo_usr_dlg_.I.Warn_many("", "", "error while calculating font height; err=~{0}", Err_.Message_gplx_brief(e)); + Gfo_usr_dlg_.I.Warn_many("", "", "error while calculating font height; err=~{0}", Err_.Message_gplx_full(e)); return 8; } } @@ -323,7 +322,7 @@ class Swt_gui_cmd implements GfuiInvkCmd, Runnable { try {target.Invk(invk_ctx, invk_ikey, invk_key, invk_msg);} catch (Exception e) { if (kit.Kit_mode__term()) return; // NOTE: if shutting down, don't warn; warn will try to write to status.bar, which will fail b/c SWT is shutting down; failures will try to write to status.bar again, causing StackOverflow exception; DATE:2014-05-04 - usr_dlg.Warn_many("", "", "fatal error while running; key=~{0} err=~{1}", invk_key, Err_.Message_gplx_brief(e)); + usr_dlg.Warn_many("", "", "fatal error while running; key=~{0} err=~{1}", invk_key, Err_.Message_gplx_full(e)); } } } diff --git a/150_gfui/tst/gplx/gfui/GfxItm_base.java b/150_gfui/tst/gplx/gfui/GfxItm_base.java index 09052d63a..45d28d27b 100644 --- a/150_gfui/tst/gplx/gfui/GfxItm_base.java +++ b/150_gfui/tst/gplx/gfui/GfxItm_base.java @@ -30,5 +30,5 @@ public abstract class GfxItm_base implements GfxItm { pos = posVal; size = sizeVal; } public static GfxItm_base as_(Object obj) {return obj instanceof GfxItm_base ? (GfxItm_base)obj : null;} - public static GfxItm_base cast_(Object obj) {try {return (GfxItm_base)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfxItm_base.class, obj);}} + public static GfxItm_base cast_(Object obj) {try {return (GfxItm_base)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfxItm_base.class, obj);}} } diff --git a/150_gfui/tst/gplx/gfui/GfxLineItm.java b/150_gfui/tst/gplx/gfui/GfxLineItm.java index 3f10b50d1..e6d4d444e 100644 --- a/150_gfui/tst/gplx/gfui/GfxLineItm.java +++ b/150_gfui/tst/gplx/gfui/GfxLineItm.java @@ -36,5 +36,5 @@ public class GfxLineItm implements GfxItm { return rv; } GfxLineItm() {} public static GfxLineItm as_(Object obj) {return obj instanceof GfxLineItm ? (GfxLineItm)obj : null;} - public static GfxLineItm cast_(Object obj) {try {return (GfxLineItm)obj;} catch(Exception exc) {throw Exc_.new_type_mismatch_w_exc(exc, GfxLineItm.class, obj);}} + public static GfxLineItm cast_(Object obj) {try {return (GfxLineItm)obj;} catch(Exception exc) {throw Err_.new_type_mismatch_w_exc(exc, GfxLineItm.class, obj);}} } diff --git a/150_gfui/tst/gplx/gfui/ImageAdp_tst.java b/150_gfui/tst/gplx/gfui/ImageAdp_tst.java index 04e07a187..c08d8c4e2 100644 --- a/150_gfui/tst/gplx/gfui/ImageAdp_tst.java +++ b/150_gfui/tst/gplx/gfui/ImageAdp_tst.java @@ -17,6 +17,7 @@ along with this program. If not, see . */ package gplx.gfui; import gplx.*; import org.junit.*; +import gplx.core.consoles.*; import gplx.ios.*; import gplx.security.*; public class ImageAdp_tst { @@ -38,8 +39,8 @@ public class ImageAdp_tst { 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.I.OpenStreamRead(load)); - String saveHash = HashAlgo_.Md5.CalcHash(ConsoleDlg_.Null, Io_mgr.I.OpenStreamRead(save)); + String loadHash = HashAlgo_.Md5.CalcHash(Console_adp_.Noop, Io_mgr.I.OpenStreamRead(load)); + String saveHash = HashAlgo_.Md5.CalcHash(Console_adp_.Noop, Io_mgr.I.OpenStreamRead(save)); Tfds.Eq(loadHash, saveHash); } } diff --git a/150_gfui/xtn/gplx/gfui/Swt_app_browser.java b/150_gfui/xtn/gplx/gfui/Swt_app_browser.java index f2081d99e..972138305 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_app_browser.java +++ b/150_gfui/xtn/gplx/gfui/Swt_app_browser.java @@ -20,34 +20,46 @@ import gplx.*; import org.eclipse.swt.*; import org.eclipse.swt.browser.*; import org.eclipse.swt.custom.*; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; public class Swt_app_browser { - public static void main(String[] args) { - Display display = new Display(); - Shell shell = new Shell(display); - try { - System.setProperty("org.eclipse.swt.browser.XULRunnerPath", "E:\\موسوعات\\Xowa\\bin\\windows\\xulrunner"); - Swt_app_browser_mgr mgr = new Swt_app_browser_mgr(shell); - New_btn(shell, 0, "loa&d", new Swt_app_browser_cmd_load(mgr)); - New_btn(shell, 1, "&free", new Swt_app_browser_cmd_free(mgr)); - shell.open(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) { - display.sleep(); - } - } - mgr.Free(); - display.dispose(); - } catch (SWTError e) { - Tfds.Write("a"); - } - } - private static Button New_btn(Shell shell, int idx, String text, SelectionListener lnr) { - Button rv = new Button(shell, SWT.BORDER); - rv.setText(text); - rv.setBounds(idx * 80, 0, 80, 40); - rv.addSelectionListener(lnr); - return rv; - } -} + public static void main(String[] args) { + new Swt_app_browser().start(); + } + + public void start() + { + Display display = new Display(); + Shell shell = new Shell(display); + shell.setLayout(new GridLayout(1, false)); + GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true); + gridData.widthHint = SWT.DEFAULT; + gridData.heightHint = SWT.DEFAULT; + shell.setLayoutData(gridData); + shell.setText("Firebug Lite for SWT ;)"); + + final Browser browser = new Browser(shell, SWT.NONE); + GridData gridData2 = new GridData(SWT.FILL, SWT.FILL, true, true); + gridData2.widthHint = SWT.DEFAULT; + gridData2.heightHint = SWT.DEFAULT; + browser.setLayoutData(gridData2); + + Button button = new Button(shell, SWT.PUSH); + button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false)); + button.setText("Install"); + button.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + browser.setUrl("javascript:(function(F,i,r,e,b,u,g,L,I,T,E){if(F.getElementById(b))return;E=F[i+'NS']&&F.documentElement.namespaceURI;E=E?F[i+'NS'](E,'script'):F[i]('script');E[r]('id',b);E[r]('src',I+g+T);E[r](b,u);(F[e]('head')[0]||F[e]('body')[0]).appendChild(E);E=new%20Image;E[r]('src',I+L);})(document,'createElement','setAttribute','getElementsByTagName','FirebugLite','4','firebug-lite.js','releases/lite/latest/skin/xp/sprite.png','https://getfirebug.com/','#startOpened');"); + } + }); + + browser.setUrl("http://stackoverflow.com/questions/12003602/eclipse-swt-browser-and-firebug-lite"); + + shell.open(); + while (!shell.isDisposed()) { + if (!display.readAndDispatch()) + display.sleep(); + } + display.dispose(); + } + } class Swt_app_browser_mgr { private Shell shell; private Browser browser; public Swt_app_browser_mgr(Shell shell) {this.shell = shell;} diff --git a/150_gfui/xtn/gplx/gfui/Swt_core_cmds.java b/150_gfui/xtn/gplx/gfui/Swt_core_cmds.java index fe565dc8f..edc53f778 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_core_cmds.java +++ b/150_gfui/xtn/gplx/gfui/Swt_core_cmds.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.gfui; import gplx.*; + import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; @@ -61,14 +62,14 @@ class Swt_core_cmds extends GxwCore_base { } @Override public String TipText() {return control.getToolTipText();} @Override public void TipText_set(String v) {control.setToolTipText(v);} @Override public void Controls_add(GxwElem sub) { - if (!compositeAble) throw Exc_.new_("cannot add sub to control"); + if (!compositeAble) throw Err_.new_wo_type("cannot add sub to control"); Composite owner_as_composite = (Composite)control; Swt_control sub_as_WxSwt = (Swt_control)sub; Control sub_as_swt = sub_as_WxSwt.Under_control(); sub_as_swt.setParent(owner_as_composite); } @Override public void Controls_del(GxwElem sub) { - if (!compositeAble) throw Exc_.new_("cannot add sub to control"); + if (!compositeAble) throw Err_.new_wo_type("cannot add sub to control"); Swt_control sub_as_WxSwt = (Swt_control)sub; Control sub_as_swt = sub_as_WxSwt.Under_control(); sub_as_swt.dispose(); // SWT_NOTE: no way to officially remove sub from control; can only dispose @@ -123,14 +124,14 @@ class Swt_core_cmds_dual extends GxwCore_base { } @Override public String TipText() {return inner.getToolTipText();} @Override public void TipText_set(String v) {inner.setToolTipText(v);} @Override public void Controls_add(GxwElem sub) { - if (!outer_is_composite) throw Exc_.new_("cannot add sub to outer"); + if (!outer_is_composite) throw Err_.new_wo_type("cannot add sub to outer"); Composite owner_as_composite = (Composite)outer; Swt_control sub_as_WxSwt = (Swt_control)sub; Control sub_as_swt = sub_as_WxSwt.Under_control(); sub_as_swt.setParent(owner_as_composite); } @Override public void Controls_del(GxwElem sub) { - if (!outer_is_composite) throw Exc_.new_("cannot add sub to outer"); + if (!outer_is_composite) throw Err_.new_wo_type("cannot add sub to outer"); Swt_control sub_as_WxSwt = (Swt_control)sub; Control sub_as_swt = sub_as_WxSwt.Under_control(); sub_as_swt.dispose(); // SWT_NOTE: no way to officially remove sub from outer; can only dispose @@ -220,7 +221,7 @@ class Swt_core_cmds_frames extends GxwCore_base { prv_font = v; } @Override public String TipText() {return inner.getToolTipText();} @Override public void TipText_set(String v) {inner.setToolTipText(v);} - @Override public void Controls_add(GxwElem sub) {throw Exc_.new_unimplemented();} + @Override public void Controls_add(GxwElem sub) {throw Err_.new_unimplemented();} @Override public void Controls_del(GxwElem sub) {} @Override public boolean Focus_has() {return inner.isFocusControl();} @Override public boolean Focus_able() {return focus_able;} boolean focus_able; diff --git a/150_gfui/xtn/gplx/gfui/Swt_core_lnrs.java b/150_gfui/xtn/gplx/gfui/Swt_core_lnrs.java index 0b66ef3e4..0e886f467 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_core_lnrs.java +++ b/150_gfui/xtn/gplx/gfui/Swt_core_lnrs.java @@ -18,7 +18,6 @@ along with this program. If not, see . package gplx.gfui; import gplx.Byte_ascii; import gplx.Enm_; -import gplx.Err_; import gplx.GfoEvMgr_; import gplx.GfoInvkAble_; import gplx.GfoMsg_; diff --git a/150_gfui/xtn/gplx/gfui/Swt_dlg_msg.java b/150_gfui/xtn/gplx/gfui/Swt_dlg_msg.java index fe61e16f8..550a2eabe 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_dlg_msg.java +++ b/150_gfui/xtn/gplx/gfui/Swt_dlg_msg.java @@ -68,7 +68,7 @@ class Swt_dlg_msg implements Gfui_dlg_msg, Runnable { case Gfui_dlg_msg_.Ico_question: return SWT.ICON_QUESTION; case Gfui_dlg_msg_.Ico_warning: return SWT.ICON_WARNING; case Gfui_dlg_msg_.Ico_working: return SWT.ICON_WORKING; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } int Xto_swt_btn(int v) { @@ -79,7 +79,7 @@ class Swt_dlg_msg implements Gfui_dlg_msg, Runnable { case Gfui_dlg_msg_.Btn_ignore: return SWT.IGNORE; case Gfui_dlg_msg_.Btn_abort: return SWT.ABORT; case Gfui_dlg_msg_.Btn_cancel: return SWT.CANCEL; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } int Xto_gfui_btn(int v) { @@ -90,7 +90,7 @@ class Swt_dlg_msg implements Gfui_dlg_msg, Runnable { case SWT.IGNORE: return Gfui_dlg_msg_.Btn_ignore; case SWT.ABORT: return Gfui_dlg_msg_.Btn_abort; case SWT.CANCEL: return Gfui_dlg_msg_.Btn_cancel; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } } diff --git a/150_gfui/xtn/gplx/gfui/Swt_html.java b/150_gfui/xtn/gplx/gfui/Swt_html.java index b7e35a69d..55ba35a4c 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_html.java +++ b/150_gfui/xtn/gplx/gfui/Swt_html.java @@ -21,6 +21,7 @@ import gplx.core.threads.Thread_adp_; import java.security.acl.Owner; import gplx.*; + import org.eclipse.swt.SWT; import org.eclipse.swt.browser.*; import org.eclipse.swt.events.*; @@ -160,7 +161,7 @@ class Swt_html_lnr_title implements TitleListener { public Swt_html_lnr_title(Swt_html html_box) {this.html_box = html_box;} @Override public void changed(TitleEvent ev) { try {UsrDlg_._.Note(ev.title);} - catch (Exception e) {html_box.Kit().Ask_ok("xowa.swt.html_box", "title.fail", Err_.Message_gplx_brief(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync + catch (Exception e) {html_box.Kit().Ask_ok("xowa.swt.html_box", "title.fail", Err_.Message_gplx_full(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync } } class Swt_html_func extends BrowserFunction { @@ -174,7 +175,7 @@ class Swt_html_func extends BrowserFunction { return gplx.gfui.Gfui_html.Js_args_exec(invk, args); } catch (Exception e) { - return Err_.Message_gplx_brief(e); + return Err_.Message_gplx_full(e); } } } @@ -187,7 +188,7 @@ class Swt_html_lnr_status implements StatusTextListener { String ev_text = ev.text; // if (String_.Has(ev_text, "Loading [MathJax]")) return; // suppress MathJax messages; // NOTE: disabled for 2.1 (which no longer outputs messages to status); DATE:2013-05-03 try {if (host != null) GfoEvMgr_.PubObj(host, Gfui_html.Evt_link_hover, "v", ev_text);} - catch (Exception e) {html_box.Kit().Ask_ok("xowa.gui.html_box", "status.fail", Err_.Message_gplx_brief(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync + catch (Exception e) {html_box.Kit().Ask_ok("xowa.gui.html_box", "status.fail", Err_.Message_gplx_full(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync } } class Swt_html_lnr_progress implements ProgressListener { @@ -218,7 +219,7 @@ class Swt_html_lnr_location implements LocationListener { GfoEvMgr_.PubObj(host, evt, "v", location); arg.doit = false; // cancel navigation event, else there will be an error when trying to go to invalid location } - catch (Exception e) {html_box.Kit().Ask_ok("xowa.gui.html_box", evt, Err_.Message_gplx_brief(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync + catch (Exception e) {html_box.Kit().Ask_ok("xowa.gui.html_box", evt, Err_.Message_gplx_full(e));} // NOTE: must catch error or will cause app to lock; currently called inside displaySync } } class Swt_html_lnr_mouse implements MouseListener { diff --git a/150_gfui/xtn/gplx/gfui/Swt_img.java b/150_gfui/xtn/gplx/gfui/Swt_img.java index 05af7af79..0d7f93e20 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_img.java +++ b/150_gfui/xtn/gplx/gfui/Swt_img.java @@ -31,8 +31,8 @@ class Swt_img implements ImageAdp { public Object Under() {return under;} Image under; public boolean Disposed() {return under.isDisposed();} public void Rls() {under.dispose();} - public void SaveAsBmp(Io_url url) {throw Exc_.new_unimplemented();} - public void SaveAsPng(Io_url url) {throw Exc_.new_unimplemented();} + public void SaveAsBmp(Io_url url) {throw Err_.new_unimplemented();} + public void SaveAsPng(Io_url url) {throw Err_.new_unimplemented();} public ImageAdp Resize(int trg_w, int trg_h) {return Extract_image(0, 0, width, height, trg_w, trg_h);} public ImageAdp Extract_image(RectAdp src_rect, SizeAdp trg_size) {return Extract_image(src_rect.X(), src_rect.Y(), src_rect.Width(), src_rect.Height(), trg_size.Width(), trg_size.Height());} public ImageAdp Extract_image(int src_x, int src_y, int src_w, int src_h, int trg_w, int trg_h) { diff --git a/150_gfui/xtn/gplx/gfui/Swt_popup_grp.java b/150_gfui/xtn/gplx/gfui/Swt_popup_grp.java index 0bba3d9f0..30f66fcf4 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_popup_grp.java +++ b/150_gfui/xtn/gplx/gfui/Swt_popup_grp.java @@ -141,7 +141,7 @@ class Swt_lnr__menu_detect implements MenuDetectListener { @Override public void menuDetected(MenuDetectEvent arg0) { try {GfoEvMgr_.Pub(elem, GfuiElemKeys.Evt_menu_detected);} catch (Exception e) { - kit.Ask_ok("", "", "error during right-click; err=~{0}", Err_.Message_gplx(e)); + kit.Ask_ok("", "", "error during right-click; err=~{0}", Err_.Message_gplx_full(e)); } } } @@ -157,7 +157,7 @@ class Swt_popup_itm implements Gfui_mnu_itm { case SWT.CASCADE: this.tid = Gfui_mnu_itm_.Tid_grp; break; case SWT.CHECK: this.tid = Gfui_mnu_itm_.Tid_chk; break; case SWT.RADIO: this.tid = Gfui_mnu_itm_.Tid_rdo; break; - default: throw Exc_.new_unhandled(swt_type); + default: throw Err_.new_unhandled(swt_type); } } @Override public int Tid() {return tid;} private int tid; @@ -192,7 +192,7 @@ class Swt_lnr__menu_btn_cmd implements Listener { public Swt_lnr__menu_btn_cmd(GfoInvkAble invk, String cmd) {this.invk = invk; this.cmd = cmd;} GfoInvkAble invk; String cmd; public void handleEvent(Event ev) { try {GfoInvkAble_.InvkCmd(invk, cmd);} - catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", cmd, Err_.Message_gplx_brief(e));} + catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", cmd, Err_.Message_gplx_full(e));} } } class Swt_lnr__menu_btn_msg implements Listener { @@ -203,7 +203,7 @@ class Swt_lnr__menu_btn_msg implements Listener { msg.Args_reset(); root_wkr.Run_str_for(invk, msg); } - catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", msg.Key(), Err_.Message_gplx_brief(e));} + catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", msg.Key(), Err_.Message_gplx_full(e));} } } class Swt_lnr__menu_chk_msg implements Listener { @@ -219,6 +219,6 @@ class Swt_lnr__menu_chk_msg implements Listener { msg.Args_reset(); root_wkr.Run_str_for(invk, msg); } - catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", msg.Key(), Err_.Message_gplx_brief(e));} + catch (Exception e) {Swt_kit._.Ask_ok("", "", "error while invoking command: cmd=~{0} err=~{1}", msg.Key(), Err_.Message_gplx_full(e));} } } diff --git a/150_gfui/xtn/gplx/gfui/Swt_tab_itm.java b/150_gfui/xtn/gplx/gfui/Swt_tab_itm.java index ffb10336c..99e1e8203 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_tab_itm.java +++ b/150_gfui/xtn/gplx/gfui/Swt_tab_itm.java @@ -35,7 +35,7 @@ public class Swt_tab_itm implements Gxw_tab_itm, Swt_control, FocusListener { public Swt_kit Kit() {return kit;} private Swt_kit kit; @Override public Control Under_control() {return null;} @Override public Composite Under_composite() {return null;} - @Override public Control Under_menu_control() {throw Exc_.new_unimplemented();} + @Override public Control Under_menu_control() {throw Err_.new_unimplemented();} @Override public String Tab_name() {return tab_itm.getText();} @Override public void Tab_name_(String v) {tab_itm.setText(v);} @Override public String Tab_tip_text() {return tab_itm.getToolTipText();} @Override public void Tab_tip_text_(String v) {tab_itm.setToolTipText(v);} public void Subs_add(GfuiElem sub) { diff --git a/400_xowa/src/gplx/core/brys/Bit_.java b/400_xowa/src/gplx/core/brys/Bit_.java index 44c33ca1e..605f18686 100644 --- a/400_xowa/src/gplx/core/brys/Bit_.java +++ b/400_xowa/src/gplx/core/brys/Bit_.java @@ -82,7 +82,7 @@ public class Bit_ { public static int Shift_lhs(int val, int shift) {return val << shift;} public static int Shift_rhs(int val, int shift) {return val >> shift;} public static int Shift_lhs_to_int(int[] shift_ary, int... val_ary) { - int val_len = val_ary.length; if (val_len > shift_ary.length) throw Exc_.new_("vals must be less than shifts", "vals", val_len, "shifts", shift_ary.length); + int val_len = val_ary.length; if (val_len > shift_ary.length) throw Err_.new_wo_type("vals must be less than shifts", "vals", val_len, "shifts", shift_ary.length); int rv = 0; for (int i = 0; i < val_len; ++i) { int val = val_ary[i]; 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 02a209651..69f2b5528 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_base.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_base.java @@ -20,29 +20,29 @@ public class Gfo_fld_base { public byte Row_dlm() {return row_dlm;} public Gfo_fld_base Row_dlm_(byte v) {row_dlm = v; return this;} protected byte row_dlm = Byte_ascii.Nl; public byte Fld_dlm() {return fld_dlm;} public Gfo_fld_base Fld_dlm_(byte v) {fld_dlm = v; return this;} protected byte fld_dlm = Byte_ascii.Pipe; public byte Escape_dlm() {return escape_dlm;} public Gfo_fld_base Escape_dlm_(byte v) {escape_dlm = v; return this;} protected byte escape_dlm = Byte_ascii.Tilde; - public byte Quote_dlm() {return quote_dlm;} public Gfo_fld_base Quote_dlm_(byte v) {quote_dlm = v; return this;} protected byte quote_dlm = Byte_ascii.Nil; + public byte Quote_dlm() {return quote_dlm;} public Gfo_fld_base Quote_dlm_(byte v) {quote_dlm = v; return this;} protected byte quote_dlm = Byte_ascii.Null; public Gfo_fld_base Escape_reg(byte b) {return Escape_reg(b, b);} public byte[] Escape_decode() {return decode_regy;} public Gfo_fld_base Escape_reg(byte key, byte val) {encode_regy[key] = val; decode_regy[val] = key; return this;} protected byte[] decode_regy = new byte[256]; protected byte[] encode_regy = new byte[256]; public Gfo_fld_base Escape_clear() { for (int i = 0; i < 256; i++) - decode_regy[i] = Byte_ascii.Nil; + decode_regy[i] = Byte_ascii.Null; for (int i = 0; i < 256; i++) - encode_regy[i] = Byte_ascii.Nil; + encode_regy[i] = Byte_ascii.Null; return this; } Gfo_fld_base Ini_common() { return Escape_reg(Byte_ascii.Nl, Byte_ascii.Ltr_n).Escape_reg(Byte_ascii.Tab, Byte_ascii.Ltr_t).Escape_reg(Byte_ascii.Cr, Byte_ascii.Ltr_r) - .Escape_reg(Byte_ascii.Backfeed, Byte_ascii.Ltr_b); // .Escape_reg(Byte_ascii.Nil, Byte_ascii.Num_0) + .Escape_reg(Byte_ascii.Backfeed, Byte_ascii.Ltr_b); // .Escape_reg(Byte_ascii.Null, Byte_ascii.Num_0) } protected Gfo_fld_base Ctor_xdat_base() { return Escape_clear().Ini_common() - .Fld_dlm_(Byte_ascii.Pipe).Row_dlm_(Byte_ascii.Nl).Escape_dlm_(Byte_ascii.Tilde).Quote_dlm_(Byte_ascii.Nil) + .Fld_dlm_(Byte_ascii.Pipe).Row_dlm_(Byte_ascii.Nl).Escape_dlm_(Byte_ascii.Tilde).Quote_dlm_(Byte_ascii.Null) .Escape_reg(Byte_ascii.Pipe, Byte_ascii.Ltr_p).Escape_reg(Byte_ascii.Tilde); } 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_u8("\\Z") + .Escape_reg(Byte_ascii.Backslash).Escape_reg(Byte_ascii.Quote).Escape_reg(Byte_ascii.Apos); // , Escape_eof = Bry_.new_a7("\\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 d8905e796..449bc7c49 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_rdr.java @@ -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 Exc_.new_("csv date is invalid", "txt", String_.new_u8_by_len(data, fld_bgn, 20)); + if (data[fld_bgn + 19] != fld_dlm) throw Err_.new_wo_type("csv date is invalid", "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); @@ -78,7 +78,7 @@ public class Gfo_fld_rdr extends Gfo_fld_base { return; } } - throw Exc_.new_("fld_dlm failed", "fld_dlm", (char)fld_dlm, "bgn", fld_bgn); + throw Err_.new_wo_type("fld_dlm failed", "fld_dlm", (char)fld_dlm, "bgn", fld_bgn); } 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();} @@ -100,13 +100,13 @@ public class Gfo_fld_rdr extends Gfo_fld_base { } else if (b == escape_dlm) { ++i; -// if (i == data_len) throw Err_.new_("escape char at end of String"); +// if (i == data_len) throw Err_.new_wo_type("escape char at end of String"); b = data[i]; byte escape_val = decode_regy[b]; - if (escape_val == Byte_ascii.Nil) {trg.Add_byte(escape_dlm).Add_byte(b);} //throw Err_.new_fmt_("unknown escape key: key={0}", data[i]); + if (escape_val == Byte_ascii.Null) {trg.Add_byte(escape_dlm).Add_byte(b);} //throw Err_.new_fmt_("unknown escape key: key={0}", data[i]); else trg.Add_byte(escape_val); } - else if (b == Byte_ascii.Nil) { + else if (b == Byte_ascii.Null) { trg.Add(Bry_nil); } else if (b == quote_dlm) { 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 ce25d1205..de638f441 100644 --- a/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java +++ b/400_xowa/src/gplx/core/flds/Gfo_fld_wtr.java @@ -39,7 +39,7 @@ public class Gfo_fld_wtr extends Gfo_fld_base { for (int i = bgn; i < end; i++) { byte b = val[i]; byte escape_val = encode_regy[b & 0xFF]; // PATCH.JAVA:need to convert to unsigned byte - if (escape_val == Byte_ascii.Nil) bfr.Add_byte(b); + if (escape_val == Byte_ascii.Null) bfr.Add_byte(b); else {bfr.Add_byte(escape_dlm); bfr.Add_byte(escape_val);} } return this; diff --git a/400_xowa/src/gplx/json/Json_doc.java b/400_xowa/src/gplx/core/json/Json_doc.java similarity index 82% rename from 400_xowa/src/gplx/json/Json_doc.java rename to 400_xowa/src/gplx/core/json/Json_doc.java index 5731e92e8..2acda293c 100644 --- a/400_xowa/src/gplx/json/Json_doc.java +++ b/400_xowa/src/gplx/core/json/Json_doc.java @@ -15,14 +15,14 @@ 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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_doc { - public void Ctor(byte[] src, Json_itm_nde root) {this.src = src; this.root = root;} + public void Ctor(byte[] src, Json_nde root) {this.src = src; this.root = root;} public Bry_bfr Bfr() {return bfr;} Bry_bfr bfr = Bry_bfr.new_(); public Number_parser Utl_num_parser() {return utl_num_parser;} Number_parser utl_num_parser = new Number_parser(); public byte[] Str_utf8_bry() {return str_utf8_bry;} private byte[] str_utf8_bry = new byte[6]; public byte[] Src() {return src;} private byte[] src; - public Json_itm_nde Root() {return root;} Json_itm_nde root; + public Json_nde Root() {return root;} Json_nde root; public byte[] Get_val_as_bry_or(byte[] qry_bry, byte[] or) {tmp_qry_bry[0] = qry_bry; return Get_val_as_bry_or(tmp_qry_bry, or);} public byte[] Get_val_as_bry_or(byte[][] qry_bry, byte[] or) { Json_itm nde = Find_nde(root, qry_bry, qry_bry.length - 1, 0); @@ -46,14 +46,14 @@ public class Json_doc { tmp_qry_bry[0] = key; return Find_nde(root, tmp_qry_bry, 0, 0); } - private Json_itm Find_nde(Json_itm_nde owner, byte[][] paths, int paths_last, int paths_idx) { + private Json_itm Find_nde(Json_nde owner, byte[][] paths, int paths_last, int paths_idx) { byte[] path = paths[paths_idx]; - int subs_len = owner.Subs_len(); + int subs_len = owner.Len(); for (int i = 0; i < subs_len; i++) { - Json_itm_kv itm = Json_itm_kv.cast_(owner.Subs_get_at(i)); if (itm == null) continue; // ignore simple props, arrays, ndes + Json_itm_kv itm = Json_itm_kv.cast_(owner.Get_at(i)); if (itm == null) continue; // ignore simple props, arrays, ndes if (!itm.Key_eq(path)) continue; if (paths_idx == paths_last) return itm.Val(); - Json_itm_nde sub_nde = Json_itm_nde.cast_(itm.Val()); if (sub_nde == null) return null; // match, but has not a nde; exit + Json_nde sub_nde = Json_nde.cast_(itm.Val()); if (sub_nde == null) return null; // match, but has not a nde; exit return Find_nde(sub_nde, paths, paths_last, paths_idx + 1); } return null; @@ -64,4 +64,4 @@ public class Json_doc { public static Json_doc new_(byte[] v) { synchronized (parser) {return parser.Parse(v);} } private static final 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/core/json/Json_doc_bldr.java similarity index 80% rename from 400_xowa/src/gplx/json/Json_doc_bldr.java rename to 400_xowa/src/gplx/core/json/Json_doc_bldr.java index 9b323c905..5f3998538 100644 --- a/400_xowa/src/gplx/json/Json_doc_bldr.java +++ b/400_xowa/src/gplx/core/json/Json_doc_bldr.java @@ -15,27 +15,27 @@ 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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_doc_bldr { - public Json_itm_nde Nde() {return factory.Nde(-1);} - public Json_itm_nde Nde(Json_grp owner) { - Json_itm_nde rv = factory.Nde(-1); - owner.Subs_add(rv); + public Json_nde Nde() {return factory.Nde(-1);} + public Json_nde Nde(Json_grp owner) { + Json_nde rv = factory.Nde(-1); + owner.Add(rv); return rv; } 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;} - public Json_itm_kv Kv_str(Json_grp owner, String key, String val) {Json_itm_kv rv = factory.Kv(Json_itm_tmp.new_str_(key), Json_itm_tmp.new_str_(val)); owner.Subs_add(rv); return rv;} + 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.Add(rv); return rv;} + public Json_itm_kv Kv_str(Json_grp owner, String key, String val) {Json_itm_kv rv = factory.Kv(Json_itm_tmp.new_str_(key), Json_itm_tmp.new_str_(val)); owner.Add(rv); return rv;} public Json_itm_ary Kv_ary(Json_grp owner, String key, Json_itm... subs) { Json_itm key_itm = Json_itm_tmp.new_str_(key); Json_itm_ary val_ary = factory.Ary(-1, -1); Json_itm_kv kv = factory.Kv(key_itm, val_ary); - owner.Subs_add(kv); + owner.Add(kv); int len = subs.length; for (int i = 0; i < len; i++) - val_ary.Subs_add(subs[i]); + val_ary.Add(subs[i]); return val_ary; } Json_doc doc = new Json_doc(); Json_factory factory = new Json_factory(); diff --git a/400_xowa/src/gplx/json/Json_doc_srl.java b/400_xowa/src/gplx/core/json/Json_doc_srl.java similarity index 96% rename from 400_xowa/src/gplx/json/Json_doc_srl.java rename to 400_xowa/src/gplx/core/json/Json_doc_srl.java index 09f9e6f85..811ae9478 100644 --- a/400_xowa/src/gplx/json/Json_doc_srl.java +++ b/400_xowa/src/gplx/core/json/Json_doc_srl.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_doc_srl { private int indent = -1; private Bry_bfr bfr = Bry_bfr.reset_(255); diff --git a/400_xowa/src/gplx/json/Json_doc_tst.java b/400_xowa/src/gplx/core/json/Json_doc_tst.java similarity index 94% rename from 400_xowa/src/gplx/json/Json_doc_tst.java rename to 400_xowa/src/gplx/core/json/Json_doc_tst.java index 7657ab766..1aacb0676 100644 --- a/400_xowa/src/gplx/json/Json_doc_tst.java +++ b/400_xowa/src/gplx/core/json/Json_doc_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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; import org.junit.*; public class Json_doc_tst { Json_qry_mgr_fxt fxt = new Json_qry_mgr_fxt(); diff --git a/400_xowa/src/gplx/json/Json_doc_wtr.java b/400_xowa/src/gplx/core/json/Json_doc_wtr.java similarity index 96% rename from 400_xowa/src/gplx/json/Json_doc_wtr.java rename to 400_xowa/src/gplx/core/json/Json_doc_wtr.java index d82251cec..d589ab338 100644 --- a/400_xowa/src/gplx/json/Json_doc_wtr.java +++ b/400_xowa/src/gplx/core/json/Json_doc_wtr.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_doc_wtr { private int indent = -2; private Bry_bfr bfr = Bry_bfr.reset_(255); diff --git a/400_xowa/src/gplx/json/Json_factory.java b/400_xowa/src/gplx/core/json/Json_factory.java similarity index 91% rename from 400_xowa/src/gplx/json/Json_factory.java rename to 400_xowa/src/gplx/core/json/Json_factory.java index 5732e9e98..34d378d3d 100644 --- a/400_xowa/src/gplx/json/Json_factory.java +++ b/400_xowa/src/gplx/core/json/Json_factory.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_factory { public Json_itm Null() {return Json_itm_null.Null;} public Json_itm Bool_n() {return Json_itm_bool.Bool_n;} @@ -25,5 +25,5 @@ public class Json_factory { public Json_itm Str(Json_doc doc, int bgn, int end, boolean exact) {return new Json_itm_str(doc, bgn, end, exact);} public Json_itm_kv Kv(Json_itm key, Json_itm val) {return new Json_itm_kv(key, val);} public Json_itm_ary Ary(int bgn, int end) {return new Json_itm_ary(bgn, end);} - public Json_itm_nde Nde(int bgn) {return new Json_itm_nde(bgn);} + public Json_nde Nde(int bgn) {return new Json_nde(bgn);} } diff --git a/400_xowa/src/gplx/json/Json_grp.java b/400_xowa/src/gplx/core/json/Json_grp.java similarity index 89% rename from 400_xowa/src/gplx/json/Json_grp.java rename to 400_xowa/src/gplx/core/json/Json_grp.java index db8859b34..0dcf4f632 100644 --- a/400_xowa/src/gplx/json/Json_grp.java +++ b/400_xowa/src/gplx/core/json/Json_grp.java @@ -15,12 +15,12 @@ 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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public interface Json_grp extends Json_itm { void Src_end_(int v); - int Subs_len(); - Json_itm Subs_get_at(int i); - void Subs_add(Json_itm itm); + int Len(); + Json_itm Get_at(int i); + void Add(Json_itm itm); } class Json_grp_ { public static final Json_grp[] Ary_empty = new Json_grp[0]; diff --git a/400_xowa/src/gplx/json/Json_itm.java b/400_xowa/src/gplx/core/json/Json_itm.java similarity index 96% rename from 400_xowa/src/gplx/json/Json_itm.java rename to 400_xowa/src/gplx/core/json/Json_itm.java index 515450fd7..08385d20f 100644 --- a/400_xowa/src/gplx/json/Json_itm.java +++ b/400_xowa/src/gplx/core/json/Json_itm.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public interface Json_itm { byte Tid(); int Src_bgn(); diff --git a/400_xowa/src/gplx/json/Json_itm_.java b/400_xowa/src/gplx/core/json/Json_itm_.java similarity index 94% rename from 400_xowa/src/gplx/json/Json_itm_.java rename to 400_xowa/src/gplx/core/json/Json_itm_.java index c18d9336c..42942f96d 100644 --- a/400_xowa/src/gplx/json/Json_itm_.java +++ b/400_xowa/src/gplx/core/json/Json_itm_.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; 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; diff --git a/400_xowa/src/gplx/json/Json_itm_ary.java b/400_xowa/src/gplx/core/json/Json_itm_ary.java similarity index 88% rename from 400_xowa/src/gplx/json/Json_itm_ary.java rename to 400_xowa/src/gplx/core/json/Json_itm_ary.java index 8e6873bb9..e301e89b2 100644 --- a/400_xowa/src/gplx/json/Json_itm_ary.java +++ b/400_xowa/src/gplx/core/json/Json_itm_ary.java @@ -15,22 +15,22 @@ 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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_itm_ary extends Json_itm_base implements Json_grp { public Json_itm_ary(int src_bgn, int src_end) {this.Ctor(src_bgn, src_end);} @Override public byte Tid() {return Json_itm_.Tid_array;} public void Src_end_(int v) {this.src_end = v;} @Override public Object Data() {return null;} @Override public byte[] Data_bry() {return null;} - public int Subs_len() {return subs_len;} private int subs_len = 0, subs_max = 0; - public Json_itm Subs_get_at(int i) {return subs[i];} - public Json_itm_ary Subs_add_many(Json_itm... ary) { + public int Len() {return subs_len;} private int subs_len = 0, subs_max = 0; + public Json_itm Get_at(int i) {return subs[i];} + public Json_itm_ary Add_many(Json_itm... ary) { int len = ary.length; for (int i = 0; i < len; i++) - Subs_add(ary[i]); + Add(ary[i]); return this; } - public void Subs_add(Json_itm itm) { + public void Add(Json_itm itm) { int new_len = subs_len + 1; if (new_len > subs_max) { // ary too small >>> expand subs_max = new_len * 2; diff --git a/400_xowa/src/gplx/json/Json_itm_base.java b/400_xowa/src/gplx/core/json/Json_itm_base.java similarity index 94% rename from 400_xowa/src/gplx/json/Json_itm_base.java rename to 400_xowa/src/gplx/core/json/Json_itm_base.java index e7f36bf8a..43bb69566 100644 --- a/400_xowa/src/gplx/json/Json_itm_base.java +++ b/400_xowa/src/gplx/core/json/Json_itm_base.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public abstract class Json_itm_base implements Json_itm { public abstract byte Tid(); public void Ctor(int src_bgn, int src_end) {this.src_bgn = src_bgn; this.src_end = src_end;} diff --git a/400_xowa/src/gplx/json/Json_itm_int.java b/400_xowa/src/gplx/core/json/Json_itm_int.java similarity index 95% rename from 400_xowa/src/gplx/json/Json_itm_int.java rename to 400_xowa/src/gplx/core/json/Json_itm_int.java index 70db09d1c..4362aba2e 100644 --- a/400_xowa/src/gplx/json/Json_itm_int.java +++ b/400_xowa/src/gplx/core/json/Json_itm_int.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_itm_int extends Json_itm_base { public Json_itm_int(Json_doc doc, int src_bgn, int src_end) {this.Ctor(src_bgn, src_end); this.doc = doc;} Json_doc doc; @Override public byte Tid() {return Json_itm_.Tid_int;} diff --git a/400_xowa/src/gplx/json/Json_itm_kv.java b/400_xowa/src/gplx/core/json/Json_itm_kv.java similarity index 95% rename from 400_xowa/src/gplx/json/Json_itm_kv.java rename to 400_xowa/src/gplx/core/json/Json_itm_kv.java index b353824a2..05713202e 100644 --- a/400_xowa/src/gplx/json/Json_itm_kv.java +++ b/400_xowa/src/gplx/core/json/Json_itm_kv.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_itm_kv extends Json_itm_base { public Json_itm_kv(Json_itm key, Json_itm val) {this.key = key; this.val = val;} @Override public byte Tid() {return Json_itm_.Tid_kv;} diff --git a/400_xowa/src/gplx/json/Json_itm_tmp.java b/400_xowa/src/gplx/core/json/Json_itm_tmp.java similarity index 95% rename from 400_xowa/src/gplx/json/Json_itm_tmp.java rename to 400_xowa/src/gplx/core/json/Json_itm_tmp.java index cb6244ad4..363a48c69 100644 --- a/400_xowa/src/gplx/json/Json_itm_tmp.java +++ b/400_xowa/src/gplx/core/json/Json_itm_tmp.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; 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; diff --git a/400_xowa/src/gplx/json/Json_kv_ary_srl.java b/400_xowa/src/gplx/core/json/Json_kv_ary_srl.java similarity index 80% rename from 400_xowa/src/gplx/json/Json_kv_ary_srl.java rename to 400_xowa/src/gplx/core/json/Json_kv_ary_srl.java index 582168d8e..ea26aea71 100644 --- a/400_xowa/src/gplx/json/Json_kv_ary_srl.java +++ b/400_xowa/src/gplx/core/json/Json_kv_ary_srl.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_kv_ary_srl { public static KeyVal Kv_by_itm(Json_itm itm) { switch (itm.Tid()) { @@ -23,7 +23,7 @@ public class Json_kv_ary_srl { Json_itm_kv kv = (Json_itm_kv)itm; return KeyVal_.new_(kv.Key_as_str(), Val_by_itm(kv.Val())); default: - throw Exc_.new_unhandled(itm.Tid()); + throw Err_.new_unhandled(itm.Tid()); } } private static Object Val_by_itm(Json_itm itm) { @@ -34,26 +34,26 @@ public class Json_kv_ary_srl { case Json_itm_.Tid_string: case Json_itm_.Tid_decimal: return itm.Data(); case Json_itm_.Tid_array: return Val_by_itm_ary((Json_itm_ary)itm); - case Json_itm_.Tid_nde: return Val_by_itm_nde((Json_itm_nde)itm); + case Json_itm_.Tid_nde: return Val_by_itm_nde((Json_nde)itm); case Json_itm_.Tid_kv: // kv should never be val; EX: "a":"b":c; not possible - default: throw Exc_.new_unhandled(itm.Tid()); + default: throw Err_.new_unhandled(itm.Tid()); } } private static KeyVal[] Val_by_itm_ary(Json_itm_ary itm) { - int subs_len = itm.Subs_len(); + int subs_len = itm.Len(); KeyVal[] rv = new KeyVal[subs_len]; for (int i = 0; i < subs_len; i++) { - Json_itm sub = itm.Subs_get_at(i); + Json_itm sub = itm.Get_at(i); KeyVal kv = KeyVal_.new_(Int_.Xto_str(i + Int_.Base1), Val_by_itm(sub)); rv[i] = kv; } return rv; } - public static KeyVal[] Val_by_itm_nde(Json_itm_nde itm) { - int subs_len = itm.Subs_len(); + public static KeyVal[] Val_by_itm_nde(Json_nde itm) { + int subs_len = itm.Len(); KeyVal[] rv = new KeyVal[subs_len]; for (int i = 0; i < subs_len; i++) { - Json_itm sub = itm.Subs_get_at(i); + Json_itm sub = itm.Get_at(i); rv[i] = Kv_by_itm(sub); } return rv; diff --git a/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java b/400_xowa/src/gplx/core/json/Json_kv_ary_srl_tst.java similarity index 96% rename from 400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java rename to 400_xowa/src/gplx/core/json/Json_kv_ary_srl_tst.java index 163830c1b..bf80b4d5e 100644 --- a/400_xowa/src/gplx/json/Json_kv_ary_srl_tst.java +++ b/400_xowa/src/gplx/core/json/Json_kv_ary_srl_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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; import org.junit.*; public class Json_kv_ary_srl_tst { @Before public void init() {fxt.Clear();} private Json_kv_ary_srl_fxt fxt = new Json_kv_ary_srl_fxt(); diff --git a/400_xowa/src/gplx/json/Json_itm_nde.java b/400_xowa/src/gplx/core/json/Json_nde.java similarity index 62% rename from 400_xowa/src/gplx/json/Json_itm_nde.java rename to 400_xowa/src/gplx/core/json/Json_nde.java index d69e78efe..72bd6ef01 100644 --- a/400_xowa/src/gplx/json/Json_itm_nde.java +++ b/400_xowa/src/gplx/core/json/Json_nde.java @@ -15,16 +15,23 @@ 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.json; import gplx.*; -public class Json_itm_nde extends Json_itm_base implements Json_grp { - public Json_itm_nde(int src_bgn) {this.Ctor(src_bgn, -1);} +package gplx.core.json; import gplx.*; import gplx.core.*; +public class Json_nde extends Json_itm_base implements Json_grp { + private Json_itm[] subs = Json_itm_.Ary_empty; private int subs_len = 0, subs_max = 0; + public Json_nde(int src_bgn) {this.Ctor(src_bgn, -1);} @Override public byte Tid() {return Json_itm_.Tid_nde;} public void Src_end_(int v) {this.src_end = v;} @Override public Object Data() {return null;} @Override public byte[] Data_bry() {return null;} - public int Subs_len() {return subs_len;} private int subs_len = 0, subs_max = 0; - public Json_itm Subs_get_at(int i) {return subs[i];} - public Json_itm Subs_get_by_key(byte[] key) { + public int Len() {return subs_len;} + public Json_itm Get_at(int i) {return subs[i];} + public Json_nde Get(String key) {return Get(Bry_.new_u8(key));} + public Json_nde Get(byte[] key) { + Json_itm_kv kv = Json_itm_kv.cast_(this.Get_itm(key)); if (kv == null) throw Err_.new_("json", "kv not found", "key", key); + Json_nde rv = Json_nde.cast_(kv.Val()); if (rv == null) throw Err_.new_("json", "nde not found", "key", key); + return rv; + } + public Json_itm Get_itm(byte[] key) { for (int i = 0; i < subs_len; i++) { Json_itm itm = subs[i]; if (itm.Tid() == Json_itm_.Tid_kv) { @@ -35,8 +42,14 @@ public class Json_itm_nde extends Json_itm_base implements Json_grp { } return null; } - public byte[] Subs_get_val_by_key_as_bry(byte[] key, byte[] or) { - Json_itm kv_obj = Subs_get_by_key(key); + public byte[] Get_bry(byte[] key) { + byte[] rv = Get_bry(key, null); if (rv == null) throw Err_.new_("json", "key missing", "key", key); + return rv; + } + public byte[] Get_bry_or_null(String key) {return Get_bry(Bry_.new_u8(key), null);} + public byte[] Get_bry_or_null(byte[] key) {return Get_bry(key, null);} + public byte[] Get_bry(byte[] key, byte[] or) { + Json_itm kv_obj = Get_itm(key); if (kv_obj == null) return or; // key not found; if (kv_obj.Tid() != Json_itm_.Tid_kv) return or; // key is not a key_val Json_itm_kv kv = (Json_itm_kv)kv_obj; @@ -44,13 +57,13 @@ public class Json_itm_nde extends Json_itm_base implements Json_grp { if (val == null) return or; return val.Data_bry(); } - public Json_itm_nde Subs_add_many(Json_itm... ary) { + public Json_nde Add_many(Json_itm... ary) { int len = ary.length; for (int i = 0; i < len; i++) - Subs_add(ary[i]); + Add(ary[i]); return this; } - public void Subs_add(Json_itm itm) { + public void Add(Json_itm itm) { int new_len = subs_len + 1; if (new_len > subs_max) { // ary too small >>> expand subs_max = new_len * 2; @@ -76,6 +89,5 @@ public class Json_itm_nde extends Json_itm_base implements Json_grp { Json_grp_.Print_nl(bfr); Json_grp_.Print_indent(bfr, depth); bfr.Add_byte(Byte_ascii.Curly_end).Add_byte_nl(); } - private Json_itm[] subs = Json_itm_.Ary_empty; - public static Json_itm_nde cast_(Json_itm v) {return v == null || v.Tid() != Json_itm_.Tid_nde ? null : (Json_itm_nde)v;} + public static Json_nde cast_(Json_itm v) {return v == null || v.Tid() != Json_itm_.Tid_nde ? null : (Json_nde)v;} } diff --git a/400_xowa/src/gplx/json/Json_parser.java b/400_xowa/src/gplx/core/json/Json_parser.java similarity index 83% rename from 400_xowa/src/gplx/json/Json_parser.java rename to 400_xowa/src/gplx/core/json/Json_parser.java index b55f1fedc..a0a20771d 100644 --- a/400_xowa/src/gplx/json/Json_parser.java +++ b/400_xowa/src/gplx/core/json/Json_parser.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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; 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(); @@ -28,26 +28,26 @@ public class Json_parser { if (src[pos] != Byte_ascii.Curly_bgn) return null; Skip_ws(); // if (src[pos + 1] != Byte_ascii.Quote) return null; -// throw Err_.new_("doc must start with {"); - Json_itm_nde root = Make_nde(doc); +// throw Err_.new_wo_type("doc must start with {"); + Json_nde root = Make_nde(doc); doc.Ctor(src, root); return doc; } - Json_itm_nde Make_nde(Json_doc doc) { + Json_nde Make_nde(Json_doc doc) { ++pos; // brack_bgn - Json_itm_nde nde = new Json_itm_nde(pos); + Json_nde nde = new Json_nde(pos); while (pos < src_len) { Skip_ws(); if (src[pos] == Byte_ascii.Curly_end) {++pos; return nde;} - else nde.Subs_add(Make_kv(doc)); + else nde.Add(Make_kv(doc)); Skip_ws(); switch (src[pos++]) { case Byte_ascii.Comma: break; case Byte_ascii.Curly_end: return nde; - default: throw Exc_.new_unhandled(src[pos - 1]); + default: throw Err_.new_unhandled(src[pos - 1]); } } - throw Exc_.new_("eos inside nde"); + throw Err_.new_wo_type("eos inside nde"); } Json_itm Make_kv(Json_doc doc) { Json_itm key = Make_string(doc); @@ -71,9 +71,9 @@ public class Json_parser { case Byte_ascii.Brack_bgn: return Make_ary(doc); case Byte_ascii.Curly_bgn: return Make_nde(doc); } - throw Exc_.new_unhandled(Char_.XtoStr(b)); + throw Err_.new_unhandled(Char_.XtoStr(b)); } - throw Exc_.new_("eos reached in val"); + throw Err_.new_wo_type("eos reached in val"); } Json_itm Make_literal(byte[] remainder, int remainder_len, Json_itm singleton) { ++pos; // 1st char @@ -82,7 +82,7 @@ public class Json_parser { pos = literal_end; return singleton; } - throw Exc_.new_("invalid literal"); + throw Err_.new_wo_type("invalid literal"); } Json_itm Make_string(Json_doc doc) { int bgn = pos++; // ++: quote_bgn @@ -104,13 +104,13 @@ public class Json_parser { break; } } - throw Exc_.new_("eos reached inside quote"); + throw Err_.new_wo_type("eos reached inside quote"); } Json_itm Make_num(Json_doc doc) { int num_bgn = pos; boolean loop = true; while (loop) { - if (pos == src_len) throw Exc_.new_("eos reached inside num"); + if (pos == src_len) throw Err_.new_wo_type("eos reached inside num"); switch (src[pos]) { case Byte_ascii.Num_0: case Byte_ascii.Num_1: case Byte_ascii.Num_2: case Byte_ascii.Num_3: case Byte_ascii.Num_4: case Byte_ascii.Num_5: case Byte_ascii.Num_6: case Byte_ascii.Num_7: case Byte_ascii.Num_8: case Byte_ascii.Num_9: @@ -136,14 +136,14 @@ public class Json_parser { while (pos < src_len) { Skip_ws(); if (src[pos] == Byte_ascii.Brack_end) {++pos; return rv;} - else rv.Subs_add(Make_val(doc)); + else rv.Add(Make_val(doc)); Skip_ws(); switch (src[pos]) { case Byte_ascii.Comma: ++pos; break; case Byte_ascii.Brack_end: ++pos; return rv; } } - throw Exc_.new_("eos inside ary"); + throw Err_.new_wo_type("eos inside ary"); } private void Skip_ws() { while (pos < src_len) { @@ -159,9 +159,9 @@ public class Json_parser { else throw err_(src, pos, "expected '{0}' but got '{1}'", Char_.XtoStr(expd), Char_.XtoStr(src[pos])); } - Exc err_(byte[] src, int bgn, String fmt, Object... args) {return err_(src, bgn, src.length, fmt, args);} - Exc err_(byte[] src, int bgn, int src_len, String fmt, Object... args) { + 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_u8_by_len(src, bgn, 20); - return Exc_.new_(msg); + return Err_.new_wo_type(msg); } } diff --git a/400_xowa/src/gplx/json/Json_parser_tst.java b/400_xowa/src/gplx/core/json/Json_parser_tst.java similarity index 75% rename from 400_xowa/src/gplx/json/Json_parser_tst.java rename to 400_xowa/src/gplx/core/json/Json_parser_tst.java index 79739d44e..fa57e4dfd 100644 --- a/400_xowa/src/gplx/json/Json_parser_tst.java +++ b/400_xowa/src/gplx/core/json/Json_parser_tst.java @@ -15,10 +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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; import org.junit.*; public class Json_parser_tst { - Json_parser_fxt fxt = new Json_parser_fxt(); + private final Json_parser_fxt fxt = new Json_parser_fxt(); @Before public void init() {fxt.Clear();} @Test public void Null() {fxt.Test_parse_val0("{'k0':null}" , null);} @Test public void Bool_n() {fxt.Test_parse_val0("{'k0':false}" , false);} @@ -28,18 +28,18 @@ public class Json_parser_tst { @Test public void Str() {fxt.Test_parse_val0("{'k0':'v0'}" , "v0");} @Test public void Str_esc_quote() {fxt.Test_parse_val0("{'k0':'a\\\"b'}" , "a\"b");} @Test public void Str_esc_hex4() {fxt.Test_parse_val0("{'k0':'a\\u0021b'}" , "a!b");} - @Test public void Num_dec() {fxt.Test_parse("{'k0':1.23}" , fxt.itm_nde_().Subs_add_many(fxt.itm_kv_dec_("k0", "1.23")));} - @Test public void Num_exp() {fxt.Test_parse("{'k0':1e+2}" , fxt.itm_nde_().Subs_add_many(fxt.itm_kv_dec_("k0", "1e+2")));} - @Test public void Num_mix() {fxt.Test_parse("{'k0':-1.23e-1}" , fxt.itm_nde_().Subs_add_many(fxt.itm_kv_dec_("k0", "-1.23e-1")));} - @Test public void Str_many() {fxt.Test_parse("{'k0':'v0','k1':'v1','k2':'v2'}", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_("k0", "v0"), fxt.itm_kv_("k1", "v1"), fxt.itm_kv_("k2", "v2")));} - @Test public void Ary_empty() {fxt.Test_parse("{'k0':[]}", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_ary_int_("k0")));} - @Test public void Ary_int() {fxt.Test_parse("{'k0':[1,2,3]}", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_ary_int_("k0", 1, 2, 3)));} - @Test public void Ary_str() {fxt.Test_parse("{'k0':['a','b','c']}", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_ary_str_("k0", "a", "b", "c")));} - @Test public void Ary_ws() {fxt.Test_parse("{'k0': [ 1 , 2 , 3 ] }", fxt.itm_nde_().Subs_add_many(fxt.itm_kv_ary_int_("k0", 1, 2, 3)));} - @Test public void Subs_int() {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 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")));} + @Test public void Num_dec() {fxt.Test_parse("{'k0':1.23}" , fxt.itm_nde_().Add_many(fxt.itm_kv_dec_("k0", "1.23")));} + @Test public void Num_exp() {fxt.Test_parse("{'k0':1e+2}" , fxt.itm_nde_().Add_many(fxt.itm_kv_dec_("k0", "1e+2")));} + @Test public void Num_mix() {fxt.Test_parse("{'k0':-1.23e-1}" , fxt.itm_nde_().Add_many(fxt.itm_kv_dec_("k0", "-1.23e-1")));} + @Test public void Str_many() {fxt.Test_parse("{'k0':'v0','k1':'v1','k2':'v2'}", fxt.itm_nde_().Add_many(fxt.itm_kv_("k0", "v0"), fxt.itm_kv_("k1", "v1"), fxt.itm_kv_("k2", "v2")));} + @Test public void Ary_empty() {fxt.Test_parse("{'k0':[]}", fxt.itm_nde_().Add_many(fxt.itm_kv_ary_int_("k0")));} + @Test public void Ary_int() {fxt.Test_parse("{'k0':[1,2,3]}", fxt.itm_nde_().Add_many(fxt.itm_kv_ary_int_("k0", 1, 2, 3)));} + @Test public void Ary_str() {fxt.Test_parse("{'k0':['a','b','c']}", fxt.itm_nde_().Add_many(fxt.itm_kv_ary_str_("k0", "a", "b", "c")));} + @Test public void Ary_ws() {fxt.Test_parse("{'k0': [ 1 , 2 , 3 ] }", fxt.itm_nde_().Add_many(fxt.itm_kv_ary_int_("k0", 1, 2, 3)));} + @Test public void Subs_int() {fxt.Test_parse("{'k0':{'k00':1}}", fxt.itm_nde_().Add_many(fxt.itm_kv_("k0", fxt.itm_nde_().Add_many(fxt.itm_kv_("k00", 1)))));} + @Test public void Subs_empty() {fxt.Test_parse("{'k0':{}}", fxt.itm_nde_().Add_many(fxt.itm_kv_("k0", fxt.itm_nde_())));} + @Test public void Subs_ws() {fxt.Test_parse("{'k0': { 'k00' : 1 } }", fxt.itm_nde_().Add_many(fxt.itm_kv_("k0", fxt.itm_nde_().Add_many(fxt.itm_kv_("k00", 1)))));} + @Test public void Ws() {fxt.Test_parse(" { 'k0' : 'v0' } ", fxt.itm_nde_().Add_many(fxt.itm_kv_("k0", "v0")));} 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);} } @@ -53,25 +53,25 @@ class Json_parser_fxt { Json_itm itm_int_(int v) {return Json_itm_tmp.new_int_(v);} Json_itm itm_str_(String v) {return Json_itm_tmp.new_str_(v);} public Json_itm_ary itm_ary_() {return factory.Ary(-1, -1);} - public Json_itm_nde itm_nde_() {return factory.Nde(-1);} + public Json_nde itm_nde_() {return factory.Nde(-1);} public Json_itm_kv itm_kv_null_(String k) {return factory.Kv(itm_str_(k), factory.Null());} public Json_itm_kv itm_kv_(String k, String v) {return factory.Kv(itm_str_(k), itm_str_(v));} public Json_itm_kv itm_kv_(String k, int v) {return factory.Kv(itm_str_(k), itm_int_(v));} public Json_itm_kv itm_kv_(String k, boolean v) {return factory.Kv(itm_str_(k), v ? factory.Bool_y() : factory.Bool_n());} public Json_itm_kv itm_kv_dec_(String k, String v) {return factory.Kv(itm_str_(k), new Json_itm_tmp(Json_itm_.Tid_decimal, v));} - public Json_itm_kv itm_kv_(String k, Json_itm_nde v) {return factory.Kv(itm_str_(k), v);} + public Json_itm_kv itm_kv_(String k, Json_nde v) {return factory.Kv(itm_str_(k), v);} public Json_itm_kv itm_kv_ary_int_(String k, int... v) { Json_itm_ary ary = factory.Ary(-1, -1); int len = v.length; for (int i = 0; i < len; i++) - ary.Subs_add(itm_int_(v[i])); + ary.Add(itm_int_(v[i])); return factory.Kv(itm_str_(k), ary); } public Json_itm_kv itm_kv_ary_str_(String k, String... v) { Json_itm_ary ary = factory.Ary(-1, -1); int len = v.length; for (int i = 0; i < len; i++) - ary.Subs_add(itm_str_(v[i])); + ary.Add(itm_str_(v[i])); return factory.Kv(itm_str_(k), ary); } public void Test_parse(String raw_str, Json_itm... expd_ary) { @@ -85,7 +85,7 @@ class Json_parser_fxt { public void Test_parse_val0(String raw_str, Object expd) { 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"} + Json_itm_kv kv = Json_itm_kv.cast_(doc.Root().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 Tfds.Eq(expd, actl); } diff --git a/400_xowa/src/gplx/json/Json_wtr.java b/400_xowa/src/gplx/core/json/Json_wtr.java similarity index 55% rename from 400_xowa/src/gplx/json/Json_wtr.java rename to 400_xowa/src/gplx/core/json/Json_wtr.java index 73565cc3b..13db42aa4 100644 --- a/400_xowa/src/gplx/json/Json_wtr.java +++ b/400_xowa/src/gplx/core/json/Json_wtr.java @@ -15,51 +15,67 @@ 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.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; public class Json_wtr { private final Bry_bfr bfr = Bry_bfr.new_(255); private int indent; private boolean nde_itm_is_first; private boolean ary_itm_is_first; - public byte Quote_byte() {return quote_byte;} public Json_wtr Quote_byte_(byte v) {quote_byte = v; return this;} private byte quote_byte = Byte_ascii.Quote; + public byte Opt_quote_byte() {return opt_quote_byte;} public Json_wtr Opt_quote_byte_(byte v) {opt_quote_byte = v; return this;} private byte opt_quote_byte = Byte_ascii.Quote; + public boolean Opt_ws() {return opt_ws;} public Json_wtr Opt_ws_(boolean v) {opt_ws = v; return this;} private boolean opt_ws = true; public byte[] To_bry_and_clear() {return bfr.Xto_bry_and_clear();} public String To_str_and_clear() {return bfr.Xto_str_and_clear();} + public Bry_bfr Bfr() {return bfr;} public Json_wtr Clear() { indent = 0; - nde_itm_is_first = ary_itm_is_first = false; + nde_itm_is_first = ary_itm_is_first = true; return this; } public Json_wtr Doc_bgn() {return Add_grp_bgn(Sym_nde_bgn);} - public Json_wtr Doc_end() {return Add_grp_end(Sym_nde_end);} - public Json_wtr Nde_bgn(String nde) { + public Json_wtr Doc_end() {Add_grp_end(Bool_.Y, Sym_nde_end); return Add_nl();} + public void Indent_(int v) {this.indent = v;} + public Json_wtr Nde_bgn(String nde) {return Nde_bgn(Bry_.new_u8(nde));} + public Json_wtr Nde_bgn(byte[] nde) { Add_indent_itm(nde_itm_is_first); - Add_key(Bry_.new_u8(nde)); - bfr.Add_byte_nl(); + Add_key(nde); + Add_nl(); return Add_grp_bgn(Sym_nde_bgn); } - public Json_wtr Nde_end() {return Add_grp_end(Sym_nde_end);} + public Json_wtr Nde_end() {Add_grp_end(Bool_.Y, Sym_nde_end); return Add_nl();} public Json_wtr Ary_bgn(String nde) { Add_indent_itm(nde_itm_is_first); Add_key(Bry_.new_u8(nde)); - bfr.Add_byte_nl(); + Add_nl(); ary_itm_is_first = true; return Add_grp_bgn(Sym_ary_bgn); } public Json_wtr Ary_itm_str(String itm) { Add_indent_itm(ary_itm_is_first); Add_itm_bry(Bry_.new_u8(itm)); - bfr.Add_byte_nl(); + Add_nl(); ary_itm_is_first = false; return this; } - public Json_wtr Ary_end() { - return Add_grp_end(Sym_ary_end); - } - public Json_wtr Kv_str(String key, String val) { + public Json_wtr Ary_end() {Add_grp_end(Bool_.N, Sym_ary_end); return Add_nl();} + public Json_wtr Kv_bool(String key, boolean val) {return Kv_bool(Bry_.new_u8(key), val);} + public Json_wtr Kv_bool(byte[] key, boolean val) {return Kv_raw(key, val ? Bool_.True_bry : Bool_.False_bry);} + public Json_wtr Kv_int(String key, int val) {return Kv_raw(Bry_.new_u8(key), Int_.Xto_bry(val));} + private Json_wtr Kv_raw(byte[] key, byte[] val) { Add_indent_itm(nde_itm_is_first); - Add_key(Bry_.new_u8(key)); - Add_itm_bry(Bry_.new_u8(val)); - bfr.Add_byte_nl(); + Add_key(key); + bfr.Add(val); + Add_nl(); + nde_itm_is_first = false; + return this; + } + public Json_wtr Kv_str(String key, String val) {return Kv_bry(Bry_.new_u8(key), Bry_.new_u8(val));} + public Json_wtr Kv_str(byte[] key, String val) {return Kv_bry(key, Bry_.new_u8(val));} + public Json_wtr Kv_bry(String key, byte[] val) {return Kv_bry(Bry_.new_u8(key), val);} + public Json_wtr Kv_bry(byte[] key, byte[] val) { + Add_indent_itm(nde_itm_is_first); + Add_key(key); + Add_itm_bry(val); + Add_nl(); nde_itm_is_first = false; return this; } @@ -67,7 +83,7 @@ public class Json_wtr { Add_indent_itm(nde_itm_is_first); Add_key(Bry_.new_u8(key)); Add_itm_bry(val.Bfr(), 0, val.Len()); - bfr.Add_byte_nl(); + Add_nl(); nde_itm_is_first = false; val.Clear(); return this; @@ -79,10 +95,12 @@ public class Json_wtr { nde_itm_is_first = true; return this; } - private Json_wtr Add_grp_end(byte[] grp_sym) { + private Json_wtr Add_grp_end(boolean grp_is_nde, byte[] grp_sym) { --indent; - nde_itm_is_first = false; + if ((grp_is_nde && nde_itm_is_first) || (!grp_is_nde && ary_itm_is_first)) + Add_nl(); Add_indent(0); + nde_itm_is_first = false; bfr.Add(grp_sym); return this; } @@ -93,7 +111,7 @@ public class Json_wtr { } private void Add_itm_bry(byte[] bry) {Add_itm_bry(bry, 0, bry.length);} private void Add_itm_bry(byte[] bry, int bgn, int end) { - bfr.Add_byte(quote_byte); + bfr.Add_byte(opt_quote_byte); for (int i = bgn; i < end; i++) { byte b = bry[i]; switch (b) { @@ -105,25 +123,32 @@ public class Json_wtr { default: bfr.Add_byte(b); break; } } - bfr.Add_byte(quote_byte); + bfr.Add_byte(opt_quote_byte); } private void Add_indent_itm(boolean v) { - if (v) - Add_indent(0); + if (v) { + bfr.Add_byte_space(); + } else { Add_indent(-1); bfr.Add(Sym_itm_spr); } } + private Json_wtr Add_nl() { + if (opt_ws) + bfr.Add_byte_nl(); + return this; + } private void Add_indent(int adj) { int level = indent + adj; - if (level > 0) bfr.Add_byte_repeat(Byte_ascii.Space, level * 2); + if (opt_ws && level > 0) + bfr.Add_byte_repeat(Byte_ascii.Space, level * 2); } private static final byte[] - Sym_nde_bgn = Bry_.new_a7("{\n") - , Sym_nde_end = Bry_.new_a7("}\n") - , Sym_ary_bgn = Bry_.new_a7("[\n") - , Sym_ary_end = Bry_.new_a7("]\n") - , Sym_itm_spr = Bry_.new_a7(", ") + Sym_nde_bgn = Bry_.new_a7("{") + , Sym_nde_end = Bry_.new_a7("}") + , Sym_ary_bgn = Bry_.new_a7("[") + , Sym_ary_end = Bry_.new_a7("]") + , Sym_itm_spr = Bry_.new_a7(", ") ; } diff --git a/400_xowa/src/gplx/json/Json_wtr_tst.java b/400_xowa/src/gplx/core/json/Json_wtr_tst.java similarity index 83% rename from 400_xowa/src/gplx/json/Json_wtr_tst.java rename to 400_xowa/src/gplx/core/json/Json_wtr_tst.java index 536ee4012..7d4aec304 100644 --- a/400_xowa/src/gplx/json/Json_wtr_tst.java +++ b/400_xowa/src/gplx/core/json/Json_wtr_tst.java @@ -15,9 +15,9 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -package gplx.json; import gplx.*; +package gplx.core.json; import gplx.*; import gplx.core.*; import org.junit.*; -public class Json_wtr_tst { +public class Json_wtr_tst { @Before public void init() {fxt.Clear();} private final Json_wtr_fxt fxt = new Json_wtr_fxt(); @Test public void Root() { fxt.Wtr().Doc_bgn().Doc_end(); @@ -33,8 +33,7 @@ public class Json_wtr_tst { .Kv_str("k1", "v1") .Doc_end(); fxt.Test - ( "{" - , " 'k0':'v0'" + ( "{ 'k0':'v0'" , ", 'k1':'v1'" , "}" ); @@ -52,16 +51,13 @@ public class Json_wtr_tst { .Nde_end() .Doc_end(); fxt.Test - ( "{" - , " 's0':" - , " {" - , " 's00':" + ( "{ 's0':" + , " { 's00':" , " {" , " }" , " }" , ", 's1':" - , " {" - , " 's10':" + , " { 's10':" , " {" , " }" , " }" @@ -77,10 +73,8 @@ public class Json_wtr_tst { .Ary_end() .Doc_end(); fxt.Test - ( "{" - , " 'a0':" - , " [" - , " 'v0'" + ( "{ 'a0':" + , " [ 'v0'" , " , 'v1'" , " ]" , "}" @@ -88,8 +82,8 @@ public class Json_wtr_tst { } } class Json_wtr_fxt { - private final Json_wtr wtr = new Json_wtr().Quote_byte_(Byte_ascii.Apos); - public void Clear() {} + private final Json_wtr wtr = new Json_wtr().Opt_quote_byte_(Byte_ascii.Apos); + public void Clear() {wtr.Clear();} public Json_wtr Wtr() {return wtr;} public void Test(String... expd) { Tfds.Eq_ary_str diff --git a/400_xowa/src/gplx/core/net/Http_client_rdr__stream.java b/400_xowa/src/gplx/core/net/Http_client_rdr__stream.java index ca62ee55b..3ae1429d8 100644 --- a/400_xowa/src/gplx/core/net/Http_client_rdr__stream.java +++ b/400_xowa/src/gplx/core/net/Http_client_rdr__stream.java @@ -24,11 +24,11 @@ class Http_client_rdr__stream implements Http_client_rdr { } public String Read_line() { try {return br.readLine();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Read_line failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Read_line failed");} } public byte[] Read_line_as_bry() {return Bry_.new_u8(Read_line());} public void Rls() { try {br.close();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Rls failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Rls failed");} } } diff --git a/400_xowa/src/gplx/core/net/Http_client_wtr__stream.java b/400_xowa/src/gplx/core/net/Http_client_wtr__stream.java index 54707b82a..113548e25 100644 --- a/400_xowa/src/gplx/core/net/Http_client_wtr__stream.java +++ b/400_xowa/src/gplx/core/net/Http_client_wtr__stream.java @@ -26,15 +26,15 @@ class Http_client_wtr__stream implements Http_client_wtr { } public void Write_bry(byte[] bry) { try {stream.write(bry);} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Write_bry failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Write_bry failed");} } public void Write_str(String s) { try {stream.writeBytes(s);} - catch (Exception e) {throw Exc_.new_exc(e, "net", "Write_str failed");} + catch (Exception e) {throw Err_.new_exc(e, "net", "Write_str failed");} } public void Write_mid(byte[] bry, int bgn, int end) { try {stream.write(bry, bgn, end - bgn);} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Write_mid failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Write_mid failed");} } public void Write_stream(Io_stream_rdr stream_rdr) { synchronized (tmp_stream_bry) { @@ -48,6 +48,6 @@ class Http_client_wtr__stream implements Http_client_wtr { } public void Rls() { try {stream.close();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Rls failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Rls failed");} } } diff --git a/400_xowa/src/gplx/core/net/Http_request_itm.java b/400_xowa/src/gplx/core/net/Http_request_itm.java index 2ffd1b430..3c79ec916 100644 --- a/400_xowa/src/gplx/core/net/Http_request_itm.java +++ b/400_xowa/src/gplx/core/net/Http_request_itm.java @@ -20,13 +20,13 @@ public class Http_request_itm { public Http_request_itm(int type, byte[] url, byte[] protocol, byte[] host, byte[] user_agent , byte[] accept, byte[] accept_language, byte[] accept_encoding, boolean dnt, byte[] x_requested_with, byte[] cookie, byte[] referer , int content_length, byte[] content_type, byte[] content_type_boundary - , byte[] connection, byte[] pragma, byte[] cache_control + , byte[] connection, byte[] pragma, byte[] cache_control, byte[] origin , Http_post_data_hash post_data_hash ) { this.type = type; this.url = url; this.protocol = protocol; this.host = host; this.user_agent = user_agent; this.accept = accept; this.accept_language = accept_language; this.accept_encoding = accept_encoding; this.dnt = dnt; this.x_requested_with = x_requested_with; this.cookie = cookie; this.referer = referer; this.content_length = content_length; this.content_type = content_type; this.content_type_boundary = content_type_boundary; - this.connection = connection; this.pragma = pragma; this.cache_control = cache_control; + this.connection = connection; this.pragma = pragma; this.cache_control = cache_control; this.origin = origin; this.post_data_hash = post_data_hash; } public int Type() {return type;} private final int type; @@ -47,32 +47,33 @@ public class Http_request_itm { public byte[] Connection() {return connection;} private final byte[] connection; public byte[] Pragma() {return pragma;} private final byte[] pragma; public byte[] Cache_control() {return cache_control;} private final byte[] cache_control; + public byte[] Origin() {return origin;} private final byte[] origin; public Http_post_data_hash Post_data_hash() {return post_data_hash;} private final Http_post_data_hash post_data_hash; - public String To_str(Bry_bfr bfr) { - bfr .Add_kv_line("type" , type == Type_get ? "GET" : "POST") - .Add_kv_line("url" , url) - .Add_kv_line("protocol" , protocol) - .Add_kv_line("host" , host) - .Add_kv_line("user_agent" , user_agent) - .Add_kv_line("accept" , accept) - .Add_kv_line("accept_encoding" , accept_encoding) - .Add_kv_line("dnt" , dnt) - .Add_kv_line("x_requested_with" , x_requested_with) - .Add_kv_line("cookie" , cookie) - .Add_kv_line("referer" , referer) - .Add_kv_line("content_length" , content_length) - .Add_kv_line("content_type" , content_type) - .Add_kv_line("content_type_boundary" , content_type_boundary) - .Add_kv_line("connection" , connection) - .Add_kv_line("pragma" , pragma) - .Add_kv_line("cache_control" , cache_control) + public String To_str(Bry_bfr bfr, boolean line) { + bfr .Add_kv_dlm(line, "type" , type == Type_get ? "GET" : "POST") + .Add_kv_dlm(line, "url" , url) + .Add_kv_dlm(line, "protocol" , protocol) + .Add_kv_dlm(line, "host" , host) + .Add_kv_dlm(line, "user_agent" , user_agent) + .Add_kv_dlm(line, "accept" , accept) + .Add_kv_dlm(line, "accept_encoding" , accept_encoding) + .Add_kv_dlm(line, "dnt" , dnt) + .Add_kv_dlm(line, "x_requested_with" , x_requested_with) + .Add_kv_dlm(line, "cookie" , cookie) + .Add_kv_dlm(line, "referer" , referer) + .Add_kv_dlm(line, "content_length" , content_length) + .Add_kv_dlm(line, "content_type" , content_type) + .Add_kv_dlm(line, "content_type_boundary" , content_type_boundary) + .Add_kv_dlm(line, "connection" , connection) + .Add_kv_dlm(line, "pragma" , pragma) + .Add_kv_dlm(line, "cache_control" , cache_control) ; if (post_data_hash != null) { int len = post_data_hash.Len(); for (int i = 0; i < len; ++i) { Http_post_data_itm itm = post_data_hash.Get_at(i); bfr.Add_byte_repeat(Byte_ascii.Space, 2); - bfr.Add_kv_line(String_.new_u8(itm.Key()), itm.Val()); + bfr.Add_kv_dlm(line, String_.new_u8(itm.Key()), itm.Val()); } } return bfr.Xto_str_and_clear(); diff --git a/400_xowa/src/gplx/core/net/Http_request_parser.java b/400_xowa/src/gplx/core/net/Http_request_parser.java index 5c0bec451..080bf1dc2 100644 --- a/400_xowa/src/gplx/core/net/Http_request_parser.java +++ b/400_xowa/src/gplx/core/net/Http_request_parser.java @@ -20,7 +20,7 @@ import gplx.core.primitives.*; import gplx.core.btries.*; public class Http_request_parser { private boolean dnt; private int type, content_length; - private byte[] url, protocol, host, user_agent, accept, accept_language, accept_encoding, x_requested_with, cookie, referer, content_type, content_type_boundary, connection, pragma, cache_control; + private byte[] url, protocol, host, user_agent, accept, accept_language, accept_encoding, x_requested_with, cookie, referer, content_type, content_type_boundary, connection, pragma, cache_control, origin; private Http_post_data_hash post_data_hash; private final Bry_bfr tmp_bfr = Bry_bfr.new_(255); private final Http_server_wtr server_wtr; private final boolean log; @@ -29,89 +29,92 @@ public class Http_request_parser { this.dnt = false; this.type = this.content_length = 0; this.url = this.protocol = this.host = this.user_agent = this.accept = this.accept_language = this.accept_encoding = this.x_requested_with = this.cookie - = this.referer = this.content_type = this.content_type_boundary = this.connection = this.pragma = this.cache_control = null; + = this.referer = this.content_type = this.content_type_boundary = this.connection = this.pragma = this.cache_control = this.origin = null; this.post_data_hash = null; } public Http_request_itm Parse(Http_client_rdr rdr) { - this.Clear(); - boolean reading_post_data = false; boolean post_nl_seen = false; - while (true) { - String line_str = rdr.Read_line(); if (line_str == null) break; // needed for TEST - if (log) server_wtr.Write_str_w_nl(line_str); - byte[] line = Bry_.new_u8(line_str); - int line_len = line.length; - if (line_len == 0) { - switch (type) { - case Http_request_itm.Type_get: break; - case Http_request_itm.Type_post: - if (reading_post_data || post_nl_seen) throw Exc_.new_("http.request.parser;invalid new line during post", "request", To_str()); - post_nl_seen = true; // only allow one \n per POST - continue; // ignore line and get next - default: throw Exc_.new_unimplemented(); + synchronized (tmp_bfr) { + this.Clear(); + boolean reading_post_data = false; boolean post_nl_seen = false; + while (true) { + String line_str = rdr.Read_line(); if (line_str == null) break; // needed for TEST + if (log) server_wtr.Write_str_w_nl(line_str); + byte[] line = Bry_.new_u8(line_str); + int line_len = line.length; + if (line_len == 0) { + switch (type) { + case Http_request_itm.Type_get: break; + case Http_request_itm.Type_post: + if (reading_post_data || post_nl_seen) throw Err_.new_wo_type("http.request.parser;invalid new line during post", "request", To_str()); + post_nl_seen = true; // only allow one \n per POST + continue; // ignore line and get next + default: throw Err_.new_unimplemented(); + } + break; // only GET will reach this line; GET requests always end with blank line; stop; } - break; // only GET will reach this line; GET requests always end with blank line; stop; - } - if (content_type_boundary != null && Bry_.Has_at_bgn(line, content_type_boundary)) { - while (true) { - if (Bry_.Has_at_end(line, Tkn_content_type_boundary_end)) break; // last form_data pair will end with "--"; stop - line = Parse_content_type_boundary(rdr); + if (content_type_boundary != null && Bry_.Has_at_bgn(line, content_type_boundary)) { + while (true) { + if (Bry_.Has_at_end(line, Tkn_content_type_boundary_end)) break; // last form_data pair will end with "--"; stop + line = Parse_content_type_boundary(rdr); + } + break; // assume form_data ends POST request + } + Object o = trie.Match_bgn(line, 0, line_len); + if (o == null) { + server_wtr.Write_str_w_nl(String_.Format("http.request.parser; unknown line; line={0} request={1}", line_str, To_str())); + continue; + } + int val_bgn = Bry_finder.Find_fwd_while_ws(line, trie.Match_pos(), line_len); // skip ws after key; EX: "Host: " + int tid = ((Int_obj_val)o).Val(); + switch (tid) { + case Tid_get: + case Tid_post: Parse_type(tid, val_bgn, line, line_len); break; + case Tid_host: this.host = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_user_agent: this.user_agent = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_accept: this.accept = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_accept_language: this.accept_language = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_accept_encoding: this.accept_encoding = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_dnt: this.dnt = line[val_bgn] == Byte_ascii.Num_1; break; + case Tid_x_requested_with: this.x_requested_with = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_cookie: this.cookie = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_referer: this.referer = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_content_length: this.content_length = Bry_.Xto_int_or(line, val_bgn, line_len, -1); break; + case Tid_content_type: Parse_content_type(val_bgn, line, line_len); break; + case Tid_connection: this.connection = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_pragma: this.pragma = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_cache_control: this.cache_control = Bry_.Mid(line, val_bgn, line_len); break; + case Tid_origin: this.origin = Bry_.Mid(line, val_bgn, line_len); break; + default: throw Err_.new_unhandled(tid); } - break; // assume form_data ends POST request - } - Object o = trie.Match_bgn(line, 0, line_len); - if (o == null) { - server_wtr.Write_str_w_nl(String_.Format("http.request.parser; unknown line; line={0} request={1}", line_str, To_str())); - continue; - } - int val_bgn = Bry_finder.Find_fwd_while_ws(line, trie.Match_pos(), line_len); // skip ws after key; EX: "Host: " - int tid = ((Int_obj_val)o).Val(); - switch (tid) { - case Tid_get: - case Tid_post: Parse_type(tid, val_bgn, line, line_len); break; - case Tid_host: this.host = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_user_agent: this.user_agent = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_accept: this.accept = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_accept_language: this.accept_language = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_accept_encoding: this.accept_encoding = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_dnt: this.dnt = line[val_bgn] == Byte_ascii.Num_1; break; - case Tid_x_requested_with: this.x_requested_with = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_cookie: this.cookie = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_referer: this.referer = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_content_length: this.content_length = Bry_.Xto_int_or(line, val_bgn, line_len, -1); break; - case Tid_content_type: Parse_content_type(val_bgn, line, line_len); break; - case Tid_connection: this.connection = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_pragma: this.pragma = Bry_.Mid(line, val_bgn, line_len); break; - case Tid_cache_control: this.cache_control = Bry_.Mid(line, val_bgn, line_len); break; - default: throw Exc_.new_unhandled(tid); } + return Make_request_itm(); } - return Make_request_itm(); } private void Parse_type(int tid, int val_bgn, byte[] line, int line_len) { // EX: "POST /xowa-cmd:exec_as_json HTTP/1.1" - int url_end = Bry_finder.Find_bwd(line, Byte_ascii.Space, line_len); if (url_end == Bry_finder.Not_found) throw Exc_.new_("invalid protocol", "line", line, "request", To_str()); + int url_end = Bry_finder.Find_bwd(line, Byte_ascii.Space, line_len); if (url_end == Bry_finder.Not_found) throw Err_.new_wo_type("invalid protocol", "line", line, "request", To_str()); switch (tid) { case Tid_get : this.type = Http_request_itm.Type_get; break; case Tid_post : this.type = Http_request_itm.Type_post; break; - default : throw Exc_.new_unimplemented(); + default : throw Err_.new_unimplemented(); } this.url = Bry_.Mid(line, val_bgn, url_end); this.protocol = Bry_.Mid(line, url_end + 1, line_len); } private void Parse_content_type(int val_bgn, byte[] line, int line_len) { // EX: Content-Type: multipart/form-data; boundary=---------------------------72432484930026 - int boundary_bgn = Bry_finder.Find_fwd(line, Tkn_boundary, val_bgn, line_len); if (boundary_bgn == Bry_finder.Not_found) throw Exc_.new_("invalid content_type", "line", line, "request", To_str()); + int boundary_bgn = Bry_finder.Find_fwd(line, Tkn_boundary, val_bgn, line_len); if (boundary_bgn == Bry_finder.Not_found) throw Err_.new_wo_type("invalid content_type", "line", line, "request", To_str()); int content_type_end = Bry_finder.Find_bwd(line, Byte_ascii.Semic, boundary_bgn); this.content_type = Bry_.Mid(line, val_bgn, content_type_end); this.content_type_boundary = Bry_.Add(Tkn_content_type_boundary_end, Bry_.Mid(line, boundary_bgn += Tkn_boundary.length, line_len)); } private Http_request_itm Make_request_itm() { - return new Http_request_itm(type, url, protocol, host, user_agent, accept, accept_language, accept_encoding, dnt, x_requested_with, cookie, referer, content_length, content_type, content_type_boundary, connection, pragma, cache_control, post_data_hash); + return new Http_request_itm(type, url, protocol, host, user_agent, accept, accept_language, accept_encoding, dnt, x_requested_with, cookie, referer, content_length, content_type, content_type_boundary, connection, pragma, cache_control, origin, post_data_hash); } private byte[] Parse_content_type_boundary(Http_client_rdr rdr) { if (post_data_hash == null) post_data_hash = new Http_post_data_hash(); byte[] line = Bry_.new_u8(rdr.Read_line()); // cur line is already known to be content_type_boundary; skip it byte[] key = Parse_post_data_name(line); String line_str = rdr.Read_line(); // blank-line - if (String_.Len_gt_0(line_str)) {throw Exc_.new_("http.request.parser; blank_line should follow content_type_boundary", "request", To_str());} + if (String_.Len_gt_0(line_str)) {throw Err_.new_wo_type("http.request.parser; blank_line should follow content_type_boundary", "request", To_str());} while (true) { line = Bry_.new_u8(rdr.Read_line()); if (Bry_.Has_at_bgn(line, content_type_boundary)) break; @@ -128,7 +131,7 @@ public class Http_request_parser { pos = Assert_tkn(line, pos, line_len, Tkn_name); int name_end = line_len; if (line[pos] == Byte_ascii.Quote) { - if (line[name_end - 1] != Byte_ascii.Quote) throw Exc_.new_("http.request.parser; invalid form at end", "line", line, "request", To_str()); + if (line[name_end - 1] != Byte_ascii.Quote) throw Err_.new_wo_type("http.request.parser; invalid form at end", "line", line, "request", To_str()); ++pos; --name_end; } @@ -136,13 +139,13 @@ public class Http_request_parser { } private int Assert_tkn(byte[] src, int src_pos, int src_len, byte[] tkn) { int tkn_len = tkn.length; - if (!Bry_.Match(src, src_pos, src_pos + tkn_len, tkn)) throw Exc_.new_("http.request.parser; invalid form_data line", "tkn", tkn, "line", src, "request", To_str()); + if (!Bry_.Match(src, src_pos, src_pos + tkn_len, tkn)) throw Err_.new_wo_type("http.request.parser; invalid form_data line", "tkn", tkn, "line", src, "request", To_str()); int rv = src_pos += tkn_len; return Bry_finder.Find_fwd_while_ws(src, rv, src_len); } - private String To_str() {return Make_request_itm().To_str(tmp_bfr);} + private String To_str() {return Make_request_itm().To_str(tmp_bfr, Bool_.N);} private static final int Tid_get = 1, Tid_post = 2, Tid_host = 3, Tid_user_agent = 4, Tid_accept = 5, Tid_accept_language = 6, Tid_accept_encoding = 7, Tid_dnt = 8 - , Tid_x_requested_with = 9, Tid_cookie = 10, Tid_referer = 11, Tid_content_length = 12, Tid_content_type = 13, Tid_connection = 14, Tid_pragma = 15, Tid_cache_control = 16; + , Tid_x_requested_with = 9, Tid_cookie = 10, Tid_referer = 11, Tid_content_length = 12, Tid_content_type = 13, Tid_connection = 14, Tid_pragma = 15, Tid_cache_control = 16, Tid_origin = 17; private static final Btrie_slim_mgr trie = Btrie_slim_mgr.ci_ascii_() .Add_str_int("GET" , Tid_get) .Add_str_int("POST" , Tid_post) @@ -160,6 +163,7 @@ public class Http_request_parser { .Add_str_int("Connection:" , Tid_connection) .Add_str_int("Pragma:" , Tid_pragma) .Add_str_int("Cache-Control:" , Tid_cache_control) + .Add_str_int("Origin:" , Tid_origin) ; private static final byte[] Tkn_boundary = Bry_.new_a7("boundary="), Tkn_content_type_boundary_end = Bry_.new_a7("--") , Tkn_content_disposition = Bry_.new_a7("Content-Disposition:"), Tkn_form_data = Bry_.new_a7("form-data;") diff --git a/400_xowa/src/gplx/core/net/Http_server_wtr__console.java b/400_xowa/src/gplx/core/net/Http_server_wtr__console.java index b7200e80c..790318c4b 100644 --- a/400_xowa/src/gplx/core/net/Http_server_wtr__console.java +++ b/400_xowa/src/gplx/core/net/Http_server_wtr__console.java @@ -16,6 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.core.net; import gplx.*; import gplx.core.*; +import gplx.core.consoles.*; class Http_server_wtr__console implements Http_server_wtr { - public void Write_str_w_nl(String s) {ConsoleAdp._.WriteLine(s);} + public void Write_str_w_nl(String s) {Console_adp__sys.I.Write_str_w_nl(s);} } diff --git a/400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_val_fmtr_.java b/400_xowa/src/gplx/core/net/Local_host_.java similarity index 69% rename from 400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_val_fmtr_.java rename to 400_xowa/src/gplx/core/net/Local_host_.java index 09a49fbc9..c77004cad 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_val_fmtr_.java +++ b/400_xowa/src/gplx/core/net/Local_host_.java @@ -15,8 +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.xowa.html.xouis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_val_fmtr_ { - public static Xoui_val_fmtr new_view() {return new Xoui_val_fmtr__view();} - public static Xoui_val_fmtr new_edit() {return new Xoui_val_fmtr__edit();} +package gplx.core.net; import gplx.*; import gplx.core.*; +public class Local_host_ { + public static String Ip_address() { + try {return java.net.InetAddress.getLocalHost().getHostAddress();} + catch (Exception e) {throw Err_.new_exc(e, "net", "ip_address failed");} + } } diff --git a/400_xowa/src/gplx/core/net/Server_socket_adp.java b/400_xowa/src/gplx/core/net/Server_socket_adp.java new file mode 100644 index 000000000..e499a3667 --- /dev/null +++ b/400_xowa/src/gplx/core/net/Server_socket_adp.java @@ -0,0 +1,23 @@ +/* +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.net; import gplx.*; import gplx.core.*; +public interface Server_socket_adp { + Server_socket_adp Ctor(int port); + Socket_adp Accept(); + void Rls(); +} diff --git a/400_xowa/src/gplx/core/net/Server_socket_adp__base.java b/400_xowa/src/gplx/core/net/Server_socket_adp__base.java new file mode 100644 index 000000000..a4356c5aa --- /dev/null +++ b/400_xowa/src/gplx/core/net/Server_socket_adp__base.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.core.net; import gplx.*; import gplx.core.*; +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; +public class Server_socket_adp__base implements Server_socket_adp { + private ServerSocket server_socket; + public Server_socket_adp Ctor(int port) { + try {this.server_socket = new ServerSocket(port);} + catch (IOException e) {throw Err_.new_exc(e, "net", "Get_input_stream failed");} + return this; + } + public Socket_adp Accept() { + Socket client_socket = null; + try {client_socket = server_socket.accept();} + catch (IOException e) {throw Err_.new_exc(e, "net", "Get_input_stream failed");} + return new Socket_adp__base(client_socket); + } + public void Rls() { + try {server_socket.close();} + catch (IOException e) {throw Err_.new_exc(e, "net", "Rls failed");} + } +} diff --git a/400_xowa/src/gplx/core/net/Socket_adp.java b/400_xowa/src/gplx/core/net/Socket_adp.java index 05e8849d8..8372802e3 100644 --- a/400_xowa/src/gplx/core/net/Socket_adp.java +++ b/400_xowa/src/gplx/core/net/Socket_adp.java @@ -17,6 +17,7 @@ along with this program. If not, see . */ package gplx.core.net; import gplx.*; import gplx.core.*; public interface Socket_adp { + String Ip_address(); Object Get_input_stream(); Object Get_output_stream(); void Rls(); diff --git a/400_xowa/src/gplx/core/net/Socket_adp__base.java b/400_xowa/src/gplx/core/net/Socket_adp__base.java index ad31dee8c..c8a3e772c 100644 --- a/400_xowa/src/gplx/core/net/Socket_adp__base.java +++ b/400_xowa/src/gplx/core/net/Socket_adp__base.java @@ -21,16 +21,19 @@ import java.net.*; public class Socket_adp__base implements Socket_adp { private final Socket socket; public Socket_adp__base(Socket socket) {this.socket = socket;} - public Object Get_input_stream() { + public String Ip_address() { + return socket.getRemoteSocketAddress().toString(); + } + public Object Get_input_stream() { try {return socket.getInputStream();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Get_input_stream failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Get_input_stream failed");} } public Object Get_output_stream() { try {return socket.getOutputStream();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Get_output_stream failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Get_output_stream failed");} } public void Rls() { try {socket.close();} - catch (IOException e) {throw Exc_.new_exc(e, "net", "Rls failed");} + catch (IOException e) {throw Err_.new_exc(e, "net", "Rls failed");} } } 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 29343eeee..fce4328a2 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm_.java @@ -26,9 +26,9 @@ public class Gfo_pattern_itm_ { int pos = 0; while (true) { boolean last = pos == raw_len; - byte b = last ? Byte_ascii.Nil : raw[pos]; + byte b = last ? Byte_ascii.Null : raw[pos]; switch (b) { - case Byte_ascii.Nil: + case Byte_ascii.Null: if (itm != null) {itm.Compile(raw, itm_bgn, pos); itm = null; itm_bgn = -1;} break; case Byte_ascii.Star: 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 0077e322e..d7e3d3e9f 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 @@ -38,7 +38,7 @@ public class Gfo_thread_cmd_download implements Gfo_thread_cmd { 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 Exc_.new_unhandled(rslt); + default: throw Err_.new_unhandled(rslt); } } usr_dlg.Prog_many(GRP_KEY, "download.bgn", "contacting web server: '~{0}'", src); // update progress; some servers (like WMF dump servers) are slow to respond 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 8a02d05c7..8a444afa7 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 @@ -82,10 +82,10 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { case Term_cmd_for_src_noop: 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_.Empty) throw Exc_.new_("move specified, but no url"); + if (term_cmd_for_src_url == Io_url_.Empty) throw Err_.new_wo_type("move specified, but no url"); Io_mgr.I.MoveFil_args(src, term_cmd_for_src_url, true).Exec(); break; - default: throw Exc_.new_unhandled(term_cmd_for_src); + default: throw Err_.new_unhandled(term_cmd_for_src); } usr_dlg.Prog_many(GRP_KEY, "done", ""); return true; @@ -108,7 +108,7 @@ public class Gfo_thread_cmd_unzip implements Gfo_thread_cmd { if (String_.Eq(s, "noop")) return Term_cmd_for_src_noop; else if (String_.Eq(s, "delete")) return Term_cmd_for_src_delete; else if (String_.Eq(s, "move")) return Term_cmd_for_src_move; - else throw Exc_.new_unhandled(s); + else throw Err_.new_unhandled(s); } static final String GRP_KEY = "xowa.thread.file.unzip"; public static final String KEY = "file.unzip"; 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 1b60bab2c..c5a8c1b82 100644 --- a/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java +++ b/400_xowa/src/gplx/core/threads/Gfo_thread_pool.java @@ -46,7 +46,7 @@ public class Gfo_thread_pool implements GfoInvkAble { private void Run_wkr(Gfo_thread_wkr wkr) { try {wkr.Exec();} catch (Exception e) { - usr_dlg.Warn_many("", "", "uncaught exception while running thread; name=~{0} err=~{1}", wkr.Name(), Err_.Message_gplx_brief(e)); + usr_dlg.Warn_many("", "", "uncaught exception while running thread; name=~{0} err=~{1}", wkr.Name(), Err_.Message_gplx_full(e)); } finally { if (wkr.Resume()) diff --git a/400_xowa/src/gplx/dbs/Db_attach_rdr.java b/400_xowa/src/gplx/dbs/Db_attach_rdr.java index 78b31ad21..9e30c3907 100644 --- a/400_xowa/src/gplx/dbs/Db_attach_rdr.java +++ b/400_xowa/src/gplx/dbs/Db_attach_rdr.java @@ -28,7 +28,7 @@ public class Db_attach_rdr { public void Attach() { try { if (diff_db) conn.Env_db_attach(attach_name, attach_url); - } catch (Exception e) {Exc_.Noop(e); Gfo_usr_dlg_.I.Warn_many("", "", "db:failed to attach db; name=~{0} url=~{1}", attach_name, attach_url.Raw());} + } catch (Exception e) {Err_.Noop(e); Gfo_usr_dlg_.I.Warn_many("", "", "db:failed to attach db; name=~{0} url=~{1}", attach_name, attach_url.Raw());} } public Db_rdr Exec_as_rdr(String sql) { sql = String_.Replace(sql, "", diff_db ? attach_name + "." : ""); // replace with either "attach_db." or ""; 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 8831f23f1..994852a3f 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_hash.java @@ -27,7 +27,7 @@ public class Db_cfg_hash { } public void Set(String key, String val) {hash.Del(key); Add(key, val);} public void Add(String key, String val) { - if (hash.Has(key)) throw Exc_.new_("itm exists", "grp", grp, "key", key); + if (hash.Has(key)) throw Err_.new_wo_type("itm exists", "grp", grp, "key", key); Db_cfg_itm itm = new Db_cfg_itm(grp, key, val); hash.Add(key, itm); } 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 a6c3ef88b..6c0d7ae47 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_itm.java @@ -34,8 +34,8 @@ public class Db_cfg_itm { public byte To_byte() {Fail_if_null(); try {return Byte_.parse_(val) ;} catch (Exception e) {throw err_parse(e, Byte_.Cls_val_name);}} public int To_int() {Fail_if_null(); try {return Int_.parse_(val) ;} catch (Exception e) {throw err_parse(e, Int_.Cls_val_name);}} public String To_str() {Fail_if_null(); return val;} - private void Fail_if_null() {if (val == null) throw Exc_.new_("cfg.val is empty", "grp", grp, "key", key); } - private Exc err_parse(Exception e, String type) {return Exc_.new_("cfg.val is not parseable", "grp", grp, "key", key, "val", val, "type", type).Stack_erase_1_();} + private void Fail_if_null() {if (val == null) throw Err_.new_wo_type("cfg.val is empty", "grp", grp, "key", key); } + private Err err_parse(Exception e, String type) {return Err_.new_wo_type("cfg.val is not parseable", "grp", grp, "key", key, "val", val, "type", type).Trace_ignore_add_1_();} 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);} 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 5f924cce1..8fb53b984 100644 --- a/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java +++ b/400_xowa/src/gplx/dbs/cfgs/Db_cfg_tbl.java @@ -49,7 +49,7 @@ public class Db_cfg_tbl implements RlsAble { if (stmt_insert == null) stmt_insert = conn.Stmt_insert(tbl_name, flds); 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 Exc_.new_exc(e, "db", "db_cfg.insert failed", "grp", grp, "key", key, "val", val, "db", conn.Conn_info().Xto_api());} + } catch (Exception e) {throw Err_.new_exc(e, "db", "db_cfg.insert failed", "grp", grp, "key", key, "val", val, "db", conn.Conn_info().Xto_api());} } 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));} @@ -84,7 +84,7 @@ public class Db_cfg_tbl implements RlsAble { public DateAdp Select_date_or (String grp, String key, DateAdp or) {String val = Select_str_or(grp, key, null) ; return val == null ? or : Parse_date (grp, key, val);} public Guid_adp Select_guid_or (String grp, String key, Guid_adp or) {String val = Select_str_or(grp, key, null) ; return val == null ? or : Parse_guid (grp, key, val);} public String Select_str (String grp, String key) { - String rv = Select_str_or(grp, key, null); if (rv == null) throw Exc_.new_("cfg.missing", "grp", grp, "key", key); + String rv = Select_str_or(grp, key, null); if (rv == null) throw Err_.new_wo_type("cfg.missing", "grp", grp, "key", key); return rv; } public String Select_str_or (String grp, String key, String or) { @@ -119,5 +119,5 @@ public class Db_cfg_tbl implements RlsAble { 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 Exc err_parse(Exception e, String grp, String key, String val, String type) {return Exc_.new_exc(e, "db", "cfg.val is not parseable", "grp", grp, "key", key, "val", val, "type", type);} + private Err err_parse(Exception e, String grp, String key, String val, String type) {return Err_.new_exc(e, "db", "cfg.val is not parseable", "grp", grp, "key", key, "val", val, "type", type);} } diff --git a/400_xowa/src/gplx/dbs/metas/Schema_loader_mgr_.java b/400_xowa/src/gplx/dbs/metas/Schema_loader_mgr_.java index e04fcda99..d56d67d52 100644 --- a/400_xowa/src/gplx/dbs/metas/Schema_loader_mgr_.java +++ b/400_xowa/src/gplx/dbs/metas/Schema_loader_mgr_.java @@ -42,7 +42,7 @@ class Schema_loader_mgr__sqlite implements Schema_loader_mgr { tbl_mgr.Add(tbl_itm); break; case Meta_itm_tid.Tid_index: break; // noop for now - default: throw Exc_.new_unhandled(type_str); + default: throw Err_.new_unhandled(type_str); } } } finally {rdr.Rls();} diff --git a/400_xowa/src/gplx/dbs/metas/updates/Schema_update_mgr.java b/400_xowa/src/gplx/dbs/metas/updates/Schema_update_mgr.java index 4598313d3..e09cc3822 100644 --- a/400_xowa/src/gplx/dbs/metas/updates/Schema_update_mgr.java +++ b/400_xowa/src/gplx/dbs/metas/updates/Schema_update_mgr.java @@ -25,7 +25,7 @@ public class Schema_update_mgr { 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)); + Gfo_usr_dlg_.I.Warn_many("", "", "failed to run update cmd; name=~{0} err=~{1}", cmd.Name(), Err_.Message_gplx_full(e)); } } } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v1.java b/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v1.java index 8ddba1028..7bd2bfbfc 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v1.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_mgr__v1.java @@ -72,7 +72,7 @@ public class Fsdb_db_mgr__v1 implements Fsdb_db_mgr { return rv; } rv = file_dir.GenSubFil_nest(mnt_name, Atr_name_v1b); if (Io_mgr.I.ExistsFil(rv)) return rv; - throw Exc_.new_("could not find atr file", "dir", file_dir.Raw(), "mnt", mnt_name); + throw Err_.new_wo_type("could not find atr file", "dir", file_dir.Raw(), "mnt", mnt_name); } public static final String Orig_name = "wiki.orig#00.sqlite3", Mnt_name = "wiki.mnt.sqlite3", Abc_name = "fsdb.abc.sqlite3" , Atr_name_v1a = "fsdb.atr#00.sqlite3", Atr_name_v1b = "fsdb.atr.00.sqlite3"; 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 d7816118b..486e95bcb 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 @@ -86,7 +86,7 @@ public class Fsdb_db_mgr__v2_bldr { case Xowd_db_layout.Const_all: return Main_core_name_all(wiki_domain); case Xowd_db_layout.Const_few: return Main_core_name_few(wiki_domain); case Xowd_db_layout.Const_lot: return Main_core_name_lot(wiki_domain); - default: throw Exc_.new_unimplemented(); + default: throw Err_.new_unimplemented(); } } private static byte Main_core_tid(Xowd_db_layout layout) { @@ -94,7 +94,7 @@ public class Fsdb_db_mgr__v2_bldr { case Xowd_db_layout.Const_all: return Xowd_db_file_.Tid_core; case Xowd_db_layout.Const_few: return Xowd_db_file_.Tid_file_solo; case Xowd_db_layout.Const_lot: return Xowd_db_file_.Tid_file_core; - default: throw Exc_.new_unimplemented(); + default: throw Err_.new_unimplemented(); } } public static void Make_cfg_data(Xow_wiki wiki, String file_core_name, Fsdb_db_file file, byte file_tid, int part_id) { diff --git a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_tbl.java b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_tbl.java index c28e9c664..2ce02a81c 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_atr_tbl.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_atr_tbl.java @@ -47,7 +47,7 @@ public class Fsm_atr_tbl { } } finally {rdr.Rls();} - throw Exc_.new_("missing atr db", "conn", conn.Conn_info().Xto_api()); + throw Err_.new_wo_type("missing atr db", "conn", conn.Conn_info().Xto_api()); } public void Insert(int id, String url_rel) { conn.Stmt_insert(tbl_name, flds).Val_int(fld_uid, id).Val_str(fld_url, url_rel).Exec_insert(); 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 9a048f84d..e1ad594c7 100644 --- a/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java +++ b/400_xowa/src/gplx/fsdb/meta/Fsm_cfg_mgr.java @@ -24,7 +24,7 @@ public class Fsm_cfg_mgr { } public void Ctor_by_load() { Db_cfg_hash hash = Grps_get_or_load(Grp_core); - this.next_id = hash.Get(Key_next_id).To_int_or(-1); if (next_id == -1) throw Exc_.new_("next_id not found in cfg", "url", tbl.Conn().Conn_info().Xto_api()); + this.next_id = hash.Get(Key_next_id).To_int_or(-1); if (next_id == -1) throw Err_.new_wo_type("next_id not found in cfg", "url", tbl.Conn().Conn_info().Xto_api()); this.schema_thm_page = hash.Get(Key_schema_thm_page).To_yn_or_n(); this.patch__next_id = hash.Get(Key_patch__next_id).To_yn_or_n(); this.patch__page_gt_1 = hash.Get(Key_patch__page_gt_1).To_yn_or_n(); diff --git a/400_xowa/src/gplx/gfs/Gfs_lxr.java b/400_xowa/src/gplx/gfs/Gfs_lxr.java index ba2ed5c4d..1361df77e 100644 --- a/400_xowa/src/gplx/gfs/Gfs_lxr.java +++ b/400_xowa/src/gplx/gfs/Gfs_lxr.java @@ -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 Exc_.new_("quote is not closed", "end", String_.new_u8(end_bry)); + if (end_pos == Bry_.NotFound) throw Err_.new_wo_type("quote is not closed", "end", 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 Exc_.new_("quote is not closed", "end", String_.new_u8(end_bry)); + if (end_pos == Bry_.NotFound) throw Err_.new_wo_type("quote is not closed", "end", 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_lxr_.java b/400_xowa/src/gplx/gfs/Gfs_lxr_.java index 7a5cd4a34..41e058b89 100644 --- a/400_xowa/src/gplx/gfs/Gfs_lxr_.java +++ b/400_xowa/src/gplx/gfs/Gfs_lxr_.java @@ -33,7 +33,7 @@ class Gfs_lxr_ { case Tid_whitespace: return "whitespace"; case Tid_comment: return "comment"; case Tid_eq: return "eq"; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } } diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java index fc4f1fc2e..ca4471ee2 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_ctx.java @@ -79,7 +79,7 @@ class Gfs_err_mgr { KeyVal arg = args[i]; tmp_fail_args.Add(arg.Key(), arg.Val_to_str_or_empty()); } - throw Exc_.new_(Fail_msg(msg, tmp_fail_args)); + throw Err_.new_wo_type(Fail_msg(msg, tmp_fail_args)); } private void Fail_args_standard(byte[] src, int src_len, int pos) { tmp_fail_args.Add("excerpt_bgn", Fail_excerpt_bgn(src, src_len, pos)); diff --git a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java index 3a91f1443..475e79efd 100644 --- a/400_xowa/src/gplx/gfs/Gfs_parser_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_parser_tst.java @@ -145,7 +145,7 @@ class Gfs_parser_fxt { byte[] src_bry = Bry_.new_u8(src_str); try {parser.Parse(src_bry);} catch (Exception e) { - String actl_err = Err_.Message_gplx_brief(e); + String actl_err = Err_.Message_gplx_full(e); actl_err = String_.GetStrBefore(actl_err, ":"); boolean match = String_.Has(actl_err, expd_err); if (!match) Tfds.Fail("expecting '" + expd_err + "' got '" + actl_err + "'"); diff --git a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java index ab45f2a0c..e093344e8 100644 --- a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java +++ b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java @@ -69,7 +69,7 @@ public class Gfui_bnd_parser { ++pos; continue; case Byte_ascii.Hash: - if (is_numeric) throw Exc_.new_("multiple numeric symbols in keycode"); + if (is_numeric) throw Err_.new_wo_type("multiple numeric symbols in keycode"); is_numeric = true; ++pos; continue; @@ -103,10 +103,10 @@ public class Gfui_bnd_parser { int tkn_bgn = itm_bgn; if (src_is_gfui) { // remove "key." in "key.#10" tkn_bgn = Bry_finder.Move_fwd(src, Byte_ascii.Dot, itm_bgn, itm_end); - if (tkn_bgn == -1) throw Exc_.new_("invalid keycode.dot", "keycode", Bry_.Mid(src, tkn_bgn, itm_end)); + if (tkn_bgn == -1) throw Err_.new_wo_type("invalid keycode.dot", "keycode", Bry_.Mid(src, tkn_bgn, itm_end)); ++tkn_bgn; // skip # } - int keycode = Bry_.Xto_int_or(src, tkn_bgn, itm_end, -1); if (keycode == -1) throw Exc_.new_("invalid keycode", "keycode", Bry_.Mid(src, tkn_bgn, itm_end)); + int keycode = Bry_.Xto_int_or(src, tkn_bgn, itm_end, -1); if (keycode == -1) throw Err_.new_wo_type("invalid keycode", "keycode", Bry_.Mid(src, tkn_bgn, itm_end)); tkn = new Gfui_bnd_tkn(Gfui_bnd_tkn.Tid_key, keycode, Bry_.Empty, Bry_.Empty); } else @@ -122,7 +122,7 @@ public class Gfui_bnd_parser { case Gfui_bnd_tkn.Tid_mod_ca: mod_adj = Gfui_bnd_tkn.Tid_mod_ca; break; case Gfui_bnd_tkn.Tid_mod_cas: mod_adj = Gfui_bnd_tkn.Tid_mod_cas; break; case Gfui_bnd_tkn.Tid_key: break; - default: throw Exc_.new_unhandled(tkn.Tid()); + default: throw Err_.new_unhandled(tkn.Tid()); } switch (sym_tkn.Tid()) { case Gfui_bnd_tkn.Tid_sym_plus: // EX: Ctrl + A diff --git a/400_xowa/src/gplx/html/Html_utl.java b/400_xowa/src/gplx/html/Html_utl.java index 257882117..1fda77b80 100644 --- a/400_xowa/src/gplx/html/Html_utl.java +++ b/400_xowa/src/gplx/html/Html_utl.java @@ -46,7 +46,7 @@ public class Html_utl { switch (quote_byte) { case Byte_ascii.Apos: bfr.Add(Html_entity_.Apos_num_bry); break; case Byte_ascii.Quote: bfr.Add(Html_entity_.Quote_bry); break; - default: throw Exc_.new_unhandled(quote_byte); + default: throw Err_.new_unhandled(quote_byte); } } else { 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 154cfdc65..311966db5 100644 --- a/400_xowa/src/gplx/ios/Io_stream_rdr_process.java +++ b/400_xowa/src/gplx/ios/Io_stream_rdr_process.java @@ -31,12 +31,12 @@ public class Io_stream_rdr_process implements Io_stream_rdr { ProcessBuilder pb = new ProcessBuilder(process_args); pb.redirectErrorStream(false); try {process = pb.start();} - catch (Exception e) {throw Exc_.new_exc(e, "core", "process init failed", "args", String_.AryXtoStr(process_args));} + catch (Exception e) {throw Err_.new_exc(e, "core", "process init failed", "args", String_.AryXtoStr(process_args));} stream_read = process.getInputStream(); return this; } - public void Open_mem(byte[] v) {throw Exc_.new_unimplemented();} - public Object Under() {throw Exc_.new_unimplemented();} + public void Open_mem(byte[] v) {throw Err_.new_unimplemented();} + public Object Under() {throw Err_.new_unimplemented();} public int Read(byte[] bry, int bgn, int len) { try { @@ -52,15 +52,15 @@ public class Io_stream_rdr_process implements Io_stream_rdr { if (rv >= len) break; } return rv; - } catch (Exception e) {throw Exc_.new_exc(e, "io", "process read failed", "bgn", bgn, "len", len);} + } catch (Exception e) {throw Err_.new_exc(e, "io", "process read failed", "bgn", bgn, "len", len);} } public long Skip(long len) { try {return stream_read.skip(len);} - catch (Exception e) {throw Exc_.new_exc(e, "io", "process skip failed", "len", len);} + catch (Exception e) {throw Err_.new_exc(e, "io", "process skip failed", "len", len);} } public void Rls() { try {stream_read.close();} - catch (Exception e) {throw Exc_.new_exc(e, "io", "process rls failed");} + catch (Exception e) {throw Err_.new_exc(e, "io", "process rls failed");} process.destroy(); } public static Io_stream_rdr_process new_(Io_url process_exe, Io_url stream_url, String... process_args) {return new Io_stream_rdr_process(process_exe, stream_url, process_args);} 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 9d6d7a7e4..3ffbe9d2e 100644 --- a/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java +++ b/400_xowa/src/gplx/ios/Io_stream_zip_mgr.java @@ -39,7 +39,7 @@ public class Io_stream_zip_mgr { case Io_stream_.Tid_zip : if (wtr_zip == null) wtr_zip = Io_stream_wtr_.new_by_mem(bfr, Io_stream_.Tid_zip) ; return wtr_zip.Open(); case Io_stream_.Tid_bzip2 : if (wtr_bzip2 == null) wtr_bzip2 = Io_stream_wtr_.new_by_mem(bfr, Io_stream_.Tid_bzip2) ; return wtr_bzip2.Open(); case Io_stream_.Tid_raw : - default : throw Exc_.new_unhandled(type); + default : throw Err_.new_unhandled(type); } } private Io_stream_rdr Rdr(byte type) { @@ -48,7 +48,7 @@ public class Io_stream_zip_mgr { case Io_stream_.Tid_zip : if (rdr_zip == null) rdr_zip = Io_stream_rdr_.new_by_tid_(Io_stream_.Tid_zip) ; return rdr_zip; case Io_stream_.Tid_bzip2 : if (rdr_bzip2 == null) rdr_bzip2 = Io_stream_rdr_.new_by_tid_(Io_stream_.Tid_bzip2) ; return rdr_bzip2; case Io_stream_.Tid_raw : - default : throw Exc_.new_unhandled(type); + default : throw Err_.new_unhandled(type); } } } diff --git a/400_xowa/src/gplx/php/Php_itm_.java b/400_xowa/src/gplx/php/Php_itm_.java index 27fee5138..780dd84f3 100644 --- a/400_xowa/src/gplx/php/Php_itm_.java +++ b/400_xowa/src/gplx/php/Php_itm_.java @@ -36,7 +36,7 @@ public class Php_itm_ { switch (itm.Itm_tid()) { case Php_itm_.Tid_kv: case Php_itm_.Tid_ary: - throw Exc_.new_unhandled(itm.Itm_tid()); + throw Err_.new_unhandled(itm.Itm_tid()); default: return itm.Val_obj_bry(); } diff --git a/400_xowa/src/gplx/php/Php_parser_tst.java b/400_xowa/src/gplx/php/Php_parser_tst.java index b57aa77a4..6db2de360 100644 --- a/400_xowa/src/gplx/php/Php_parser_tst.java +++ b/400_xowa/src/gplx/php/Php_parser_tst.java @@ -225,11 +225,11 @@ class Php_tkn_quote_chkr extends Php_tkn_chkr_base { public Php_tkn_quote_chkr(int src_bgn, int src_end) {this.Src_rng_(src_bgn, src_end);} @Override public Class TypeOf() {return Php_tkn_quote.class;} @Override public byte Tkn_tid() {return Php_tkn_.Tid_quote;} - public Php_tkn_quote_chkr Quote_tid_(byte v) {this.quote_tid = v; return this;} private byte quote_tid = Byte_ascii.Nil; + public Php_tkn_quote_chkr Quote_tid_(byte v) {this.quote_tid = v; return this;} private byte quote_tid = Byte_ascii.Null; @Override public int Chk_tkn(Tst_mgr mgr, String path, Php_tkn actl_obj) { Php_tkn_quote actl = (Php_tkn_quote)actl_obj; int rv = 0; - rv += mgr.Tst_val(quote_tid == Byte_ascii.Nil, path, "quote_tid", quote_tid, actl.Quote_tid()); + rv += mgr.Tst_val(quote_tid == Byte_ascii.Null, path, "quote_tid", quote_tid, actl.Quote_tid()); return rv; } } diff --git a/400_xowa/src/gplx/php/Php_srl_parser.java b/400_xowa/src/gplx/php/Php_srl_parser.java index f69b40897..a870d8e7d 100644 --- a/400_xowa/src/gplx/php/Php_srl_parser.java +++ b/400_xowa/src/gplx/php/Php_srl_parser.java @@ -188,10 +188,10 @@ public class Php_srl_parser { } throw err_(raw, raw_len, raw_len, "skip_ws found eos"); } - Exc err_(byte[] raw, int bgn, String fmt, Object... args) {return err_(raw, bgn, raw.length, fmt, args);} - Exc err_(byte[] raw, int bgn, int raw_len, String fmt, Object... args) { + 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_u8_by_len(raw, bgn, 20); - return Exc_.new_(msg); + return Err_.new_wo_type(msg); } } class Php_srl_factory { 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 976c95ae3..2581a3f57 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_parser.java +++ b/400_xowa/src/gplx/php/Php_text_itm_parser.java @@ -53,16 +53,16 @@ public class Php_text_itm_parser { if (txt_bgn != -1) {tmp_list.Add(new Php_text_itm_text(txt_bgn, i)); txt_bgn = -1; rslt_val = Rslt_dirty;} boolean pos_is_last = i == raw_last; int next_pos = i + 1; - byte next_char = pos_is_last ? Byte_ascii.Nil : raw[next_pos]; + byte next_char = pos_is_last ? Byte_ascii.Null : raw[next_pos]; if (quote_is_single) { // NOTE: q1 is simpler than q2; REF.MW:http://php.net/manual/en/language.types.String.php; DATE:2014-08-06 switch (next_char) { case Byte_ascii.Apos: next_char = Byte_ascii.Apos; break; case Byte_ascii.Backslash: next_char = Byte_ascii.Backslash; break; - default: next_char = Byte_ascii.Nil; break; + default: next_char = Byte_ascii.Null; break; } } else { - if (pos_is_last) throw Exc_.new_("backslash_is_last_char", "raw", String_.new_u8(raw)); + if (pos_is_last) throw Err_.new_wo_type("backslash_is_last_char", "raw", 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; @@ -87,10 +87,10 @@ public class Php_text_itm_parser { i = next_pos + 2; // +2 to skip rest; EX: \xc2; +2 for c2 continue; } - default: next_char = Byte_ascii.Nil; break; + default: next_char = Byte_ascii.Null; break; } } - if (next_char == Byte_ascii.Nil) { + if (next_char == Byte_ascii.Null) { if (txt_bgn == -1) txt_bgn = i; } else { @@ -124,7 +124,7 @@ public class Php_text_itm_parser { } 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 Exc_.new_("utf16_parse", "src", String_.new_u8(src)); + if (end >= src_len) throw Err_.new_wo_type("utf16_parse", "src", 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/srls/dsvs/Dsv_fld_parser_.java b/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java index e54d6aee1..7f3389149 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_fld_parser_.java @@ -20,8 +20,8 @@ public class Dsv_fld_parser_ { public static final Dsv_fld_parser Bry_parser = Dsv_fld_parser_bry._; 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 Exc err_fld_unhandled(Dsv_fld_parser parser, Dsv_wkr_base wkr, int fld_idx, byte[] src, int bgn, int end) { - throw Exc_.new_("fld unhandled", "parser", ClassAdp_.NameOf_obj(parser), "wkr", ClassAdp_.NameOf_obj(wkr), "fld_idx", fld_idx, "val", String_.new_u8(src, bgn, end)).Stack_erase_1_(); + 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_wo_type("fld unhandled", "parser", ClassAdp_.NameOf_obj(parser), "wkr", ClassAdp_.NameOf_obj(wkr), "fld_idx", fld_idx, "val", String_.new_u8(src, bgn, end)).Trace_ignore_add_1_(); } } 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 bcb4aea73..705ddf227 100644 --- a/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java +++ b/400_xowa/src/gplx/srls/dsvs/Dsv_tbl_parser.java @@ -37,8 +37,8 @@ public class Dsv_tbl_parser implements GfoInvkAble, RlsAble { public void Clear() { fld_bgn = fld_idx = row_bgn = row_idx = 0; } - public Exc Err_row_bgn(String fmt, int pos) { - return Exc_.new_(fmt, "line", String_.new_u8(src, row_bgn, pos)).Stack_erase_1_(); + public Err Err_row_bgn(String fmt, int pos) { + return Err_.new_wo_type(fmt, "line", String_.new_u8(src, row_bgn, pos)).Trace_ignore_add_1_(); } public void Update_by_fld(int pos) { fld_bgn = pos; diff --git a/400_xowa/src/gplx/xowa/Xoa_app.java b/400_xowa/src/gplx/xowa/Xoa_app.java index ce2f6e58b..014766a76 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app.java +++ b/400_xowa/src/gplx/xowa/Xoa_app.java @@ -17,16 +17,17 @@ 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.apps.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.apis.*; import gplx.xowa.bldrs.css.*; import gplx.xowa.files.caches.*; import gplx.xowa.files.imgs.*; import gplx.xowa.urls.encoders.*; import gplx.xowa.wikis.*; import gplx.xowa.wmfs.*; -import gplx.xowa.html.hrefs.*; import gplx.xowa.html.wtrs.*; import gplx.xowa.html.js.*; +import gplx.xowa.html.hrefs.*; import gplx.xowa.html.wtrs.*; import gplx.xowa.html.js.*; import gplx.xowa.html.bridges.*; import gplx.xowa.users.*; public interface Xoa_app { Xoa_app_type App_type(); + Xoapi_root Api_root(); Xoa_fsys_mgr Fsys_mgr(); Xoa_wiki_mgr Wiki_mgri(); Xof_cache_mgr File__cache_mgr(); @@ -35,12 +36,13 @@ public interface Xoa_app { Xoh_href_parser Html__href_parser(); Xoh_lnki_bldr Html__lnki_bldr(); Xoa_css_extractor Html__css_installer(); - Xoh_json_exec Html__json_exec(); + Xoh_bridge_mgr Html__bridge_mgr(); Xou_user User(); Xowmf_mgr Wmf_mgr(); boolean Xwiki_mgr__missing(byte[] domain); + boolean Bldr__running(); void Bldr__running_(boolean v); Gfo_usr_dlg Usr_dlg(); Bry_bfr_mkr Utl__bfr_mkr(); Url_encoder_mgr Utl__encoder_mgr(); Xoa_url_parser Utl__url_parser(); -} +} diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java index 47a6bcd63..c733fde24 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_.java @@ -16,7 +16,7 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa; import gplx.*; -import gplx.dbs.*; import gplx.ios.*; import gplx.gfui.*; +import gplx.core.consoles.*; import gplx.dbs.*; import gplx.ios.*; import gplx.gfui.*; import gplx.xowa.apps.*; import gplx.xowa.langs.*; import gplx.xowa.users.*; import gplx.xowa.files.*; import gplx.xowa.html.hdumps.*; import gplx.xowa.html.hdumps.core.*; import gplx.xowa.urls.encoders.*; @@ -26,7 +26,7 @@ public class Xoa_app_ { boot_mgr.Run(args); } public static final String Name = "xowa"; - public static final String Version = "2.7.1.2"; + public static final String Version = "2.7.3.1"; public static String Build_date = "2012-12-30 00:00:00"; public static String Op_sys; public static String User_agent = ""; @@ -51,9 +51,9 @@ class Xoa_app_boot_mgr { Run_app(args_mgr); } catch (Exception e) { - String err_str = Err_.Message_gplx(e); + String err_str = Err_.Message_gplx_full(e); log_wtr.Log_to_err(err_str); - ConsoleAdp._.WriteLine(err_str); + Console_adp__sys.I.Write_str_w_nl(err_str); if (log_wtr.Log_dir() == null) log_wtr.Log_dir_(Env_.AppUrl().OwnerDir().GenSubFil("xowa.log")); log_wtr.Queue_enabled_(false); } @@ -112,7 +112,7 @@ class Xoa_app_boot_mgr { } if (rv.Args_get("show_args").Val_as_bool()) rv.Print_args(usr_dlg); - } catch (Exception e) {usr_dlg.Warn_many("", "", "args failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx(e)); return null;} + } catch (Exception e) {usr_dlg.Warn_many("", "", "args failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx_full(e)); return null;} return rv; } private void Run_app(App_cmd_mgr args_mgr) { @@ -150,16 +150,16 @@ class Xoa_app_boot_mgr { app.Http_server().Home_(http_server_home); app.Init_by_app(); chkpoint = "init_gfs"; } - catch (Exception e) {usr_dlg.Warn_many("", "", "app init failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx(e));} + catch (Exception e) {usr_dlg.Warn_many("", "", "app init failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx_full(e));} 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.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)); + usr_dlg.Warn_many("", "", "script file failed: ~{0} ~{1} ~{2}", chkpoint, cmd_file.Raw(), Err_.Message_gplx_full(e)); if (app_type_is_gui) - GfuiEnv_.ShowMsg(Err_.Message_gplx(e)); + GfuiEnv_.ShowMsg(Err_.Message_gplx_full(e)); } gplx.xowa.apps.setups.Xoa_setup_mgr.Delete_old_files(app); @@ -172,7 +172,7 @@ class Xoa_app_boot_mgr { else { if (cmd_text != null) { gplx.xowa.servers.Gxw_html_server.Init_gui_for_server(app, null); // NOTE: must init kit else "app.shell.fetch_page" will fail; DATE:2015-04-30 - ConsoleAdp._.WriteLine_utf8(Object_.Xto_str_strict_or_empty(app.Gfs_mgr().Run_str(cmd_text))); + Console_adp__sys.I.Write_str_w_nl_utf8(Object_.Xto_str_strict_or_empty(app.Gfs_mgr().Run_str(cmd_text))); } if (app_type_is_gui) { app.Gui_mgr().Run(); chkpoint = "run"; @@ -181,7 +181,7 @@ class Xoa_app_boot_mgr { if (gplx.xowa.xtns.scribunto.Scrib_core.Core() != null) gplx.xowa.xtns.scribunto.Scrib_core.Core().Term(); } } - catch (Exception e) {usr_dlg.Warn_many("", "", "app launch failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx(e));} + catch (Exception e) {usr_dlg.Warn_many("", "", "app launch failed: ~{0} ~{1}", chkpoint, Err_.Message_gplx_full(e));} finally { if (app != null && app_type_is_gui) // only cancel if app_type_is_gui is true; (force cmd_line to end process) app.Setup_mgr().Cmd_mgr().Canceled_y_(); @@ -194,7 +194,7 @@ class Xoa_app_boot_mgr { case Op_sys.Tid_lnx: rv = "linux"; break; case Op_sys.Tid_wnt: rv = "windows"; break; case Op_sys.Tid_osx: rv = "macosx"; break; - default: throw Exc_.new_unhandled("unknown platform " + Op_sys.Cur()); + default: throw Err_.new_unhandled("unknown platform " + Op_sys.Cur()); } if (op_sys.Bitness() == Op_sys.Bitness_64) rv += "_64"; return rv; diff --git a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java index 4b3d3bfb8..2a7302a2d 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_fxt.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_fxt.java @@ -54,10 +54,10 @@ public class Xoa_app_fxt { 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")); + wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_a7("src:wiki"), Bry_.new_a7("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")); + wiki.File_mgr().Repo_mgr().Add_repo(Bry_.new_a7("src:c"), Bry_.new_a7("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._); diff --git a/400_xowa/src/gplx/xowa/Xoae_app.java b/400_xowa/src/gplx/xowa/Xoae_app.java index 1c0d2cd80..863357853 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.hrefs.*; import gplx.xowa.html.wtrs.*; import gplx.xowa.html.ns_files.*; import gplx.xowa.html.js.*; +import gplx.xowa.html.hrefs.*; import gplx.xowa.html.wtrs.*; import gplx.xowa.html.ns_files.*; import gplx.xowa.html.bridges.*; 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.*; @@ -62,7 +62,6 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { cfg_regy = new Xocfg_regy(this); html_mgr = new Xoh_html_mgr(this); this.html__lnki_bldr = new Xoh_lnki_bldr(this, href_parser); - this.html__json_exec = new Xoh_json_exec(this); } 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; @@ -72,11 +71,12 @@ public class Xoae_app implements Xoa_app, GfoInvkAble { 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(); - public Xoh_json_exec Html__json_exec() {return html__json_exec;} private final Xoh_json_exec html__json_exec; + public Xoh_bridge_mgr Html__bridge_mgr() {return html__bridge_mgr;} private final Xoh_bridge_mgr html__bridge_mgr = new Xoh_bridge_mgr(); public Xowmf_mgr Wmf_mgr() {return wmf_mgr;} private final Xowmf_mgr wmf_mgr = new Xowmf_mgr(); 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_url_parser Utl__url_parser() {return utl_url_parser;} private final Xoa_url_parser utl_url_parser = new Xoa_url_parser(); + public boolean Bldr__running() {return bldr__running;} public void Bldr__running_(boolean v) {this.bldr__running = v;} private boolean bldr__running; public Xoae_wiki_mgr Wiki_mgr() {return wiki_mgr;} private Xoae_wiki_mgr wiki_mgr; public Xoa_wiki_mgr Wiki_mgri() {return wiki_mgr;} 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 7a331a486..67d4dabef 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 @@ -66,6 +66,7 @@ public class Xoapi_import implements GfoInvkAble { 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")); + else if (ctx.Match(k, Invk_zip_tid_list)) return Options_zip_tid__list; else if (ctx.Match(k, Invk_zip_tid_html)) return Io_stream_.To_str(zip_tid_html); else if (ctx.Match(k, Invk_zip_tid_html_)) zip_tid_html = Io_stream_.To_tid(m.ReadStr("v")); else if (ctx.Match(k, Invk_user_name)) return user_name; @@ -73,6 +74,7 @@ public class Xoapi_import implements GfoInvkAble { else return GfoInvkAble_.Rv_unhandled; return this; } + private static KeyVal[] Options_zip_tid__list = KeyVal_.Ary(KeyVal_.new_("raw", "text"), KeyVal_.new_("gzip"), KeyVal_.new_("bzip2")); private static final String Invk_layout_all_max = "layout_all_max" , Invk_layout_all_max_ = "layout_all_max_" , Invk_layout_text_max = "layout_text_max" , Invk_layout_text_max_ = "layout_text_max_" @@ -83,7 +85,7 @@ public class Xoapi_import implements GfoInvkAble { , Invk_html_db_max = "html_db_max" , Invk_html_db_max_ = "html_db_max_" , Invk_file_db_max = "file_db_max" , Invk_file_db_max_ = "file_db_max_" , Invk_ns_file_map = "ns_file_map" , Invk_ns_file_map_ = "ns_file_map_" - , Invk_zip_tid_text = "zip_tid_text" , Invk_zip_tid_text_ = "zip_tid_text_" + , Invk_zip_tid_text = "zip_tid_text" , Invk_zip_tid_text_ = "zip_tid_text_", Invk_zip_tid_list = "zip_tid_list" , Invk_zip_tid_html = "zip_tid_html" , Invk_zip_tid_html_ = "zip_tid_html_" , Invk_user_name = "user_name" , Invk_user_name_ = "user_name_" ; 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 ad4e8b465..41a2a1da7 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 @@ -53,11 +53,11 @@ public class Xoapi_popups implements GfoInvkAble, GfoEvMgrOwner { public byte[] Html_fmtr_next_sect_fmt_dflt() {return html_fmtr_next_sect_dflt;} private byte[] html_fmtr_next_sect_dflt = Dflt_html_fmtr_next_sect; public void Show_more(String popup_id) { Xowe_wiki wiki = app.Gui_mgr().Browser_win().Active_tab().Wiki(); - wiki.Html_mgr().Module_mgr().Popup_mgr().Show_more(popup_id); + wiki.Html_mgr().Head_mgr().Popup_mgr().Show_more(popup_id); } public void Show_all(String popup_id) { Xowe_wiki wiki = app.Gui_mgr().Browser_win().Active_tab().Wiki(); - wiki.Html_mgr().Module_mgr().Popup_mgr().Show_all(popup_id); + wiki.Html_mgr().Head_mgr().Popup_mgr().Show_all(popup_id); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(enabled); 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 649b83085..72309da04 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 @@ -51,7 +51,7 @@ public class Xoapi_startup_tabs implements GfoInvkAble { case Xoapi_startup_tabs_tid_.Tid_xowa: rv.Add(xowa_home); break; case Xoapi_startup_tabs_tid_.Tid_custom: Add_ary(rv, custom); break; case Xoapi_startup_tabs_tid_.Tid_previous: Add_ary(rv, previous); break; - default: throw Exc_.new_unhandled(type); + default: throw Err_.new_unhandled(type); } } else diff --git a/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs_tid_.java b/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs_tid_.java index 456ccdb8b..b6a948bb5 100644 --- a/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs_tid_.java +++ b/400_xowa/src/gplx/xowa/apis/xowa/startups/tabs/Xoapi_startup_tabs_tid_.java @@ -25,7 +25,7 @@ public class Xoapi_startup_tabs_tid_ { case Tid_xowa: return Key_xowa; case Tid_previous: return Key_previous; case Tid_custom: return Key_custom; - default: throw Exc_.new_unimplemented(); + default: throw Err_.new_unimplemented(); } } public static byte Xto_tid(String s) { @@ -33,7 +33,7 @@ public class Xoapi_startup_tabs_tid_ { else if (String_.Eq(s, Key_xowa)) return Tid_xowa; else if (String_.Eq(s, Key_previous)) return Tid_previous; else if (String_.Eq(s, Key_custom)) return Tid_custom; - else throw Exc_.new_unimplemented(); + else throw Err_.new_unimplemented(); } public static KeyVal[] Options__list = KeyVal_.Ary(KeyVal_.new_(Key_blank), KeyVal_.new_(Key_xowa), KeyVal_.new_(Key_previous), KeyVal_.new_(Key_custom)); } 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 e919c7d8b..a3d965dae 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 @@ -24,42 +24,44 @@ public class Xoapi_bookmarks 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 Add(String url_str) { - if (!enabled) return; - Xog_tab_itm tab = win.Active_tab(); if (tab == Xog_tab_itm_.Null) return; - Xowe_wiki wiki = tab.Wiki(); Xoae_page page = tab.Page(); - byte[] wiki_domain = null, ttl_full_txt = null; + public boolean Delete_confirm() {return delete_confirm;} private boolean delete_confirm = true; + public void Show() {win.Page__navigate_by_url_bar("home/wiki/Special:XowaBookmarks");} + public String Add(String url_str) { + if (!enabled) return app.Html__bridge_mgr().Msg_bldr().To_json_str__empty(); + Xoa_url url = null; if (url_str == null) { - wiki_domain = wiki.Domain_bry(); - ttl_full_txt = page.Ttl().Full_txt(); + Xog_tab_itm tab = win.Active_tab(); if (tab == Xog_tab_itm_.Null) return app.Html__bridge_mgr().Msg_bldr().Clear().Notify_pass_("bookmark added").To_json_str(); + url = tab.Page().Url(); + if (url.Wiki_bry() == null) { + url_str = "home/wiki/" + String_.new_u8(url.Page_bry()); + } + else if (url.Page_bry() == null) { + url_str = tab.Wiki().Domain_str() + "/wiki/" + String_.new_u8(url.Wiki_bry()); + } + else + url_str = String_.new_u8(url.Raw()); + url = app.Utl__url_parser().Parse(Bry_.new_u8(url_str)); } - else { - Xoa_url url = Xoa_url_parser.Parse_from_url_bar(app, wiki, url_str); - wiki_domain = url.Wiki_bry(); - ttl_full_txt = url.Page_bry(); - } - app.Usere().Bookmarks_add(wiki_domain, ttl_full_txt); - app.Usr_dlg().Prog_many("", "", "bookmark added: ~{0}", String_.new_u8(ttl_full_txt)); + else + url = app.Utl__url_parser().Parse(Bry_.new_u8(url_str)); + app.User().User_db_mgr().Bmk_mgr().Itms__add(Xoud_bmk_mgr.Owner_root, url); + String msg = "bookmark added: " + String_.new_u8(url.Page_bry()); + String rv = app.Html__bridge_mgr().Msg_bldr().Clear().Notify_pass_(msg).To_json_str(); + win.Active_tab().Html_box().Html_js_eval_proc_as_str("xowa.cmds.exec_by_str", "xowa.notify", "{\"text\":\"" + msg + "\",\"status\":\"success\"}"); + return rv; } - public void Show() {win.Page__navigate_by_url_bar("home/wiki/Data:Bookmarks");} -// public void Add(String url_str) {// bmk_v2 -// Xoa_url url = null; -// if (url_str == null) { -// Xog_tab_itm tab = win.Active_tab(); if (tab == Xog_tab_itm_.Null) return; -// url = tab.Page().Url(); -// } -// else -// url = app.Utl__url_parser().Parse(Bry_.new_u8(url_str)); -// app.User().User_db_mgr().Bmk_mgr().Itms__add(Xoud_bmk_mgr.Owner_root, url); -// } -// public void Show() {win.Page__navigate_by_url_bar("home/wiki/Special:XowaBookmarks");} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { - if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(this.Enabled()); - else if (ctx.Match(k, Invk_enabled_)) Enabled_(m.ReadYn("v")); - else if (ctx.Match(k, Invk_add)) this.Add(m.ReadStrOr("v", null)); + if (ctx.Match(k, Invk_enabled)) return Yn.Xto_str(enabled); + else if (ctx.Match(k, Invk_enabled_)) enabled = m.ReadYn("v"); + else if (ctx.Match(k, Invk_delete_confirm)) return Yn.Xto_str(delete_confirm); + else if (ctx.Match(k, Invk_delete_confirm_)) delete_confirm = m.ReadYn("v"); + else if (ctx.Match(k, Invk_add)) return this.Add(m.ReadStrOr("v", null)); else if (ctx.Match(k, Invk_show)) this.Show(); else return GfoInvkAble_.Rv_unhandled; return this; } - private static final String Invk_enabled = "enabled", Invk_enabled_ = "enabled_", Invk_add = "add", Invk_show = "show"; + private static final String + Invk_enabled = "enabled", Invk_enabled_ = "enabled_" + , Invk_delete_confirm = "delete_confirm", Invk_delete_confirm_ = "delete_confirm_" + , Invk_add = "add", Invk_show = "show"; } diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_app_type.java b/400_xowa/src/gplx/xowa/apps/Xoa_app_type.java index 60e767f5e..e64fd1adf 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_app_type.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_app_type.java @@ -16,20 +16,43 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.apps; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; public class Xoa_app_type { Xoa_app_type(int uid) {this.uid = uid;} public int Uid() {return uid;} private final int uid; public boolean Uid_is_gui() {return uid == Uid_gui;} public boolean Uid_is_tcp() {return uid == Uid_tcp;} public boolean Uid_is_http() {return uid == Uid_http;} - private static final int Uid_cmd = 1, Uid_gui = 2, Uid_tcp = 3, Uid_http = 4; - private static final String Key_cmd = "cmd", Key_gui = "gui", Key_tcp = "server", Key_http = "http_server"; - public static final Xoa_app_type Itm_cmd = new Xoa_app_type(Uid_cmd), Itm_gui = new Xoa_app_type(Uid_gui), Itm_tcp = new Xoa_app_type(Uid_tcp), Itm_http = new Xoa_app_type(Uid_http); + public byte[] Name() { + switch (uid) { + case Uid_cmd: return Key_cmd; + case Uid_gui: return Key_gui; + case Uid_http: return Key_http; + case Uid_tcp: return Key_tcp; + case Uid_file: return Key_file; + default: return Key_cmd; // see parse + } + } + private static final int Uid_cmd = 1, Uid_gui = 2, Uid_tcp = 3, Uid_http = 4, Uid_file = 5; + private static final byte[] Key_cmd = Bry_.new_a7("cmd"), Key_gui = Bry_.new_a7("gui"), Key_tcp = Bry_.new_a7("server"), Key_http = Bry_.new_a7("http_server"), Key_file = Bry_.new_a7("file"); + private static final Hash_adp_bry type_hash = Hash_adp_bry.cs_() + .Add_bry_int(Key_cmd , Uid_cmd) + .Add_bry_int(Key_gui , Uid_gui) + .Add_bry_int(Key_http , Uid_http) + .Add_bry_int(Key_tcp , Uid_tcp) + .Add_bry_int(Key_file , Uid_file) + ; + public static final Xoa_app_type Itm_cmd = new Xoa_app_type(Uid_cmd), Itm_gui = new Xoa_app_type(Uid_gui), Itm_tcp = new Xoa_app_type(Uid_tcp), Itm_http = new Xoa_app_type(Uid_http), Itm_file = new Xoa_app_type(Uid_file); public static Xoa_app_type parse(String s) { - if (String_.Eq(s, Key_cmd)) return Itm_cmd; - else if (String_.Eq(s, Key_gui)) return Itm_gui; - else if (String_.Eq(s, Key_tcp)) return Itm_tcp; - else if (String_.Eq(s, Key_http)) return Itm_http; - else return Itm_cmd; // default to cmd as per early behaviour; handles mistaken "--app_mode wrong" + Object o = type_hash.Get_by(Bry_.new_u8(s)); if (o == null) return Itm_cmd; // default to cmd as per early behaviour; handles mistaken "--app_mode wrong" + int uid = ((Int_obj_val)o).Val(); + switch (uid) { + case Uid_cmd: return Itm_cmd; + case Uid_gui: return Itm_gui; + case Uid_http: return Itm_http; + case Uid_tcp: return Itm_tcp; + case Uid_file: return Itm_file; + default: throw Err_.new_unhandled(uid); + } } } 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 2c1e9170d..15f3b1809 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_gfs_mgr.java @@ -36,12 +36,12 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { else if (String_.Eq(type, "xowa_cfg_user")) url = usr_fsys_mgr.App_data_cfg_user_fil(); else if (String_.Eq(type, "xowa_cfg_os")) {url = app_fsys_mgr.Bin_data_os_cfg_fil(); Xoa_gfs_mgr_.Cfg_os_assert(url);} else if (String_.Eq(type, "xowa_cfg_app")) url = app_fsys_mgr.Root_dir().GenSubFil("xowa.gfs"); - else throw Exc_.new_("invalid gfs type", "type", type); + else throw Err_.new_wo_type("invalid gfs type", "type", type); 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.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)); + Gfo_usr_dlg_.I.Warn_many("", "", "invalid gfs; obsoleting: src=~{0} err=~{1}", url.Raw(), Err_.Message_gplx_full(e)); } } public GfoMsg Parse_root_msg(String v) {return gplx.gfs.Gfs_msg_bldr._.ParseToMsg(v);} @@ -67,7 +67,7 @@ public class Xoa_gfs_mgr implements GfoInvkAble, GfoInvkRootWkr { } return rv; } catch (Exception e) { - Gfo_usr_dlg_.I.Warn_many("", "", "error while executing script: err=~{0}", Err_.Message_gplx(e)); + Gfo_usr_dlg_.I.Warn_many("", "", "error while executing script: err=~{0}", Err_.Message_gplx_full(e)); return GfoInvkAble_.Rv_error; } } 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 f61bbb42b..116995486 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 Exc_.new_("invalid gfs: tilde is last char", "src", String_.new_u8(src)); + if (pos >= len) throw Err_.new_wo_type("invalid gfs: tilde is last char", "src", String_.new_u8(src)); byte b = src[pos]; switch (b) { case Byte_ascii.Tilde: { // ~~ -> ~ @@ -72,17 +72,17 @@ public class Xoa_gfs_php_mgr { || num_end == len || src[num_end] != Byte_ascii.Curly_end ) - throw Exc_.new_("invalid gfs; num_end not found", "src", String_.new_u8(src)); + throw Err_.new_wo_type("invalid gfs; num_end not found", "src", 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) { - throw Exc_.new_("invalid int"); + throw Err_.new_wo_type("invalid int"); } bfr.Add_int_variable(arg_idx + 1); return num_end + 1; } default: { - throw Exc_.new_("invalid gfs; next char after tilde must be either tilde or open brace", "src", String_.new_u8(src)); + throw Err_.new_wo_type("invalid gfs; next char after tilde must be either tilde or open brace", "src", String_.new_u8(src)); } } } diff --git a/400_xowa/src/gplx/xowa/apps/Xoa_shell.java b/400_xowa/src/gplx/xowa/apps/Xoa_shell.java index 62a5cfd22..0008594d7 100644 --- a/400_xowa/src/gplx/xowa/apps/Xoa_shell.java +++ b/400_xowa/src/gplx/xowa/apps/Xoa_shell.java @@ -16,13 +16,14 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.apps; import gplx.*; import gplx.xowa.*; +import gplx.core.consoles.*; public class Xoa_shell implements GfoInvkAble { public Xoa_shell(Xoae_app app) {this.app = app;} private Xoae_app app; public boolean Fetch_page_exec_async() {return fetch_page_exec_async;} private boolean fetch_page_exec_async = true; public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_fetch_page)) return Fetch_page(m); - else if (ctx.Match(k, Invk_chars_per_line_max_)) ConsoleAdp._.CharsPerLineMax_set(m.ReadInt("v")); - else if (ctx.Match(k, Invk_backspace_by_bytes_)) ConsoleAdp._.Backspace_by_bytes_(m.ReadYn("v")); + else if (ctx.Match(k, Invk_chars_per_line_max_)) Console_adp__sys.I.Chars_per_line_max_(m.ReadInt("v")); + else if (ctx.Match(k, Invk_backspace_by_bytes_)) Console_adp__sys.I.Backspace_by_bytes_(m.ReadYn("v")); else return GfoInvkAble_.Rv_unhandled; return this; } diff --git a/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_eval.java b/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_eval.java index 982bda188..cd568b3b2 100644 --- a/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_eval.java +++ b/400_xowa/src/gplx/xowa/apps/fsys/Xoa_fsys_eval.java @@ -29,7 +29,7 @@ public class Xoa_fsys_eval implements Bry_fmtr_eval_mgr { case Tid_bin_plat_dir: return app_fsys_mgr.Bin_plat_dir().RawBry(); case Tid_user_temp_dir: return usr_fsys_mgr.App_temp_dir().RawBry(); case Tid_user_cfg_dir: return usr_fsys_mgr.App_data_cfg_dir().RawBry(); - default: throw Exc_.new_unhandled(val); + default: throw Err_.new_unhandled(val); } } private static final byte Tid_bin_plat_dir = 0, Tid_user_temp_dir = 1, Tid_xowa_root_dir = 2, Tid_user_cfg_dir = 3; diff --git a/400_xowa/src/gplx/xowa/bldrs/Db_idx_mode.java b/400_xowa/src/gplx/xowa/bldrs/Db_idx_mode.java index 8291c6ef1..8df316962 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Db_idx_mode.java +++ b/400_xowa/src/gplx/xowa/bldrs/Db_idx_mode.java @@ -33,6 +33,6 @@ public class Db_idx_mode { if (String_.Eq(key, Key_skip)) return Itm_skip; else if (String_.Eq(key, Key_bgn)) return Itm_bgn; else if (String_.Eq(key, Key_end)) return Itm_end; - else throw Exc_.new_unhandled(key); + else throw Err_.new_unhandled(key); } } 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 84e2f3b0e..ad4012a29 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java @@ -80,7 +80,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_decompress_bz2)) return Add(new Xob_decompress_bz2_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_deploy_zip)) return Add(new Xob_deploy_zip_cmd(bldr, wiki)); else if (String_.Eq(cmd_key, Xob_cmd_keys.Key_deploy_copy)) return Add(new Xob_deploy_copy_cmd(bldr, wiki)); - else throw Exc_.new_unhandled(cmd_key); + else throw Err_.new_unhandled(cmd_key); } private Xobd_wkr Xml_rdr_direct_add(Xowe_wiki wiki, Xobd_wkr wkr) { Xobd_rdr dump_rdr = Xml_rdr_get(wiki); @@ -118,7 +118,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { Xob_cmd cmd = (Xob_cmd)list.Get_at(i); if (String_.Eq(cmd.Cmd_key(), cmd_key)) return cmd; } - throw Exc_.new_("cmd not found", "key", cmd_key); + throw Err_.new_wo_type("cmd not found", "key", cmd_key); } private Object Add_many(GfoMsg m) { Xowe_wiki wiki = Wiki_get_or_make(m); @@ -132,7 +132,7 @@ public class Xob_cmd_mgr implements GfoInvkAble { return Add_many(wiki, cmds); } public Object Add_many(Xowe_wiki wiki, String... cmds) { - int len = cmds.length; if (len == 0) throw Exc_.new_("add_many cannot have 0 cmds"); + int len = cmds.length; if (len == 0) throw Err_.new_wo_type("add_many cannot have 0 cmds"); Object rv = null; for (int i = 0; i < len; i++) rv = Add_cmd(wiki, cmds[i]); diff --git a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java index baaa84714..05eeb555a 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_fxt.java @@ -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_u8("[[Category:"); + byte[] bry = Bry_.new_a7("[[Category:"); ctg_wkr.Wkr_hooks().Add(bry, bry); parser.Wkr_add(ctg_wkr); return Run(parser); 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 0a8c99996..0e83cd5fc 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 @@ -142,7 +142,7 @@ public class Xob_wiki_cfg_bldr_tst { } sb.Add("\");');\n"); } - catch(Exception e) {sb.Add("// fail: " + wiki + " " + Err_.Message_gplx_brief(e)).Add_char_nl();} + catch(Exception e) {sb.Add("// fail: " + wiki + " " + Err_.Message_gplx_full(e)).Add_char_nl();} } return sb.Xto_str_and_clear(); } 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 87356bd88..81151efe6 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 @@ -54,7 +54,7 @@ public class Xob_ns_file_itm_parser extends Dsv_wkr_base { } else ns_ids = Int_.Ary_parse(String_.new_u8(ns_ids_bry), ","); - if (ns_ids.length == 0) throw Exc_.new_("map.invalid.ns_missing", "src", this.Src()); + if (ns_ids.length == 0) throw Err_.new_wo_type("map.invalid.ns_missing", "src", this.Src()); if (String_.Len_eq_0(name)) { // no name; auto-generate int ns_id_1st = ns_ids[0]; // take 1st ns_id name = "ns." + Int_.Xto_str_pad_bgn_zero(ns_id_1st, 3); // EX: ns.000 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 d25e0016a..7d2cf3638 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 @@ -71,7 +71,7 @@ class Xob_dump_src_id { case Bool_.Y_byte: return Sql_select__redirect_y; case Bool_.N_byte: return Sql_select__redirect_n; case Bool_.__byte: return Sql_select__redirect__; - default: throw Exc_.new_unhandled(redirect); + default: throw Err_.new_unhandled(redirect); } } private static final String Sql_select = String_.Concat_lines_nl 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 4991a5bb1..1690876b1 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 @@ -47,7 +47,7 @@ public abstract class Xob_categorylinks_base extends Xob_sql_dump_base implement case Byte_ascii.Ltr_f: case Byte_ascii.Ltr_p: cur_tid = char_0; break; case Byte_ascii.Ltr_s: cur_tid = Byte_ascii.Ltr_c; break; - default: throw Exc_.new_unhandled(char_0); + default: throw Err_.new_unhandled(char_0); } if (cur_collation_is_uca) { if (trie == null) { @@ -70,7 +70,7 @@ public abstract class Xob_categorylinks_base extends Xob_sql_dump_base implement wiki.Html_mgr().Importing_ctgs_(Bool_.N); } 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}; + private static final byte[] Collation_uca = Bry_.new_a7("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 cfd59d6f6..cb15a0610 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_u8(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_full(e));} } public void Sort_end() { Save_ctg(Ttl_last); @@ -110,7 +110,7 @@ public class Xob_categorylinks_sql_make implements Io_make_cmd { case Byte_ascii.Ltr_f: return Xoa_ctg_mgr.Tid_file; case Byte_ascii.Ltr_p: return Xoa_ctg_mgr.Tid_page; case Byte_ascii.Ltr_c: return Xoa_ctg_mgr.Tid_subc; - default: throw Exc_.new_unhandled(ltr); + default: throw Err_.new_unhandled(ltr); } } public Io_sort_cmd Make_dir_(Io_url v) {return this;} 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 06326dea7..a3873ea47 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 @@ -71,7 +71,7 @@ class Db_tst_row { public static Db_tst_row kvs_(String[] cols, Object[] vals) { int cols_len = cols.length; int vals_len = vals.length; - if (cols_len != vals_len) throw Exc_.new_("mismatch in cols / vals"); + if (cols_len != vals_len) throw Err_.new_wo_type("mismatch in cols / vals"); Db_tst_row rv = new Db_tst_row(); Db_tst_val[] vals_ary = new Db_tst_val[cols_len]; for (int i = 0; i < cols_len; i++) { @@ -128,7 +128,7 @@ class Db_tst_qry { if (!pass) { bfr.Add(Lbl_row_hdr).Add_int_variable(expd_row_idx).Add_byte_nl(); bfr.Add_str(qry.Xto_sql()).Add_byte(Byte_ascii.Semic); - throw Exc_.new_(bfr.Xto_str_and_clear()); + throw Err_.new_wo_type(bfr.Xto_str_and_clear()); } } 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));} 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 6f9b6d95e..dd04e77d5 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 @@ -37,10 +37,10 @@ class Xowd_page_wkr_ctg_fxt { 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_u8("[[Category:"); + byte[] bry = Bry_.new_a7("[[Category:"); wkr.Wkr_hooks().Add(bry, bry); mgr.Wkr_add(wkr); - Xowd_page_itm page = new Xowd_page_itm().Text_(src);//.Ttl_(Bry_.new_u8("Test"), new Xow_ns_mgr()); + Xowd_page_itm page = new Xowd_page_itm().Text_(src);//.Ttl_(Bry_.new_a7("Test"), new Xow_ns_mgr()); mgr.Wkr_bgn(bldr); mgr.Wkr_run(page); byte[][] ttl = (byte[][])wkr.Found().To_ary(byte[].class); 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 70ccc9601..fb5d8f2e7 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 @@ -58,7 +58,7 @@ class Xob_sql_join_wkr_ctg_hidden implements Xob_sql_join_wkr { 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 Exc_.new_("failed to find pipe for name", "excerpt", String_.new_u8(src, join.Itm_pos_bgn(), join.Itm_pos_end())); + if (pipe_pos == Bry_.NotFound) throw Err_.new_wo_type("failed to find pipe for name", "excerpt", 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_(); 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 d597e5c66..515b4e997 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 @@ -91,7 +91,7 @@ class Xoctg_make_link_mgr { case Byte_ascii.Ltr_c: return subc_grp; case Byte_ascii.Ltr_f: return file_grp; case Byte_ascii.Ltr_p: return page_grp; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public int Grps_bfr_len() {return subc_grp.Bfr_len() + file_grp.Bfr_len() + page_grp.Bfr_len();} diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_itm.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_itm.java index e7d4fde65..d71ac26b2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_itm.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_itm.java @@ -38,20 +38,20 @@ class Xob_bin_db_itm { public static Xob_bin_db_itm new_v1(Fsm_bin_fil fil) { byte[] name = Bry_.new_u8(fil.Url_rel()); // EX: "fsdb.bin.0000.sqlite3" int ns_id = 0; // assume v1 dbs are all in main ns - int pt_id = Bry_.Xto_int_or(name, 9 , 13, Int_.MinValue); if (pt_id == Int_.MinValue) throw Exc_.new_("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int pt_id = Bry_.Xto_int_or(name, 9 , 13, Int_.MinValue); if (pt_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); return new Xob_bin_db_itm(fil.Id(), fil.Url(), ns_id, pt_id); } public static Xob_bin_db_itm new_v2(Fsm_bin_fil fil) { byte[] ns_bgn_tkn = Bry_.new_a7("file-ns."), ns_end_tkn = Bry_.new_a7("-db."), pt_end_tkn = Bry_.new_a7(".xowa"); int ns_bgn_tkn_len = ns_bgn_tkn.length, ns_end_tkn_len = ns_end_tkn.length; byte[] name = Bry_.new_u8(fil.Url_rel()); // EX: en.wikipedia.org-file-ns.000-db.001.xowa - int ns_bgn = Bry_finder.Find_fwd(name, ns_bgn_tkn, 0); if (ns_bgn == Bry_finder.Not_found) throw Exc_.new_("bin_db_itm.parse: invalid ns_bgn", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int ns_bgn = Bry_finder.Find_fwd(name, ns_bgn_tkn, 0); if (ns_bgn == Bry_finder.Not_found) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_bgn", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); ns_bgn += ns_bgn_tkn_len; - int ns_end = Bry_finder.Find_fwd(name, ns_end_tkn, ns_bgn); if (ns_end == Bry_finder.Not_found) throw Exc_.new_("bin_db_itm.parse: invalid ns_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int ns_end = Bry_finder.Find_fwd(name, ns_end_tkn, ns_bgn); if (ns_end == Bry_finder.Not_found) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); int pt_bgn = ns_end + ns_end_tkn_len; - int pt_end = Bry_finder.Find_fwd(name, pt_end_tkn, pt_bgn); if (pt_end == Bry_finder.Not_found) throw Exc_.new_("bin_db_itm.parse: invalid pt_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); - int ns_id = Bry_.Xto_int_or(name, ns_bgn, ns_end, Int_.MinValue); if (ns_id == Int_.MinValue) throw Exc_.new_("bin_db_itm.parse: invalid ns_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); - int pt_id = Bry_.Xto_int_or(name, pt_bgn, pt_end, Int_.MinValue); if (pt_id == Int_.MinValue) throw Exc_.new_("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int pt_end = Bry_finder.Find_fwd(name, pt_end_tkn, pt_bgn); if (pt_end == Bry_finder.Not_found) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_end", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int ns_id = Bry_.Xto_int_or(name, ns_bgn, ns_end, Int_.MinValue); if (ns_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid ns_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); + int pt_id = Bry_.Xto_int_or(name, pt_bgn, pt_end, Int_.MinValue); if (pt_id == Int_.MinValue) throw Err_.new_wo_type("bin_db_itm.parse: invalid pt_id", "name", fil.Url_rel(), "conn", fil.Conn().Conn_info().Xto_raw()); return new Xob_bin_db_itm(fil.Id(), fil.Url(), ns_id, pt_id); } } diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_mgr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_mgr.java index 7a043c97d..a96ce0762 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/files/Xob_bin_db_mgr.java @@ -64,7 +64,7 @@ class Xob_bin_db_mgr { } public Xob_bin_db_itm Get_nth_by_tier(int tier_id) { if (schema_is_1) return (Xob_bin_db_itm)nth_hash.Get_by(tier_key.Val_(0)); // v1 is always in ns_0 - if (tier_id >= ns_ids_len) throw Exc_.new_("tier out of range", "tier_id", tier_id, "len", ns_ids_len); + if (tier_id >= ns_ids_len) throw Err_.new_wo_type("tier out of range", "tier_id", tier_id, "len", ns_ids_len); int ns_id = ns_ids[tier_id]; return (Xob_bin_db_itm)nth_hash.Get_by(tier_key.Val_(ns_id)); } 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 6c0d4871d..713424149 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 @@ -75,7 +75,7 @@ class Xob_diff_regy_sql_runner { else if (fsdb_db_tid == Fsdb_db_tid_.Tid_atr) return abc_mgr.Atr_mgr().Db__core().Conn(); else - throw Exc_.new_unhandled(fsdb_db_tid); + throw Err_.new_unhandled(fsdb_db_tid); } public static String Build_url(String wiki_domain, int fsdb_db_id, String fsdb_db_type) { return String_.Format("{0}-{1}-{2}.sql", wiki_domain, Int_.Xto_str_pad_bgn_zero(fsdb_db_id, 3), fsdb_db_type); @@ -88,14 +88,14 @@ class Fsdb_db_tid_ { if (String_.Eq(s, Key_cfg)) return Tid_cfg; else if (String_.Eq(s, Key_atr)) return Tid_atr; else if (String_.Eq(s, Key_bin)) return Tid_bin; - else throw Exc_.new_unhandled(s); + else throw Err_.new_unhandled(s); } public static String Xto_key(byte v) { switch (v) { case Tid_cfg: return Key_cfg; case Tid_atr: return Key_atr; case Tid_bin: return Key_bin; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } } 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 bbf7809ee..3c9352a25 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 @@ -37,7 +37,7 @@ public class Xob_diff_regy_make_cmd extends Xob_itm_basic_base implements Xob_cm Sqlite_engine_.Idx_create(make_db_provider, Xob_diff_regy_tbl.Idx_xfer_regy__join); } catch (Exception exc) { - app.Usr_dlg().Warn_many("", "", "error while making indexes: err=~{0}", Err_.Message_gplx(exc)); + app.Usr_dlg().Warn_many("", "", "error while making indexes: err=~{0}", Err_.Message_gplx_full(exc)); } } private void Make_diff_regy(Db_conn make_db_provider) { 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 60f7d0286..0a34f8e3d 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 @@ -191,7 +191,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.Orig_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_full(exc)); } } private void Download_exec(Xodb_tbl_oimg_xfer_itm fsdb) { @@ -345,8 +345,8 @@ public class Xob_fsdb_make_cmd extends Xob_itm_basic_base implements Xob_cmd { url = wiki.Fsys_mgr().Root_dir().GenSubDir("prv"); // v2: EX: /xowa/wiki/en.wikipedia.org/prv/ rv = Fsdb_db_mgr_.new_detect(wiki, url, url); // note that v2 is prioritized over v1 } - else throw Exc_.new_("fsdb.make:unknown fsdb_type", "version", version); - if (rv == null) throw Exc_.new_("fsdb.make:source fsdb not found", "version", version, "url", url.Raw()); + else throw Err_.new_wo_type("fsdb.make:unknown fsdb_type", "version", version); + if (rv == null) throw Err_.new_wo_type("fsdb.make:source fsdb not found", "version", version, "url", url.Raw()); return rv; } private static final byte Select_rv_stop = 0, Select_rv_process = 1, Select_rv_next_page = 2; 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 567cf03b8..5893f745e 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 @@ -192,7 +192,7 @@ class Xob_lnki_temp_wkr_ { int id = i < ids_len ? rv[i] : -1; wiki.Appe().Usr_dlg().Note_many("", "", "ns: ~{0} <- ~{1}", Int_.Xto_str_fmt(id, "0000"), alias); } - if (aliases_len != ids_len) throw Exc_.new_("mismatch in aliases and ids", "aliases", aliases_len, "ids", ids_len); + if (aliases_len != ids_len) throw Err_.new_wo_type("mismatch in aliases and ids", "aliases", aliases_len, "ids", ids_len); return rv; } private static int[] Ids_by_aliases(Xow_ns_mgr ns_mgr, String[] aliases) { 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 21b3f0018..1c8d4b508 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 @@ -51,7 +51,7 @@ public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_ .Add_base85_len_5(page.Id()) .Add_byte(Byte_ascii.Semic) .Add_base85_len_5(page.Text().length) .Add_byte(Byte_ascii.Nl); } - } catch (Exception e) {bldr.Usr_dlg().Warn_many("", "", "search_index:fatal error: err=~{0}", Err_.Message_gplx_brief(e));} // never let single page crash entire import + } catch (Exception e) {bldr.Usr_dlg().Warn_many("", "", "search_index:fatal error: err=~{0}", Err_.Message_gplx_full(e));} // never let single page crash entire import } public void Wkr_end() { tmp_wtr_mgr.Flush_all(bldr.Usr_dlg()); 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 fe021e1b9..97bbcb5e8 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 @@ -61,7 +61,7 @@ public class Xob_page_cmd extends Xob_itm_basic_base implements Xobd_wkr, GfoInv Xowd_db_file text_db = ns_to_db_mgr.Get_by_ns(ns.Bldr_data(), text_zip.length); try {page_mgr.Create(page_core_tbl, text_db.Tbl__text(), id, page.Ns_id(), page.Ttl_page_db(), redirect, modified, text_zip, text_raw_len, random_int, text_db.Id(), -1);} catch (Exception e) { - throw Exc_.new_exc(e, "bldr", "create page in db failed", "id", id, "ns", page.Ns_id(), "name", page.Ttl_page_db(), "redirect", redirect, "modified", modified, "text_len", text_raw_len, "text_db_id", text_db.Id()); + throw Err_.new_exc(e, "bldr", "create page in db failed; skipping page", "id", id, "ns", page.Ns_id(), "name", page.Ttl_page_db(), "redirect", redirect, "modified", modified, "text_len", text_raw_len, "text_db_id", text_db.Id()); } if (redirect && redirect_id_enabled) redirect_tbl.Insert(id, page.Ttl_page_db(), redirect_ttl); 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 25d28fd33..8e1ef04c1 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 @@ -78,7 +78,7 @@ class Xob_search_wkr extends Xob_itm_basic_base implements Xobd_wkr { byte[] word = words[i]; search_temp_tbl.Insert_cmd_by_batch(page_id, word); } - } catch (Exception e) {bldr.Usr_dlg().Warn_many("", "", "search_index:fatal error: err=~{0}", Err_.Message_gplx_brief(e));} // never let single page crash entire import + } catch (Exception e) {bldr.Usr_dlg().Warn_many("", "", "search_index:fatal error: err=~{0}", Err_.Message_gplx_full(e));} // never let single page crash entire import } public void Wkr_end() { search_temp_tbl.Make_data(usr_dlg, search_db.Tbl__search_link(), search_db.Tbl__search_word()); 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 dd81541a2..0bad28b0b 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 @@ -23,7 +23,7 @@ public class Xob_term_cmd extends Xob_term_base { @Override public void Cmd_end_hook() { Io_mgr.I.DeleteDirDeep(wiki.Fsys_mgr().Tmp_dir()); Db_cfg_tbl cfg_tbl = wiki.Data__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, Xow_cfg_consts.Key__init__bldr_version, wiki.Props().Bldr_version()); cfg_tbl.Insert_bry(Xow_cfg_consts.Grp__wiki_init, Xow_cfg_consts.Key__init__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()); 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 95d184149..d1a508248 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 @@ -174,7 +174,7 @@ public class Xob_tst { 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_u8("Template"), false), new Io_url[] {url}, 1 * Io_mgr.Len_kb); + parser.Load(Gfo_usr_dlg_.Test(), wiki, new Xow_ns(Xow_ns_.Id_template, Xow_ns_case_.Id_1st, Bry_.new_a7("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)) { 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 b0217aafd..3d512507a 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 @@ -44,7 +44,7 @@ public class Xob_cleanup_cmd extends Xob_itm_basic_base implements Xob_cmd { Delete_wiki_sql(wiki); if (delete_all) { Io_mgr.I.DeleteDir_cmd(wiki_root_dir).Exec(); // do not delete subdirs; needed to support "/prv" for fsdb; DATE:2015-04-01 - Io_mgr.I.DeleteDirDeep(app.Usere().Fsys_mgr().Wiki_root_dir()); // delete css dir; DATE:2015-07-06 + Io_mgr.I.DeleteDirDeep(app.Usere().Fsys_mgr().Wiki_root_dir().GenSubDir(wiki.Domain_str())); // delete css dir; DATE:2015-07-06 } if (delete_by_match_ary != null) Delete_by_match(wiki_root_dir, delete_by_match_ary); 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 9207480ef..5d01a4d9a 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 @@ -28,7 +28,7 @@ public class Xob_deploy_zip_cmd extends Xob_itm_basic_base implements Xob_cmd { private void Exec(Xob_bldr bldr, String type_name) { Log("initing wiki"); try {wiki.Init_assert();} - catch (Exception exc) {Log("failed to init wiki: ~{0}", Err_.Message_gplx_brief(exc));} + catch (Exception exc) {Log("failed to init wiki: ~{0}", Err_.Message_gplx_full(exc));} Log("probing ns_dirs: ~{0}", wiki.Tdb_fsys_mgr().Ns_dir().Raw()); Io_url[] ns_dirs = Io_mgr.I.QueryDir_args(wiki.Tdb_fsys_mgr().Ns_dir()).DirOnly_().ExecAsUrlAry(); for (Io_url ns_dir : ns_dirs) { diff --git a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_wkr.java b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_wkr.java index 9ad75f0b7..e70e2cf83 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_wkr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cmds/utils/Xob_download_wkr.java @@ -27,7 +27,7 @@ public class Xob_download_wkr extends Xob_itm_basic_base implements Xob_cmd { public String Cmd_key() {return Xob_cmd_keys.Key_util_download;} public void Cmd_init(Xob_bldr bldr) {} public void Cmd_bgn(Xob_bldr bldr) { - if (dump_type == null) throw Exc_.new_("dump_type must be specified"); + if (dump_type == null) throw Err_.new_wo_type("dump_type must be specified"); Xob_dump_file dump_file = Xob_dump_file.new_(wiki.Domain_str(), dump_date, dump_type); if (dump_src == null) { dump_file.Server_url_(app.Setup_mgr().Dump_mgr().Server_urls()[0]); @@ -43,7 +43,7 @@ public class Xob_download_wkr extends Xob_itm_basic_base implements Xob_cmd { IoEngine_xrg_downloadFil download_wkr = app.Wmf_mgr().Download_wkr().Download_xrg(); download_wkr.Src_last_modified_query_(false).Init(dump_src, dump_trg_zip); if (!download_wkr.Exec()) - usr_dlg.Warn_many("", "", "download failed: src=~{0} trg=~{1} err=~{2}", dump_src, dump_trg_zip.Raw(), Err_.Message_gplx_brief(download_wkr.Rslt_err())); + usr_dlg.Warn_many("", "", "download failed: src=~{0} trg=~{1} err=~{2}", dump_src, dump_trg_zip.Raw(), Err_.Message_gplx_full(download_wkr.Rslt_err())); if (unzip) { usr_dlg.Note_many("", "", "unzipping file: now=~{0} trg=~{1}", DateAdp_.Now().XtoStr_fmt_yyyyMMdd_HHmmss(), dump_trg_bin.Raw()); Xob_unzip_wkr unzip_wkr = new Xob_unzip_wkr().Init(app).Process_run_mode_(ProcessAdp.Run_mode_sync_block); 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 a4083e408..f1b14a9e6 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 @@ -32,7 +32,7 @@ public class Xob_unzip_wkr { if (String_.Eq(src_ext, gplx.ios.Io_stream_.Ext_bz2)) process = decompress_bz2; else if (String_.Eq(src_ext, gplx.ios.Io_stream_.Ext_zip)) process = decompress_zip; else if (String_.Eq(src_ext, gplx.ios.Io_stream_.Ext_gz)) process = decompress_gz; - else throw Exc_.new_unhandled(src_ext); + else throw Err_.new_unhandled(src_ext); Io_url trg_owner_dir = trg.OwnerDir(); Io_mgr.I.CreateDirIfAbsent(trg_owner_dir); process.Run_mode_(process_run_mode); 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 index e00d9088d..4b7a9fe0c 100644 --- 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 @@ -45,7 +45,7 @@ public class Xob_xml_dumper_cmd implements Xob_cmd { if ((++page_count % commit_interval) == 0) Commit(); } } - catch (Exception e) {throw Exc_.new_exc(e, "xo", "xml_dumper failed");} + catch (Exception e) {throw Err_.new_exc(e, "xo", "xml_dumper failed");} finally {page_rdr.Rls();} xml_dumper.Write_root_end(); this.Commit(); 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 398210e24..879eb3f94 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 @@ -32,7 +32,7 @@ public class Xob_image_cmd extends Xob_itm_dump_base implements Xob_cmd, GfoInvk Init_dump(Xob_cmd_keys.Key_wiki_image); if (src_fil == null) { src_fil = Xobd_rdr.Find_fil_by(wiki.Fsys_mgr().Root_dir(), "*-image.sql"); - if (src_fil == null) throw Exc_.new_(".sql file not found in dir", "dir", wiki.Fsys_mgr().Root_dir()); + if (src_fil == null) throw Err_.new_wo_type(".sql file not found in dir", "dir", wiki.Fsys_mgr().Root_dir()); } parser.Src_fil_(src_fil).Trg_fil_gen_(dump_url_gen).Fld_cmd_(this).Flds_req_idx_(20, Fld_img_name, Fld_img_size, Fld_img_width, Fld_img_height, Fld_img_bits, Fld_img_media_type, Fld_img_minor_mime, Fld_img_timestamp); 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 e8ce7808e..95597811b 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 @@ -60,7 +60,7 @@ public class Xoa_css_extractor { wiki.Html__css_installing_(false); } catch (Exception e) { // if error, failover; paranoia catch for outliers like bad network connectivity fail, or MediaWiki: message not existing; DATE:2013-11-21 - wiki.App().Usr_dlg().Warn_many("", "", "failed to get css; failing over; wiki='~{0}' err=~{1}", wiki.Domain_str(), Err_.Message_gplx(e)); + wiki.App().Usr_dlg().Warn_many("", "", "failed to get css; failing over; wiki='~{0}' err=~{1}", wiki.Domain_str(), Err_.Message_gplx_full(e)); Css_common_failover(); // only failover xowa_common.css; xowa_wiki.css comes from MediaWiki:Common.css / Vector.css wiki.Html__css_installing_(false); } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java index 22b6e8c20..30c98f25e 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader.java @@ -45,7 +45,7 @@ public class Xoa_css_img_downloader { if (url_pos == Bry_.NotFound) {bfr.Add_mid(src, prv_pos, src_len); break;} // no more "url("; exit; int bgn_pos = url_pos + Bry_url_len; // set bgn_pos after "url(" byte bgn_byte = src[bgn_pos]; - byte end_byte = Byte_ascii.Nil; + byte end_byte = Byte_ascii.Null; boolean quoted = true; switch (bgn_byte) { // find end_byte case Byte_ascii.Quote: case Byte_ascii.Apos: // quoted; end_byte is ' or " @@ -99,7 +99,7 @@ public class Xoa_css_img_downloader { return bfr.Xto_bry_and_clear(); } catch (Exception e) { - usr_dlg.Warn_many("", "", "failed to convert local_urls: ~{0} ~{1}", String_.new_u8(rel_url_prefix), Err_.Message_gplx(e)); + usr_dlg.Warn_many("", "", "failed to convert local_urls: ~{0} ~{1}", String_.new_u8(rel_url_prefix), Err_.Message_gplx_full(e)); return src; } } diff --git a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java index 7407eeb2a..0d8e7b987 100644 --- a/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/css/Xoa_css_img_downloader_tst.java @@ -115,7 +115,7 @@ 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_u8("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail + fxt.Downloader().Stylesheet_prefix_(Bry_.new_a7("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 @@ -144,7 +144,7 @@ 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_u8("mem")); // stylesheet prefix prefix defaults to ""; set to "mem", else test will try to retrieve "//url" which will fail + fxt.Downloader().Stylesheet_prefix_(Bry_.new_a7("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 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 981cfc15b..430ee8b9b 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 @@ -30,7 +30,7 @@ class Xob_css_parser__url { break; default: // not quoted; end byte is ")"; EX: ' url(a.png)' end_byte = Byte_ascii.Paren_end; - quote_byte = Byte_ascii.Nil; + quote_byte = Byte_ascii.Null; break; } int end_pos = Bry_finder.Find_fwd(src, end_byte, bgn_pos, src_len); 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 0d6c085c4..47a59d879 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 @@ -62,7 +62,7 @@ class Xob_css_tkn__url extends Xob_css_tkn__base { 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; + byte quote = quote_byte; if (quote == Byte_ascii.Null) quote = Byte_ascii.Apos; 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: ')' @@ -102,7 +102,7 @@ class Xob_css_tkn__import extends Xob_css_tkn__base { mgr.Code_add(src_url); } @Override public int Write(Bry_bfr bfr, byte[] src) { - byte quote = quote_byte; if (quote == Byte_ascii.Nil) quote = Byte_ascii.Apos; + byte quote = quote_byte; if (quote == Byte_ascii.Null) quote = Byte_ascii.Apos; 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: ')' 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 1ec93187e..4f22d89c7 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(Hash_adp args) {throw Exc_.new_unimplemented();} + public void Val_from_args(Hash_adp args) {throw Err_.new_unimplemented();} 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/langs/Json_itm_wkr__base.java b/400_xowa/src/gplx/xowa/bldrs/langs/Json_itm_wkr__base.java index bb4148a37..0bd9b7c57 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 @@ -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.bldrs.langs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import gplx.core.primitives.*; import gplx.json.*; import gplx.php.*; import gplx.gfs.*; +import gplx.core.primitives.*; import gplx.core.json.*; import gplx.php.*; import gplx.gfs.*; interface Json_itm_wkr { void Read_kv_sub(byte[] key, byte[] val); } @@ -27,10 +27,10 @@ abstract class Json_itm_wkr__base implements Json_itm_wkr { 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(); - int subs_len = root.Subs_len(); + Json_nde root = jdoc.Root(); + int subs_len = root.Len(); for (int i = 0; i < subs_len; ++i) { - Json_itm itm = root.Subs_get_at(i); + Json_itm itm = root.Get_at(i); switch (itm.Tid()) { case Json_itm_.Tid_kv: Json_itm_kv kv = (Json_itm_kv)itm; 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 5a8a31a0e..523f3f78f 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 @@ -53,7 +53,7 @@ public class Xobc_utl_make_lang_kwds implements GfoInvkAble, Xol_lang_transform 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 Exc_.new_("could not find kwd for key", "key", String_.new_u8(cfg_grp.Key())); + if (kwd_id == -1) throw Err_.new_wo_type("could not find kwd for key", "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) { 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 aad1eab82..47ff28782 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_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_keep_trailing_colon(Bry_.new_a7("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_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_prepend_hash(Bry_.new_a7("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_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl + fxt.Kwd_mgr().Parse_add_words(Bry_.new_a7("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_u8("fr"), Bry_.new_u8(String_.Concat_lines_nl + fxt.Mgr().Parse_manual_text(Bry_.new_a7("fr"), Bry_.new_u8(String_.Concat_lines_nl ( "app;" )) , fxt.Mgr().Manual_text_end_hash()); 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 8297d4e0a..baf67bb0f 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 @@ -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.bldrs.langs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.intl.*; import gplx.php.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.core.consoles.*; import gplx.intl.*; import gplx.php.*; import gplx.xowa.apps.fsys.*; import gplx.xowa.langs.*; import gplx.xowa.langs.numbers.*; public class Xol_mw_lang_parser { private Php_parser parser = new Php_parser(); private Php_evaluator evaluator; @@ -76,7 +76,7 @@ public class Xol_mw_lang_parser { 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) {Exc_.Noop(exc); Tfds.WriteText("failed to parse " + url.NameOnly() + Err_.Message_gplx_brief(exc) + "\n");} + } catch (Exception exc) {Err_.Noop(exc); Console_adp__sys.I.Write_str_w_nl("failed to parse " + url.NameOnly() + Err_.Message_gplx_full(exc));} } } private void Parse_file_xtns_php(Xoa_lang_mgr lang_mgr, Io_url mediawiki_root, Bry_bfr bfr, Xol_lang_transform lang_transform) { @@ -89,7 +89,7 @@ public class Xol_mw_lang_parser { 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) {Exc_.Noop(exc); Tfds.WriteText("failed to parse " + url.NameOnly() + Err_.Message_gplx_brief(exc));} + } catch (Exception exc) {Err_.Noop(exc); Console_adp__sys.I.Write_str_w_nl("failed to parse " + url.NameOnly() + Err_.Message_gplx_full(exc));} } } private void Parse_file_json(Xoa_lang_mgr lang_mgr, Bry_bfr bfr, Xol_lang_transform lang_transform, Io_url root_dir) { @@ -104,7 +104,7 @@ public class Xol_mw_lang_parser { try { 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) {Exc_.Noop(exc); Tfds.WriteText(String_.Format("failed to parse json file; url={0} err={1}\n", fil.Raw(), Err_.Message_gplx_brief(exc)));} + } catch (Exception exc) {Err_.Noop(exc); Console_adp__sys.I.Write_str_w_nl(String_.Format("failed to parse json file; url={0} err={1}\n", fil.Raw(), Err_.Message_gplx_full(exc)));} } } } @@ -191,14 +191,14 @@ public class Xol_mw_lang_parser { break; case Tid_magicwords: if (line.Key_subs().length == 0) continue; // ignore lines like $magicWords = array(); - if (line.Key_subs().length > 1) throw Exc_.new_("magicWords in xtn must have only 1 accessor", "len", line.Key_subs().length); + if (line.Key_subs().length > 1) throw Err_.new_wo_type("magicWords in xtn must have only 1 accessor", "len", line.Key_subs().length); Php_key accessor = line.Key_subs()[0]; byte[] accessor_bry = accessor.Val_obj_bry(); if (Bry_.Eq(accessor_bry, lang_key)) // accessor must match lang_key Parse_magicwords(line, lang.Key_bry(), lang.Kwd_mgr(), prepend_hash, lang_transform); break; } - } catch (Exception exc) {Exc_.Noop(exc); Tfds.WriteText("failed to parse " + url.NameOnly() + Err_.Message_gplx_brief(exc) + "\n");} + } catch (Exception exc) {Err_.Noop(exc); Console_adp__sys.I.Write_str_w_nl("failed to parse " + url.NameOnly() + Err_.Message_gplx_full(exc));} } } } @@ -292,7 +292,7 @@ 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 Exc_.new_("value must be 0 or 1", "val", String_.new_u8(itm.Val_obj_bry())); + if (rv == Int_.MinValue) throw Err_.new_wo_type("value must be 0 or 1", "val", String_.new_u8(itm.Val_obj_bry())); return rv == 1; } private void Parse_separatorTransformTable(Php_line_assign line, Xol_num_mgr num_mgr) { @@ -310,7 +310,7 @@ public class Xol_mw_lang_parser { || Bry_.Eq(key_bry, Bry_separatorTransformTable_comma) ) num_mgr.Separators_mgr().Set(key_bry, val_bry); - else throw Exc_.new_unhandled(String_.new_u8(key_bry)); // NOTE: as of v1.22.2, all Messages only have a key of "." or "," DATE:2014-04-15 + else throw Err_.new_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) { 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 b2799dca3..dbcb343d3 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 @@ -262,7 +262,7 @@ class Xol_mw_lang_parser_fxt { 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_.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 Exc_.new_("list should not be null"); + Xol_kwd_grp lst = lang.Kwd_mgr().Get_at(id); if (lst == null) throw Err_.new_wo_type("list should not be null"); Tfds.Eq(case_sensitive, lst.Case_match()); int actl_len = lst.Itms().length; String[] actl = new String[actl_len]; 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 b4cdfefe4..756034073 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 @@ -39,7 +39,7 @@ class Xob_subpage_parser { } } catch (Exception e) { - throw Exc_.new_exc(e, "xo", "parse failed", "src", String_.new_u8(src)); + throw Err_.new_exc(e, "xo", "parse failed", "src", String_.new_u8(src)); } return (Xob_subpage_wiki[])wikis_list.To_ary(Xob_subpage_wiki.class); } @@ -62,7 +62,7 @@ class Xob_subpage_parser { case Php_itm_.Tid_var: return Xol_mw_lang_parser.Id_by_mw_name(((Php_itm)itm).Val_obj_bry()); default: - throw Exc_.new_unhandled(itm.Itm_tid()); + throw Err_.new_unhandled(itm.Itm_tid()); } } private boolean Parse_ns_enabled(Php_itm itm) { @@ -74,7 +74,7 @@ class Xob_subpage_parser { case Php_itm_.Tid_bool_true: return true; default: - throw Exc_.new_unhandled(itm.Itm_tid()); + throw Err_.new_unhandled(itm.Itm_tid()); } } } 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 62065f21a..641372cd2 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 @@ -30,7 +30,7 @@ public class Xob_import_cfg { if (src_fil_xml == null && src_fil_bz2 == null) return wiki.Fsys_mgr().Root_dir(); else if (src_fil_xml != null) return src_fil_xml.OwnerDir(); else if (src_fil_bz2 != null) return src_fil_bz2.OwnerDir(); - else throw Exc_.new_("unknown src dir"); + else throw Err_.new_wo_type("unknown src dir"); } public Io_stream_rdr Src_rdr() { if (src_fil_xml == null && src_fil_bz2 == null) { // will usually be null; non-null when user specifies src through command-line 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 09f802a2e..201bcfea2 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 @@ -40,7 +40,7 @@ public class Xob_import_marker { 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 case Gfui_dlg_msg_.Btn_cancel: return true; // noop - default: throw Exc_.new_unhandled(rslt); + default: throw Err_.new_unhandled(rslt); } } private static Io_url url_(Xowe_wiki wiki) { 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 9d08c0af5..cf60a31ed 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 @@ -27,7 +27,7 @@ public class Xob_siteinfo_parser { int end = Bry_finder.Find_fwd(src, Bry_siteinfo_end, bgn); if (end == Bry_.NotFound) return null; return Bry_.Mid(src, bgn, end + Bry_siteinfo_end.length); } - catch (Exception e) {Exc_.Noop(e); return null;} + catch (Exception e) {Err_.Noop(e); return null;} finally {rdr.Rls();} } public static void Siteinfo_parse(Xowe_wiki wiki, Gfo_usr_dlg usr_dlg, String siteinfo_str) { @@ -42,7 +42,7 @@ public class Xob_siteinfo_parser { || 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_u8(mainpage_url)); if (mainpage_name == null) throw Exc_.new_("could not extract mainpage", "mainpage", mainpage_url); + byte[] mainpage_name = Siteinfo_parse_mainpage(Bry_.new_u8(mainpage_url)); if (mainpage_name == null) throw Err_.new_wo_type("could not extract mainpage", "mainpage", mainpage_url); wiki.Props().Main_page_(mainpage_name); } else if ( String_.Eq(sub_nde.Name(), "namespaces")) { @@ -59,7 +59,7 @@ public class Xob_siteinfo_parser { 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 Exc_.new_("could not parse main page url", "url", String_.new_u8(url)); + if (bgn_pos == Bry_.NotFound) throw Err_.new_wo_type("could not parse main page url", "url", String_.new_u8(url)); ++bgn_pos; // add 1 to position after slash } else // "/wiki/" found @@ -79,7 +79,7 @@ public class Xob_siteinfo_parser { String name = sub_nde.Text_inner(); ns_mgr.Add_new(ns_id, Bry_.new_u8(name), case_match, false); } - catch (Exception e) {throw Exc_.new_exc(e, "xo", "parse failed", "inner", sub_nde.Text_inner());} + catch (Exception e) {throw Err_.new_exc(e, "xo", "parse failed", "inner", sub_nde.Text_inner());} } ns_mgr.Init_w_defaults(); } 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 df4c33412..c7f848bb6 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 @@ -106,7 +106,7 @@ public class Xob_xml_parser { case Xob_xml_parser_.Id_id_bgn_frag: case Xob_xml_parser_.Id_timestamp_bgn_frag: data_bgn = pos; /*warn*/ break; - default: throw Exc_.new_unhandled(itm.Tid()); // shouldn't happen + default: throw Err_.new_unhandled(itm.Tid()); // shouldn't happen } } } 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 f4d451482..5ae8d13e2 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 @@ -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_u8("\"a & b <> a | b\"")), 0); + tst_parse(fil, doc.Text_(Bry_.new_a7("\"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_u8("a b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_a7("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_u8("a \t b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_a7("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_u8("a \n b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_a7("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_u8("a \n b")), 0); + tst_parse(fil, doc.Text_(Bry_.new_a7("a \n b")), 0); } @Test public void Text_long() { String s = String_.Repeat("a", 1024); 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 562a9cd7b..81259084e 100644 --- a/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs/Xoa_cfg_mgr.java @@ -78,7 +78,7 @@ public class Xoa_cfg_mgr implements GfoInvkAble { return Eval_set(wiki, grp.Key_str(), itm.Val()); } default: - throw Exc_.new_unhandled(tid_byte); + throw Err_.new_unhandled(tid_byte); } } public void Reset_all() { 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 d17aeb9d6..cf3c77c48 100644 --- a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_bnd_mgr.java @@ -34,7 +34,7 @@ public class Xocfg_bnd_mgr implements GfoInvkAble, Gfo_sort_able { int len = bnd_mgr.Len(); for (int i = 0; i < len; i++) { Xog_bnd_itm bnd = bnd_mgr.Get_at(i); - Xog_cmd_itm cmd = cmd_mgr.Get_or_null(bnd.Cmd()); if (cmd == null) throw Exc_.new_unhandled(bnd.Cmd()); + Xog_cmd_itm cmd = cmd_mgr.Get_or_null(bnd.Cmd()); if (cmd == null) throw Err_.new_unhandled(bnd.Cmd()); Xocfg_bnd_itm cfg_itm = new Xocfg_bnd_itm(this, cmd, bnd); regy.Add(bnd.Key(), cfg_itm); } @@ -48,7 +48,7 @@ public class Xocfg_bnd_mgr implements GfoInvkAble, Gfo_sort_able { 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_u8(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_full(e)); } } private void Show_shortcut_win(String uid, String name, String binding) { diff --git a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_regy.java b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_regy.java index 3d6cfb9df..997c0e674 100644 --- a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_regy.java +++ b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_regy.java @@ -23,7 +23,7 @@ public class Xocfg_regy implements GfoInvkAble { public Xocfg_root App() {return app_cfg;} private Xocfg_root app_cfg; public Xocfg_root Get_or_null(String key) { if (String_.Eq(key, Key_app)) return app_cfg; - else throw Exc_.new_unhandled(key); + else throw Err_.new_unhandled(key); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_get)) return Get_or_null(m.ReadStrOr("v", Key_app)); diff --git a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_tab_new_mgr.java b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_tab_new_mgr.java index 766489c6d..ebb570e72 100644 --- a/400_xowa/src/gplx/xowa/cfgs2/Xocfg_tab_new_mgr.java +++ b/400_xowa/src/gplx/xowa/cfgs2/Xocfg_tab_new_mgr.java @@ -35,7 +35,7 @@ class Xocfg_new_tab_pos { else if (String_.Eq(v, Key_all_end)) return Tid_all_end; else if (String_.Eq(v, Key_cur_prv)) return Tid_all_end; else if (String_.Eq(v, Key_cur_nxt)) return Tid_all_end; - else throw Exc_.new_unhandled(v); + else throw Err_.new_unhandled(v); } public static String Xto_str(byte v) { switch (v) { @@ -43,7 +43,7 @@ class Xocfg_new_tab_pos { case Tid_all_end: return Key_all_end; case Tid_cur_prv: return Key_cur_prv; case Tid_cur_nxt: return Key_cur_nxt; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } public static KeyVal[] Options__all = KeyVal_.Ary(KeyVal_.new_(Key_all_bgn), KeyVal_.new_(Key_all_end), KeyVal_.new_(Key_cur_prv), KeyVal_.new_(Key_cur_nxt)); 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 46419beba..367f8f445 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoa_ctg_mgr.java @@ -28,7 +28,7 @@ public class Xoa_ctg_mgr implements GfoInvkAble { case Missing_ctg_cls_normal_tid: return Missing_ctg_cls_normal_css; case Missing_ctg_cls_hide_tid: return Missing_ctg_cls_hide_css; case Missing_ctg_cls_red_tid: return Missing_ctg_cls_red_css; - default: throw Exc_.new_unhandled(missing_ctg_cls_tid); + default: throw Err_.new_unhandled(missing_ctg_cls_tid); } } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { @@ -49,14 +49,14 @@ public class Xoa_ctg_mgr implements GfoInvkAble { if (String_.Eq(v, Missing_ctg_cls_normal_str)) return Missing_ctg_cls_normal_tid; else if (String_.Eq(v, Missing_ctg_cls_hide_str)) return Missing_ctg_cls_hide_tid; else if (String_.Eq(v, Missing_ctg_cls_red_str)) return Missing_ctg_cls_red_tid; - else throw Exc_.new_unhandled(v); + else throw Err_.new_unhandled(v); } private static String Missing_ctg_cls_tid_print(byte v) { switch (v) { case Missing_ctg_cls_normal_tid: return Missing_ctg_cls_normal_str; case Missing_ctg_cls_hide_tid: return Missing_ctg_cls_hide_str; case Missing_ctg_cls_red_tid: return Missing_ctg_cls_red_str; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } public static final byte Version_null = Byte_.Zero, Version_1 = 1, Version_2 = 2; 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 c42d4efd7..61e5be82f 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_fmtr_all.java @@ -37,7 +37,7 @@ class Xoctg_fmtr_all { case Xoa_ctg_mgr.Tid_subc: grps_enabled = Bool_.Y; msg_id_label = Xol_msg_itm_.Id_ctg_subc_label ; msg_id_stats = Xol_msg_itm_.Id_ctg_subc_count; div_id = Div_id_subc; url_arg_bgn = Url_arg_subc_bgn; url_arg_end = Url_arg_subc_end; this.fmtr_itm = Xoctg_fmtr_itm_subc._; break; case Xoa_ctg_mgr.Tid_page: grps_enabled = Bool_.Y; msg_id_label = Xol_msg_itm_.Id_ctg_page_header; msg_id_stats = Xol_msg_itm_.Id_ctg_page_count; div_id = Div_id_page; url_arg_bgn = Url_arg_page_bgn; url_arg_end = Url_arg_page_end; this.fmtr_itm = Xoctg_fmtr_itm_page._; break; case Xoa_ctg_mgr.Tid_file: grps_enabled = Bool_.Y; msg_id_label = Xol_msg_itm_.Id_ctg_file_header; msg_id_stats = Xol_msg_itm_.Id_ctg_file_count; div_id = Div_id_file; url_arg_bgn = Url_arg_file_bgn; url_arg_end = Url_arg_file_end; this.fmtr_itm = Xoctg_fmtr_itm_file._; break; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } html_all.Fmt_(String_.Concat_lines_nl_skip_last ( "" @@ -103,7 +103,7 @@ class Xoctg_fmtr_all { // , "" // )); break; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public byte[] Bld_bwd_fwd(Xowe_wiki wiki, Xoa_ttl ttl, Xoctg_view_grp view_grp) { 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 5bc3d1812..a53669908 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_u8(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_full(e)); } } private Xoctg_url url_ctg = new Xoctg_url(); private void Bld_html_v2(Xowe_wiki wiki, Xoae_page page, Bry_bfr bfr) { @@ -104,7 +104,7 @@ public class Xoctg_html_mgr implements GfoInvkAble { case Xoa_ctg_mgr.Tid_subc: return mgr_subcs; case Xoa_ctg_mgr.Tid_page: return mgr_pages; case Xoa_ctg_mgr.Tid_file: return mgr_files; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public static final int Grp_max_default = 200; 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 547289f9f..8acfa1f92 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java @@ -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 Exc_.new_("ctg_idx_mgr could not find pipe.next", "ctg", String_.new_a7(ctg), "pos", i); + pipe_pos_cur = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, i, len); if (pipe_pos_cur == Bry_.NotFound) throw Err_.new_wo_type("ctg_idx_mgr could not find pipe.next", "ctg", String_.new_a7(ctg), "pos", 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 Exc_.new_("Ctg_idx_mgr could not find pipe.end", "ctg", String_.new_a7(ctg), "pos", bgn); + int end = Bry_finder.Find_fwd(src, Byte_ascii.Pipe, bgn, len); if (end == Bry_.NotFound) throw Err_.new_wo_type("Ctg_idx_mgr could not find pipe.end", "ctg", String_.new_a7(ctg), "pos", bgn); fld_rdr.Pos_(bgn); Xoctg_idx_itm itm = new Xoctg_idx_itm().Parse(fld_rdr, bgn); itms.Add(itm); diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_ctg.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_ctg.java index 5c7a607d8..dd46a7eb1 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_ctg.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_ctg.java @@ -27,7 +27,7 @@ public class Xoctg_view_ctg { case Xoa_ctg_mgr.Tid_subc: return subcs; case Xoa_ctg_mgr.Tid_page: return pages; case Xoa_ctg_mgr.Tid_file: return files; - default: throw Exc_.new_unhandled(tid); + default: throw Err_.new_unhandled(tid); } } public boolean Hidden() {return hidden;} private boolean hidden; 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 233c40c4b..bbbb7194e 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_view_grp.java @@ -30,8 +30,8 @@ public class Xoctg_view_grp { public Xoctg_view_itm Itms_at_first() {return Itms_at(0);} public Xoctg_view_itm Itms_at_last() {return Itms_at(itms.length - 1);} Xoctg_view_itm Itms_at(int i) { - if (i < 0 || i >= itms.length) throw Exc_.new_("ctg.view: i is out of bounds", "i", i, "len", itms.length, "tid", tid); - Xoctg_view_itm rv = itms[i]; if (rv == null) throw Exc_.new_("ctg.view: itm is null", "i", i, "len", itms.length, "tid", tid); + if (i < 0 || i >= itms.length) throw Err_.new_wo_type("ctg.view: i is out of bounds", "i", i, "len", itms.length, "tid", tid); + Xoctg_view_itm rv = itms[i]; if (rv == null) throw Err_.new_wo_type("ctg.view: itm is null", "i", i, "len", itms.length, "tid", tid); return rv; } public void Itms_add(Xoctg_view_itm sub) {tmp_list.Add(sub);} 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 c917a032e..3afa13eff 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 @@ -67,7 +67,7 @@ public class Xodb_load_mgr_sql implements Xodb_load_mgr { Xowd_category_itm ctg = fsys_mgr.Db__cat_core().Tbl__cat_core().Select(cat_page_id); if (ctg == Xowd_category_itm.Null) return false; return Ctg_select_v1(db_mgr.Wiki(), db_mgr.Core_data_mgr(), rv, ctg.File_idx(), ctg); } - public boolean Load_ctg_v2(Xoctg_data_ctg rv, byte[] ctg_bry) {throw Exc_.new_unimplemented();} + public boolean Load_ctg_v2(Xoctg_data_ctg rv, byte[] ctg_bry) {throw Err_.new_unimplemented();} 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; 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 0e3778da1..e833fea48 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 @@ -169,7 +169,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { case Xoa_ctg_mgr.Tid_subc: count = count_subcs; break; case Xoa_ctg_mgr.Tid_file: count = count_files; break; case Xoa_ctg_mgr.Tid_page: count = count_pages; break; - default: throw Exc_.new_unhandled(i); + default: throw Err_.new_unhandled(i); } idx_mgr.Total_(count); } @@ -327,7 +327,7 @@ public class Xodb_load_mgr_txt implements Xodb_load_mgr { int bgn = pos + 1 + (i * (Base85_utl.Len_int + gplx.xowa.apps.progs.Xoa_prog_mgr.Len_dlm_fld)); try { int id = Base85_utl.XtoIntByAry(ary, bgn, bgn + Base85_utl.Len_int - 1); - if (id < 0) throw Exc_.new_("invalid id", "id", id); + if (id < 0) throw Err_.new_wo_type("invalid id", "id", id); row.Id_(id); } catch (Exception e) { 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 20b6d435d..4928757af 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_txt.java @@ -42,7 +42,7 @@ public class Xodb_mgr_txt implements Xodb_mgr { return category_version; } byte category_version = Xoa_ctg_mgr.Version_null; public byte Search_version() {return gplx.xowa.specials.search.Xows_page__search.Version_2;} - public void Search_version_refresh() {throw Exc_.new_unimplemented();} + public void Search_version_refresh() {throw Err_.new_unimplemented();} public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (ctx.Match(k, Invk_data_storage_format)) return Io_stream_.Obsolete_to_str(data_storage_format); else if (ctx.Match(k, Invk_data_storage_format_)) data_storage_format = Io_stream_.Obsolete_to_tid(m.ReadStr("v")); 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 74bf69a6a..ef8ed2cb4 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 Exc_.new_("create requested but title already exists", "ttl", String_.new_u8(ttl_bry)); + if (found) throw Err_.new_wo_type("create requested but title already exists", "ttl", 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++; @@ -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 Exc_.new_("update requested but title does not exist", "ttl", String_.new_u8(ttl_bry)); + if (!load_mgr.Load_by_ttl(db_page, ns, ttl_bry)) throw Err_.new_wo_type("update requested but title does not exist", "ttl", 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_ext_.java b/400_xowa/src/gplx/xowa/files/Xof_ext_.java index 5cbcfedb2..9546f8cbb 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_ext_.java +++ b/400_xowa/src/gplx/xowa/files/Xof_ext_.java @@ -72,7 +72,7 @@ public class Xof_ext_ { private static final Xof_ext[] Ary = new Xof_ext[Id__max]; public static byte[] Get_ext_by_id_(int id) { - if (id < 0 || id >= Id__max) throw Exc_.new_("index out of bounds", "id", id); + if (id < 0 || id >= Id__max) throw Err_.new_wo_type("index out of bounds", "id", id); return Bry__ary[id]; } public static int Get_id_by_ext_(byte[] ext_bry) { 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 475ad9cfc..d36ae47ef 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_file_wkr.java @@ -84,7 +84,7 @@ public class Xof_file_wkr implements Gfo_thread_wkr { cache_mgr.Update(fsdb); return true; } catch (Exception e) { - usr_dlg.Warn_many("", "", "file.unknown: ~{0}", Err_.Message_gplx_brief(e)); + usr_dlg.Warn_many("", "", "file.unknown: err=~{0}", Err_.Message_gplx_full(e)); return false; } } @@ -128,7 +128,7 @@ public class Xof_file_wkr implements Gfo_thread_wkr { 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)); + 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_full(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 index 5c6d35da7..a0b6cd540 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_file_wkr_.java +++ b/400_xowa/src/gplx/xowa/files/Xof_file_wkr_.java @@ -16,9 +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.files; import gplx.*; import gplx.xowa.*; +import gplx.core.consoles.*; 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_fast(byte[] v) {return Bry_.new_a7(gplx.security.HashAlgo_.Md5.CalcHash(Console_adp_.Noop, 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 diff --git a/400_xowa/src/gplx/xowa/files/Xof_wkr_mgr.java b/400_xowa/src/gplx/xowa/files/Xof_wkr_mgr.java index 55753c821..ce353df42 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_wkr_mgr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_wkr_mgr.java @@ -30,7 +30,7 @@ class Xof_wkr_mgr implements GfoInvkAble { if (String_.Eq(key, "fs.dir")) rv = new gplx.xowa.files.fsdb.fs_roots.Fs_root_fsdb_mgr(file_mgr.Wiki()); else - throw Exc_.new_unhandled(key); + throw Err_.new_unhandled(key); file_mgr.Fsdb_mgr_(rv); return rv; } 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 4c60d4907..0413caf50 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java +++ b/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java @@ -25,7 +25,7 @@ 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.I.CopyFil(src, trg, true); return true;} - catch (Exception exc) {Exc_.Noop(exc); return false;} + catch (Exception exc) {Err_.Noop(exc); return false;} } public boolean Save_as_bry(Bry_obj_ref bry_ref) { try { @@ -33,7 +33,7 @@ class Bin_fetcher_fsys implements Bin_fetcher { bry_ref.Val_(bry); return true; } - catch (Exception exc) {Exc_.Noop(exc); return false;} + catch (Exception exc) {Err_.Noop(exc); return false;} } } class Bin_fetcher_http implements Bin_fetcher { @@ -48,7 +48,7 @@ class Bin_fetcher_http implements Bin_fetcher { bry_ref.Val_(rv); return true; } - catch (Exception exc) {Exc_.Noop(exc); return false;} + catch (Exception exc) {Err_.Noop(exc); return false;} } } class Bin_fetcher_fsdb { 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 d69c2b10a..2bb924ac2 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 @@ -39,7 +39,7 @@ public class Xof_bin_skip_mgr { Xof_bin_skip_wkr rv = null; if (String_.Eq(key, Xof_bin_skip_wkr_.Key__page_gt_1)) rv = Xof_bin_skip_wkr__page_gt_1.I; else if (String_.Eq(key, Xof_bin_skip_wkr_.Key__small_size)) rv = Xof_bin_skip_wkr__small_size.I; - else throw Exc_.new_unhandled(key); + else throw Err_.new_unhandled(key); if (!rv.Skip_init(cfg_mgr)) return null; return rv; } 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 1669930a8..d56f8e885 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 @@ -38,14 +38,14 @@ public class Xof_cache_mgr implements GfoInvkAble { dir_mgr.Save_all(); fil_mgr.Save_all(); cfg_mgr.Save_all(); // always save cfg_mgr last; fil_mgr / dir_mgr may change next_id during failed saves; DATE:2014-03-07 - } catch (Exception e) {usr_dlg.Warn_many("", "", "cache_mgr.save:fatal error: err=~{0}", Err_.Message_gplx_brief(e));} + } catch (Exception e) {usr_dlg.Warn_many("", "", "cache_mgr.save:fatal error: err=~{0}", Err_.Message_gplx_full(e));} } public void Db_term() { try { cfg_mgr.Cleanup(); dir_mgr.Cleanup(); fil_mgr.Cleanup(); - } catch (Exception e) {usr_dlg.Warn_many("", "", "cache_mgr.term:fatal error: err=~{0}", Err_.Message_gplx_brief(e));} + } catch (Exception e) {usr_dlg.Warn_many("", "", "cache_mgr.term:fatal error: err=~{0}", Err_.Message_gplx_full(e));} } 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) { 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 c3fa0d999..121c2c972 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 @@ -50,13 +50,13 @@ class Xofc_dir_tbl implements RlsAble { case Db_cmd_mode.Tid_update: stmt.Clear() .Val_bry_as_str(fld_name, itm.Name()).Crt_int(fld_id, itm.Id()).Exec_update(); break; case Db_cmd_mode.Tid_delete: stmt.Clear().Crt_int(fld_id, itm.Id()).Exec_delete(); break; case Db_cmd_mode.Tid_ignore: break; - default: throw Exc_.new_unhandled(itm.Cmd_mode()); + default: throw Err_.new_unhandled(itm.Cmd_mode()); } itm.Cmd_mode_(Db_cmd_mode.Tid_ignore); return null; } catch (Exception e) { stmt_bldr.Rls(); // rls bldr, else bad stmt will lead to other failures - return Err_.Message_gplx_brief(e); + return Err_.Message_gplx_full(e); } } public void Cleanup() { 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 fa5ae6725..7d0491bc0 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 @@ -113,7 +113,7 @@ class Xofc_fil_mgr { this.Save_all(); // save everything again } catch (Exception e) { - usr_dlg.Warn_many("", "", "failed to compress cache: err=~{0}", Err_.Message_gplx_brief(e)); + usr_dlg.Warn_many("", "", "failed to compress cache: err=~{0}", Err_.Message_gplx_full(e)); } finally {tbl.Conn().Txn_end();} } 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 22ddf9758..df4e74de6 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 @@ -68,13 +68,13 @@ class Xofc_fil_tbl implements RlsAble { case Db_cmd_mode.Tid_update: stmt.Clear(); Db_save_modify(stmt, itm); stmt.Crt_int(fld_uid, itm.Uid()).Exec_update(); break; case Db_cmd_mode.Tid_delete: stmt.Clear().Crt_int(fld_uid, itm.Uid()); stmt.Exec_delete(); break; case Db_cmd_mode.Tid_ignore: break; - default: throw Exc_.new_unhandled(itm.Cmd_mode()); + default: throw Err_.new_unhandled(itm.Cmd_mode()); } itm.Cmd_mode_(Db_cmd_mode.Tid_ignore); return null; } catch (Exception e) { stmt_bldr.Rls(); // null out bldr, else bad stmt will lead to other failures - return Err_.Message_gplx_brief(e); + return Err_.Message_gplx_full(e); } } private void Db_save_modify(Db_stmt stmt, Xofc_fil_itm itm) { 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 index 049154ba3..1d682538d 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_mgr.java @@ -152,7 +152,7 @@ public class Xou_cache_mgr { 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;} + catch (Exception e) {Xoa_app_.Usr_dlg().Warn_many("", "", "failed to compress cache: err=~{0}", Err_.Message_gplx_full(e)); return;} } Xoa_app_.Usr_dlg().Note_many("", "", "cache compress done"); } 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 index d7aa0b200..d274fc427 100644 --- a/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl.java +++ b/400_xowa/src/gplx/xowa/files/caches/Xou_cache_tbl.java @@ -107,10 +107,10 @@ public class Xou_cache_tbl implements RlsAble { 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 Exc_.new_unhandled(itm.Db_state()); + default: throw Err_.new_unhandled(itm.Db_state()); } itm.Db_state_(Db_cmd_mode.Tid_ignore); - } catch (Exception e) {stmt_bldr.Rls(); throw Exc_.new_exc(e, "xo", "db_save failed");} + } catch (Exception e) {stmt_bldr.Rls(); throw Err_.new_exc(e, "xo", "db_save failed");} } @gplx.Internal protected Db_rdr Select_all_for_test() {return conn.Stmt_select(tbl_name, flds, Db_meta_fld.Ary_empty).Exec_select__rls_manual();} private void Db_save_crt(Db_stmt stmt, Xou_cache_itm itm, boolean insert) { 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 index ad3b08b3e..87c174b60 100644 --- 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 @@ -55,7 +55,7 @@ public class Xou_file_itm_finder { 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)); + Xoa_app_.Usr_dlg().Warn_many("", "", "failed to find img: img=~{0} err=~{1}", lnki_ttl, Err_.Message_gplx_log(e)); return false; } } 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 a0496654c..784469b6c 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 @@ -21,7 +21,7 @@ public class Xof_img_wkr_resize_img_mok implements Xof_img_wkr_resize_img { public boolean Resize_exec(Io_url src, Io_url trg, int trg_w, int trg_h, int ext_id, String_obj_ref rslt_val) { SizeAdp src_size = ImageAdp_.txt_fil_(src).Size(); int src_w = src_size.Width(), src_h = src_size.Height(); - if (trg_w < 1) throw Exc_.new_("trg_w must be > 0", "trg_w", trg_w); + if (trg_w < 1) throw Err_.new_wo_type("trg_w must be > 0", "trg_w", trg_w); if (trg_h < 1) trg_h = Xof_xfer_itm_.Scale_h(src_w, src_h, trg_w); Io_mgr.I.SaveFilStr(trg, SizeAdp_.new_(trg_w, trg_h).XtoStr()); return true; 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 25487e7d6..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 @@ -33,7 +33,7 @@ public class Xof_download_wkr_io implements Xof_download_wkr { Io_url src_url = Io_url_.new_fil_(src_str); 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) {Exc_.Noop(exc); return IoEngine_xrg_downloadFil.Rslt_fail_unknown;} + 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 a992a0665..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 @@ -24,7 +24,7 @@ public class Xof_download_wkr_test implements Xof_download_wkr { Io_url src_url = Io_url_.new_fil_(src_str); 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) {Exc_.Noop(exc); return IoEngine_xrg_downloadFil.Rslt_fail_unknown;} + 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/fsdb/Xof_fsdb_mgr__sql.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr__sql.java index 7d592395d..1dddbbc5f 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 @@ -41,7 +41,7 @@ public class Xof_fsdb_mgr__sql implements Xof_fsdb_mgr, GfoInvkAble { 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 e) {throw Exc_.new_exc(e, "xo", "failed to initialize fsdb_mgr}", "wiki", wiki.Domain_str());} + } catch (Exception e) {throw Err_.new_exc(e, "xo", "failed to initialize fsdb_mgr}", "wiki", wiki.Domain_str());} } 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; 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 be484c737..a56907540 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 @@ -43,7 +43,7 @@ public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { // read ima else return GfoInvkAble_.Rv_unhandled; return this; } private static final String Invk_root_dir_ = "root_dir_", Invk_orig_dir_ = "orig_dir_", Invk_thumb_dir_ = "thumb_dir_"; - public Xof_bin_mgr Bin_mgr() {throw Exc_.new_unimplemented();} + public Xof_bin_mgr Bin_mgr() {throw Err_.new_unimplemented();} public Fsm_mnt_mgr Mnt_mgr() {return null;} public void Rls() {} } 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 9a38f0d6b..7c6983bca 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 @@ -66,7 +66,7 @@ public class Xof_orig_mgr { 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)); + Xoa_app_.Usr_dlg().Warn_many("", "", "orig: exc=~{0}", Err_.Message_gplx_full(e)); } } } 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 ed403d50d..b574f3297 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 @@ -73,7 +73,7 @@ public class Xof_repo_itm implements GfoInvkAble { 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 Exc_.new_unimplemented_w_msg("deprecated repo_itm.owner"); + if (ctx.Match(k, Invk_owner)) throw Err_.new_unimplemented_w_msg("deprecated repo_itm.owner"); else if (ctx.Match(k, Invk_fsys_)) fsys_is_wnt = String_.Eq(m.ReadStr("v"), "wnt"); else if (ctx.Match(k, Invk_primary_)) primary = m.ReadYn("v"); else if (ctx.Match(k, Invk_ext_rules_)) Ext_rules_(m.ReadBry("v")); 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 d766de5a7..e50628be6 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 @@ -21,7 +21,7 @@ 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[][] Mode_names_key = new byte[][] {Bry_.new_a7("orig"), Bry_.new_a7("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) { 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 baac2da97..c8c3ae2f8 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 @@ -192,7 +192,7 @@ public class Xowe_repo_mgr implements Xow_repo_mgr, GfoInvkAble { 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_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 Exc_.new_("wiki keys do not match", "src", String_.new_u8(src_wiki_key), "trg", String_.new_u8(trg_wiki_key)); + if (!Bry_.Eq(src_wiki_key, trg_wiki_key) && !Bry_.Eq(src_wiki_key, Xow_domain_type_.Key_bry_home)) throw Err_.new_wo_type("wiki keys do not match", "src", String_.new_u8(src_wiki_key), "trg", 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; diff --git a/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java index 5f46a796a..fd29a0632 100644 --- a/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java +++ b/400_xowa/src/gplx/xowa/files/xfers/Xof_xfer_mgr.java @@ -313,7 +313,7 @@ public class Xof_xfer_mgr { 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.I.MoveFil_args(trg_url, new_trg, true).Exec();} - catch (Exception exc) {Exc_.Noop(exc); return rslt.Fail("move failed");} + catch (Exception exc) {Err_.Noop(exc); return rslt.Fail("move failed");} rslt.Trg_(new_trg); } return true; @@ -331,7 +331,7 @@ public class Xof_xfer_mgr { byte download_rslt = wmf_mgr.Download_wkr().Download(src_repo_is_wmf, src_str, trg_url, wmf_mgr.Download_wkr().Download_xrg().Prog_fmt_hdr()); if (download_rslt == gplx.ios.IoEngine_xrg_downloadFil.Rslt_fail_host_not_found) { wiki.File_mgr().Cfg_download().Enabled_(false); - throw Exc_.new_("download_failed: host not found", "src", src_str, "trg", trg_url.Raw()); + throw Err_.new_wo_type("download_failed: host not found", "src", src_str, "trg", trg_url.Raw()); } pass = download_rslt == gplx.ios.IoEngine_xrg_downloadFil.Rslt_pass; } 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 64a6798ec..e6abf7346 100644 --- a/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java +++ b/400_xowa/src/gplx/xowa/gui/Xoa_gui_mgr.java @@ -92,7 +92,7 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble { 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, Xoue_user.Evt_lang_changed)) Lang_changed((Xol_lang)m.ReadObj("v", ParseAble_.Null)); - else throw Exc_.new_unhandled(k); + else throw Err_.new_unhandled(k); return this; } private static final String @@ -112,8 +112,8 @@ public class Xoa_gui_mgr implements GfoEvObj, GfoInvkAble { app.Log_wtr().Log_to_session_direct(log_bfr.Xto_str()); kit.Kit_run(); // NOTE: enters thread-loop } catch (Exception e) { - app.Usr_dlg().Warn_many("", "", "run_failed: ~{0} ~{1}", log_bfr.Xto_str(), Err_.Message_gplx(e)); - if (app.Gui_mgr().Kit() != null) app.Gui_mgr().Kit().Ask_ok("", "", Err_.Message_gplx(e)); + app.Usr_dlg().Warn_many("", "", "run_failed: ~{0} ~{1}", log_bfr.Xto_str(), Err_.Message_gplx_full(e)); + if (app.Gui_mgr().Kit() != null) app.Gui_mgr().Kit().Ask_ok("", "", Err_.Message_gplx_full(e)); } } private void layout_Init() { diff --git a/400_xowa/src/gplx/xowa/gui/Xog_resizer.java b/400_xowa/src/gplx/xowa/gui/Xog_resizer.java index be8b2f991..eec2eecca 100644 --- a/400_xowa/src/gplx/xowa/gui/Xog_resizer.java +++ b/400_xowa/src/gplx/xowa/gui/Xog_resizer.java @@ -78,7 +78,7 @@ public class Xog_resizer { try { GfuiTextBox cur_box = (GfuiTextBox)cur_elem; cur_box.Margins_set(0, txt_margin_v, 0, txt_margin_v); - } catch (Exception e) {Exc_.Noop(e);} + } catch (Exception e) {Err_.Noop(e);} } if (box.Mode() == Xog_layout_box.Mode_abs) // absolute mode; set dimensions manually cur_elem_rect.X_(box.X_abs()).Y_(box.Y_abs()).W_(box.W_abs()).H_(box.H_abs()); 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 cd4385d44..a3eba058a 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 @@ -51,7 +51,7 @@ public class Xog_bnd_box_ { else if (String_.Eq(s, Key_browser_find)) return Tid_browser_find; else if (String_.Eq(s, Key_browser_prog)) return Tid_browser_prog; else if (String_.Eq(s, Key_browser_info)) return Tid_browser_info; - else throw Exc_.new_unhandled(s); + else throw Err_.new_unhandled(s); } public static String Xto_sys_str(int v) { switch (v) { @@ -62,7 +62,7 @@ public class Xog_bnd_box_ { case Tid_browser_find: return Key_browser_find; case Tid_browser_prog: return Key_browser_prog; case Tid_browser_info: return Key_browser_info; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } public static String Xto_gui_str(int v) { @@ -74,7 +74,7 @@ public class Xog_bnd_box_ { case Tid_browser_find: return Gui_browser_find; case Tid_browser_prog: return Gui_browser_prog; case Tid_browser_info: return Gui_browser_info; - default: throw Exc_.new_unhandled(v); + default: throw Err_.new_unhandled(v); } } public static int Xby_gui_str(String s) { @@ -85,7 +85,7 @@ public class Xog_bnd_box_ { else if (String_.Eq(s, Gui_browser_find)) return Tid_browser_find; else if (String_.Eq(s, Gui_browser_prog)) return Tid_browser_prog; else if (String_.Eq(s, Gui_browser_info)) return Tid_browser_info; - else throw Exc_.new_unhandled(s); + else throw Err_.new_unhandled(s); } public static void Set_bnd_for_grp(byte mode, Xog_win_itm win, Xog_cmd_mgr_invk invk_mgr, Xog_bnd_box box, Xog_bnd_itm itm, IptArg ipt) { GfuiElem box_elem = null; @@ -97,7 +97,7 @@ public class Xog_bnd_box_ { else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_find)) box_elem = win.Find_box(); else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_prog)) box_elem = win.Prog_box(); else if (String_.Eq(grp_key, Xog_bnd_box_.Key_browser_info)) box_elem = win.Info_box(); - else throw Exc_.new_("unknown box", "grp", grp_key); + else throw Err_.new_wo_type("unknown box", "grp", grp_key); Set_bnd_for_elem(mode, box, box_elem, invk_mgr, itm, ipt); } public static void Set_bnd_for_elem(byte mode, Xog_bnd_box box, GfuiElem box_elem, Xog_cmd_mgr_invk invk_mgr, Xog_bnd_itm itm, IptArg ipt) { @@ -112,7 +112,7 @@ public class Xog_bnd_box_ { case Set_del_ipt: box_elem.IptBnds().Del_by_ipt(ipt); break; - default: throw Exc_.new_unhandled(mode); + default: throw Err_.new_unhandled(mode); } } private static void Set_bnd_for_tab(byte mode, Xog_tab_mgr tab_mgr, Xog_cmd_mgr_invk invk_mgr, Xog_bnd_box box, Xog_bnd_itm itm, IptArg ipt) { 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 983232296..8a8c83104 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 @@ -233,7 +233,7 @@ public class Xog_bnd_mgr { 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));} + } catch (Exception e) {win.Usr_dlg().Warn_many("", "", "failed to set custom binding; key=~{0} err=~{1}", new_itm.Key(), Err_.Message_gplx_full(e));} } startup_itms.Clear(); } 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 eea6eb75d..9c3164f4c 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 @@ -41,7 +41,7 @@ public class Xog_menu_mgr implements GfoInvkAble { 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)); + app.Usr_dlg().Warn_many("", "", "error while loading menus; err=~{0}", Err_.Message_gplx_full(e)); } } public void Lang_changed(Xol_lang lang) { 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 d83642d1d..adf46c88f 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 @@ -44,7 +44,7 @@ public class Xog_mnu_bldr { sub_gui = sub_gui_grp; break; } - default: throw Exc_.new_unhandled(sub_dom.Tid()); + default: throw Err_.new_unhandled(sub_dom.Tid()); } sub_dom.Under_gui_(sub_gui); } @@ -72,7 +72,7 @@ public class Xog_mnu_bldr { } // private void Add_chk(String key, String text, String shortcut, String img) { // Xog_mnu_itm rv = Add_itm(Xog_mnu_itm.Tid_chk, key, text, shortcut, img); -// Xog_cmd_itm cmd = gui_mgr.Cmd_mgr().Regy().Get_or_null(key); if (cmd == null) throw Err_.new_("unknown cmd; key={0}", key); +// Xog_cmd_itm cmd = gui_mgr.Cmd_mgr().Regy().Get_or_null(key); if (cmd == null) throw Err_.new_wo_type("unknown cmd; key={0}", key); // GfoEvObj pub = gui_mgr.App().Gfs_mgr().Get_owner_as_event_obj(cmd.Cmd()); // GfoEvMgr_.SubSame(pub, Xog_mnu_evt_mgr.Evt_selected_changed, rv.Evt_mgr()); // } 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 0185f77dc..d34b48e88 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 @@ -48,7 +48,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_u8(href.Page()));} - catch (Exception e) {app.Gui_mgr().Kit().Ask_ok("", "", Err_.Message_gplx_brief(e));} + catch (Exception e) {app.Gui_mgr().Kit().Ask_ok("", "", Err_.Message_gplx_full(e));} return Rslt_handled; } private Xoa_url Exec_url_http(Xoae_app app) { // EX: http:a.org 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 45860cd4c..4149549e1 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 @@ -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_u8("test")))); // TODO: remove unnecessary page init + win.Active_page_(Xoae_page.test_(wiki, Xoa_ttl.parse_(wiki, Bry_.new_a7("test")))); // TODO: remove unnecessary page init expd_wiki = expd_page = expd_qargs = expd_anchor = null; } public Xog_url_wkr_fxt Init_exec(String raw) { 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 32fc9eadc..55aff250c 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_u8("w")); + fxt.Abrv_mgr().Types_mgr().Del(Bry_.new_a7("w")); fxt.Test("w:A", null); } @Test public void Type_set() { 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 ded6da0eb..803131af5 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 @@ -27,7 +27,7 @@ public class Load_page_wkr implements Gfo_thread_wkr { public Xoa_url Url() {return url;} private Xoa_url url; public Xoa_ttl Ttl() {return ttl;} private Xoa_ttl ttl; public boolean Hdump_enabled() {return hdump_enabled;} private boolean hdump_enabled; - public Exception Exc() {return exc;} private Exception exc; + public Exception Err() {return exc;} private Exception exc; private final static Object thread_lock = new Object(); public static boolean Running() { boolean rv = false; diff --git a/400_xowa/src/gplx/xowa/gui/views/Rect_ref.java b/400_xowa/src/gplx/xowa/gui/views/Rect_ref.java index 9dbb6eccd..16ec3b648 100644 --- a/400_xowa/src/gplx/xowa/gui/views/Rect_ref.java +++ b/400_xowa/src/gplx/xowa/gui/views/Rect_ref.java @@ -33,6 +33,6 @@ public class Rect_ref { try { String[] ary = String_.Split(raw, ","); return new Rect_ref(Int_.parse_(ary[0]), Int_.parse_(ary[1]), Int_.parse_(ary[2]), Int_.parse_(ary[3])); - } catch(Exception exc) {throw Exc_.new_parse_exc(exc, Rect_ref.class, raw);} + } catch(Exception exc) {throw Err_.new_parse_exc(exc, Rect_ref.class, raw);} } } 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 21ddebf0b..0cbe2caaa 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 @@ -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.core.primitives.*; import gplx.core.btries.*; import gplx.gfui.*; import gplx.xowa.gui.menus.*; import gplx.xowa.gui.menus.dom.*; import gplx.xowa.files.gui.*; -import gplx.html.*; import gplx.xowa.html.js.*; import gplx.xowa.html.modules.*; import gplx.xowa.pages.*; +import gplx.html.*; import gplx.xowa.html.js.*; import gplx.xowa.html.heads.*; import gplx.xowa.pages.*; public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { private Xoae_app app; private final Object thread_lock = new Object(); private final String_obj_ref scroll_top = String_obj_ref.null_(), node_path = String_obj_ref.null_(); @@ -73,7 +73,7 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { 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)); + 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_full(e)); html_box.Html_doc_html_load_by_mem(html_str); } } @@ -143,7 +143,7 @@ public class Xog_html_itm implements Xog_js_wkr, GfoInvkAble, GfoEvObj { } private boolean module_packed_done = false, module_popups_done = false; public void Tab_selected(Xoae_page page) { - Xoh_module_mgr module_mgr = page.Html_data().Module_mgr(); + Xoh_head_mgr module_mgr = page.Html_data().Head_mgr(); if (module_mgr.Itm__gallery().Enabled() && !module_packed_done) this.Html_gallery_packed_exec(); if (module_mgr.Itm__popups().Enabled() && !module_popups_done) @@ -241,7 +241,7 @@ class Xog_html_itm__href_extractor { case Text_tid_none: return ""; 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 Exc_.new_unhandled(text_tid); + default: throw Err_.new_unhandled(text_tid); } int href_bgn = 2; // 2 for length of "2|" if (Bry_.Has_at_bgn(text_bry, File_protocol_bry, 2, text_len)) { 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 a7d15a893..5783b4f8e 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 @@ -44,7 +44,7 @@ class Xog_launcher_tabs { return true; } catch (Exception e) { - app.Usr_dlg().Warn_many("", "", "failed to launch urls: urls=~{0} err=~{1}", String_.AryXtoStr(launch_urls), Err_.Message_gplx(e)); + app.Usr_dlg().Warn_many("", "", "failed to launch urls: urls=~{0} err=~{1}", String_.AryXtoStr(launch_urls), Err_.Message_gplx_full(e)); Restore_tab_failover(app, home_wiki, win); return false; } @@ -54,7 +54,7 @@ class Xog_launcher_tabs { Launch_tab(win, home_wiki, gplx.xowa.users.Xouc_pages_mgr.Page_xowa); } catch (Exception e) { - app.Usr_dlg().Warn_many("", "", "failed to launch failover tab: err=~{0}", Err_.Message_gplx(e)); + app.Usr_dlg().Warn_many("", "", "failed to launch failover tab: err=~{0}", Err_.Message_gplx_full(e)); } } private void Launch_tab(Xog_win_itm win, Xowe_wiki home_wiki, String launch_str) { @@ -83,7 +83,7 @@ class Io_fil_marker { 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)); + usr_dlg.Warn_many("", "", "marker.bgn failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx_full(exc)); Io_mgr.I.DeleteFil(url); // try to delete it again } } @@ -95,7 +95,7 @@ class Io_fil_marker { 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)); + usr_dlg.Warn_many("", "", "marker.end failed: url=~{0} err=~{1}", url.Raw(), Err_.Message_gplx_full(exc)); Io_mgr.I.DeleteFil(url); // try to delete it again } } 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 3afc429e0..c960a79b1 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 @@ -195,7 +195,7 @@ public class Xog_tab_itm implements GfoInvkAble { } @gplx.Internal protected void Show_url_failed(Load_page_wkr wkr) { try { - Xog_tab_itm_read_mgr.Show_page_err(win, this, wkr.Wiki(), wkr.Url(), wkr.Ttl(), wkr.Exc()); + Xog_tab_itm_read_mgr.Show_page_err(win, this, wkr.Wiki(), wkr.Url(), wkr.Ttl(), wkr.Err()); } finally { wkr.Wiki().Appe().Thread_mgr().Page_load_mgr().Resume(); } @@ -216,11 +216,11 @@ public class Xog_tab_itm implements GfoInvkAble { 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 - && page.Html_data().Module_mgr().Itm__popups().Enabled() + && page.Html_data().Head_mgr().Itm__popups().Enabled() ) html_itm.Html_popups_bind_hover_to_doc(); // rebind all elements to popup } - catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.image: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));} + catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.image: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_full(e));} } xfer_len = page.File_math().Count(); if (xfer_len > 0){ @@ -237,11 +237,11 @@ public class Xog_tab_itm implements GfoInvkAble { } page.File_math().Clear(); } - catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.math: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));} + catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.math: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_full(e));} } if (page.Html_cmd_mgr().Count() > 0) { try {page.Html_cmd_mgr().Exec(app, page);} - catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cmds: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_brief(e));} + catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cmds: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_full(e));} } try { if (page.Tab_data().Tab() != null) { // needed b/c Preview has page.Tab of null which causes null_ref error in redlinks @@ -249,9 +249,9 @@ public class Xog_tab_itm implements GfoInvkAble { 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));} + } catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.redlinks: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_full(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));} + catch (Exception e) {usr_dlg.Warn_many("", "", "page.thread.cache: page=~{0} err=~{1}", page_ttl_str, Err_.Message_gplx_full(e));} app.Usere().User_db_mgr().Cache_mgr().Page_end(app.Wiki_mgr()); app.Log_wtr().Queue_enabled_(false); } @@ -271,7 +271,7 @@ class Load_files_wkr implements Gfo_thread_wkr { public void Exec() { try {tab.Async();} catch (Exception e) { - tab.Tab_mgr().Win().App().Usr_dlg().Warn_many("error while running file wkr; page=~{0} err=~{1}", tab.Page().Url().Xto_full_str(), Err_.Message_gplx_brief(e)); + tab.Tab_mgr().Win().App().Usr_dlg().Warn_many("error while running file wkr; page=~{0} err=~{1}", tab.Page().Url().Xto_full_str(), Err_.Message_gplx_full(e)); } } } 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 2556c0e3e..6f73e34ac 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 @@ -37,7 +37,7 @@ public class Xog_tab_itm_read_mgr { catch (Exception e) { if (String_.Eq(Err_.Message_lang(e), "class org.eclipse.swt.SWTException Widget is disposed")) return; // ignore errors caused by user closing tab early; DATE:2014-07-26 if (show_is_err) { // trying to show error page, but failed; don't show again, else recursion until out of memory; TODO:always load error page; no reason it should fail; WHEN:html_skin; DATE:2014-06-08 - Gfo_usr_dlg_.I.Warn_many("", "", "fatal error trying to load error page; page=~{0} err=~{1}" + new_page.Url().Xto_full_str_safe(), Err_.Message_gplx(e)); + Gfo_usr_dlg_.I.Warn_many("", "", "fatal error trying to load error page; page=~{0} err=~{1}" + new_page.Url().Xto_full_str_safe(), Err_.Message_gplx_full(e)); return; } else @@ -64,7 +64,7 @@ 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_u8(url.Raw()), Err_.Message_gplx(e)); + Gfo_usr_dlg_.I.Warn_many("", "", "failed to build url: url=~{0}, err=~{1}", String_.new_u8(url.Raw()), Err_.Message_gplx_full(e)); url_str = String_.new_u8(ttl.Full_txt()); } win_str = String_.new_u8(Bry_.Add(ttl.Full_txt(), Win_text_suffix_page)); @@ -74,7 +74,7 @@ public class Xog_tab_itm_read_mgr { } 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_u8(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_full(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/html/Xoh_cmd_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java index 45f4dc951..3cbfbff83 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_cmd_mgr.java @@ -32,7 +32,7 @@ public class Xoh_cmd_mgr { 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 Exc_.new_exc(e, "xo", "failed to execute html cmd", "name", itm == null ? "unknown" : itm.Hcmd_id());} + } catch (Exception e) {throw Err_.new_exc(e, "xo", "failed to execute html cmd", "name", itm == null ? "unknown" : itm.Hcmd_id());} } this.Clear(); } 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 ac2f19596..7d1e870d1 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java @@ -164,7 +164,7 @@ public class Xoh_html_wtr { case Xop_apos_tkn_.Cmd_b_end__i_bgn: bfr.Add(Html_tag_.B_rhs).Add(Html_tag_.I_lhs); break; case Xop_apos_tkn_.Cmd_i_end__b_bgn: bfr.Add(Html_tag_.I_rhs).Add(Html_tag_.B_lhs); break; case Xop_apos_tkn_.Cmd_nil: break; - default: throw Exc_.new_unhandled(apos.Apos_cmd()); + default: throw Err_.new_unhandled(apos.Apos_cmd()); } } public static byte[] Ttl_to_title(byte[] ttl) {return ttl;} // FUTURE: swap html chars? @@ -194,7 +194,7 @@ public class Xoh_html_wtr { case Xop_list_tkn_.List_itmTyp_ul: tag = Tag_list_grp_ul_bgn; break; case Xop_list_tkn_.List_itmTyp_dd: case Xop_list_tkn_.List_itmTyp_dt: tag = Tag_list_grp_dl_bgn; break; - default: throw Exc_.new_unhandled(type); + default: throw Err_.new_unhandled(type); } if (bfr.Len() > 0) bfr.Add_byte_nl(); // NOTE: do not add newLine if start if (indent_level > 0) bfr.Add_byte_repeat(Byte_ascii.Space, indent_level * 2); @@ -208,7 +208,7 @@ public class Xoh_html_wtr { case Xop_list_tkn_.List_itmTyp_ul: tag = Tag_list_itm_li_bgn; break; case Xop_list_tkn_.List_itmTyp_dt: tag = Tag_list_itm_dt_bgn; break; case Xop_list_tkn_.List_itmTyp_dd: tag = Tag_list_itm_dd_bgn; break; - default: throw Exc_.new_unhandled(type); + default: throw Err_.new_unhandled(type); } bfr.Add_byte_nl(); if (indent_level > 0) bfr.Add_byte_repeat(Byte_ascii.Space, indent_level * 2); @@ -223,7 +223,7 @@ public class Xoh_html_wtr { case Xop_list_tkn_.List_itmTyp_ul: tag = Tag_list_grp_ul_end; break; case Xop_list_tkn_.List_itmTyp_dd: case Xop_list_tkn_.List_itmTyp_dt: tag = Tag_list_grp_dl_end; break; - default: throw Exc_.new_unhandled(type); + default: throw Err_.new_unhandled(type); } bfr.Add_byte_nl(); if (indent_level > 0) bfr.Add_byte_repeat(Byte_ascii.Space, indent_level * 2); @@ -238,7 +238,7 @@ public class Xoh_html_wtr { case Xop_list_tkn_.List_itmTyp_ul: tag = Tag_list_itm_li_end; break; case Xop_list_tkn_.List_itmTyp_dt: tag = Tag_list_itm_dt_end; break; case Xop_list_tkn_.List_itmTyp_dd: tag = Tag_list_itm_dd_end; break; - default: throw Exc_.new_unhandled(type); + default: throw Err_.new_unhandled(type); } bfr.Add_byte_if_not_last(Byte_ascii.Nl); if (indent_level > 0) bfr.Add_byte_repeat(Byte_ascii.Space, indent_level * 2); @@ -267,13 +267,13 @@ public class Xoh_html_wtr { case Xop_para_tkn.Tid_none: break; case Xop_para_tkn.Tid_para: bfr.Add(Tag_para_end).Add_byte_nl(); break; case Xop_para_tkn.Tid_pre: bfr.Add(Tag_pre_end).Add_byte_nl(); break; - default: throw Exc_.new_unhandled(para.Para_end()); + default: throw Err_.new_unhandled(para.Para_end()); } switch (para.Para_bgn()) { case Xop_para_tkn.Tid_none: break; case Xop_para_tkn.Tid_para: Para_assert_tag_starts_on_nl(bfr, para.Src_bgn()); bfr.Add(Tag_para_bgn); break; case Xop_para_tkn.Tid_pre: Para_assert_tag_starts_on_nl(bfr, para.Src_bgn()); bfr.Add(Tag_pre_bgn); break; - default: throw Exc_.new_unhandled(para.Para_bgn()); + default: throw Err_.new_unhandled(para.Para_bgn()); } if (para.Space_bgn() > 0) bfr.Add_byte_repeat(Byte_ascii.Space, para.Space_bgn()); @@ -513,7 +513,7 @@ public class Xoh_html_wtr { bfr.Add(atr_key); bfr.Add_byte(Byte_ascii.Eq); } - byte quote_byte = atr.Quote_byte(); if (quote_byte == Byte_ascii.Nil) quote_byte = Byte_ascii.Quote; + byte quote_byte = atr.Quote_byte(); if (quote_byte == Byte_ascii.Null) quote_byte = Byte_ascii.Quote; bfr.Add_byte(quote_byte); if (atr.Key_tid() == Xop_xatr_itm.Key_tid_id) { // ids should not have spaces; DATE:2013-04-01 if (atr.Val_bry() == null) 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 d2f9f1847..4a14541df 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 @@ -71,7 +71,7 @@ public class Xoh_html_wtr_escaper { else // parse failed; escape and continue bfr.Add(Html_entity_.Amp_bry); break; - default: throw Exc_.new_unhandled(itm_tid); + default: throw Err_.new_unhandled(itm_tid); } } } @@ -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_u8(src, bgn, end)); + Xoa_app_.Usr_dlg().Warn_many("", "", "unknown error in escape.nowiki: ~{0} ~{1}", String_.new_u8(src, bgn, end), Err_.Message_gplx_full(e)); return Bry_.NotFound; } } 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 06c091394..0c8f23f84 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 @@ -73,7 +73,7 @@ public class Xoh_page_wtr_wkr implements Bry_fmtr_arg { , Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, page_ttl, null) // NOTE: page_name does not show display_title (). always pass in null , Xoh_page_wtr_wkr_.Bld_page_name(tmp_bfr, page_ttl, page.Html_data().Display_ttl()) , page_modified_on_msg - , mgr.Css_common_bry(), mgr.Css_wiki_bry(), page.Html_data().Module_mgr().Init(app, wiki, page).Init_dflts() + , mgr.Css_common_bry(), mgr.Css_wiki_bry(), page.Html_data().Head_mgr().Init(app, wiki, page).Init_dflts() , page.Lang().Dir_ltr_bry(), page.Html_data().Indicators(), page_content_sub, wiki.Html_mgr().Portal_mgr().Div_jump_to(), page_body_class, html_content_editable , page_data, wtr_page_lang , portal_mgr.Div_personal_bry(), portal_mgr.Div_ns_bry(app.Utl__bfr_mkr(), page_ttl, wiki.Ns_mgr()), portal_mgr.Div_view_bry(app.Utl__bfr_mkr(), view_tid, page.Html_data().Xtn_search_text()) diff --git a/400_xowa/src/gplx/xowa/html/Xohe_page_wtr_mgr.java b/400_xowa/src/gplx/xowa/html/Xohe_page_wtr_mgr.java index e1f1906aa..e78710164 100644 --- a/400_xowa/src/gplx/xowa/html/Xohe_page_wtr_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xohe_page_wtr_mgr.java @@ -70,7 +70,7 @@ public class Xohe_page_wtr_mgr extends Xoh_page_wtr_mgr_base implements GfoInvkA case Xopg_view_mode.Tid_edit: return edit_wtr; case Xopg_view_mode.Tid_html: return html_wtr; case Xopg_view_mode.Tid_read: return read_wtr; - default: throw Exc_.new_unhandled(output_tid); + default: throw Err_.new_unhandled(output_tid); } } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { 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 75efb8474..df1e07ad8 100644 --- a/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xow_html_mgr.java @@ -46,7 +46,7 @@ public class Xow_html_mgr implements GfoInvkAble { public Xohe_page_wtr_mgr Page_wtr_mgr() {return page_wtr_mgr;} private Xohe_page_wtr_mgr page_wtr_mgr; public Xow_portal_mgr Portal_mgr() {return portal_mgr;} private Xow_portal_mgr portal_mgr; public Xow_toc_mgr Toc_mgr() {return toc_mgr;} private Xow_toc_mgr toc_mgr = new Xow_toc_mgr(); - public Xow_module_mgr Module_mgr() {return module_mgr;} private Xow_module_mgr module_mgr; + public Xow_module_mgr Head_mgr() {return module_mgr;} private Xow_module_mgr module_mgr; public Xow_hzip_mgr Hzip_mgr() {return hzip_mgr;} private Xow_hzip_mgr hzip_mgr; public boolean Importing_ctgs() {return importing_ctgs;} public void Importing_ctgs_(boolean v) {importing_ctgs = v;} private boolean importing_ctgs; public int Img_thumb_width() {return img_thumb_width;} private int img_thumb_width = 220; diff --git a/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_itm.java b/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_itm.java new file mode 100644 index 000000000..a64f50e76 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_itm.java @@ -0,0 +1,23 @@ +/* +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.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.json.*; +public interface Bridge_cmd_itm { + byte[] Key(); + String Exec(Json_nde data); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_mgr.java b/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_mgr.java new file mode 100644 index 000000000..93b1a9422 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Bridge_cmd_mgr.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.xowa.html.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.json.*; +public class Bridge_cmd_mgr { + private final Hash_adp_bry cmd_hash = Hash_adp_bry.cs_(); + public void Add(Bridge_cmd_itm cmd) {cmd_hash.Add_bry_obj(cmd.Key(), cmd);} + public String Exec(GfoMsg m) { + if (m.Args_count() == 0) throw Err_.new_("bridge.cmds", "no json specified for json_exec"); + return Exec(m.Args_getAt(0).Val_to_bry()); + } + public String Exec(byte[] jdoc_bry) { + Json_doc jdoc = null; + try {jdoc = Json_doc.new_(jdoc_bry);} + catch (Exception e) {throw Err_.new_exc(e, "bridge.cmds", "invalid json", "json", jdoc_bry);} + Json_nde msg = jdoc.Root(); + byte[] key_bry = msg.Get_bry(Key_cmd); + Bridge_cmd_itm cmd = (Bridge_cmd_itm)cmd_hash.Get_by_bry(key_bry); if (cmd == null) throw Err_.new_("bridge.cmds", "unknown cmd", "cmd", cmd); + try {return cmd.Exec(msg.Get(Key_data));} + catch (Exception e) {throw Err_.new_exc(e, "bridge.cmds", "exec json failed", "json", jdoc_bry);} + } + private static final byte[] Key_cmd = Bry_.new_a7("cmd"), Key_data = Bry_.new_a7("data"); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr.java b/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr.java new file mode 100644 index 000000000..20ebc711d --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr.java @@ -0,0 +1,103 @@ +/* +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.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.json.*; +public class Bridge_msg_bldr { + private final Json_wtr wtr = new Json_wtr(); + private boolean rslt_pass; private String rslt_msg; + private String notify_text; private String notify_status; + private final Gfo_tree_list data_root = new Gfo_tree_list("data"); + public Bridge_msg_bldr() { + wtr.Opt_ws_(Bool_.N); + this.Clear(); + } + public Bridge_msg_bldr Opt_quote_byte_apos_() {wtr.Opt_quote_byte_(Byte_ascii.Apos); return this;} + public Bridge_msg_bldr Rslt_pass_y_() {return Rslt_pass_(Bool_.Y);} + public Bridge_msg_bldr Rslt_pass_n_(String v) {Rslt_msg_(v); return Rslt_pass_(Bool_.N);} + private Bridge_msg_bldr Rslt_pass_(boolean v) {synchronized(wtr){this.rslt_pass = v;} return this;} + private Bridge_msg_bldr Rslt_msg_(String v) {synchronized(wtr){this.rslt_msg = v;} return this;} + public Bridge_msg_bldr Notify_hint_(String v) {synchronized(wtr){this.notify_hint = v;} return this;} private String notify_hint; + public Bridge_msg_bldr Notify_pass_(String v){synchronized(wtr){this.notify_text = v; this.notify_status = "success";} return this;} + public Bridge_msg_bldr Notify_fail_(String v){synchronized(wtr){this.notify_text = v; this.notify_status = "error"; this.rslt_pass = false;} return this;} + public Bridge_msg_bldr Data(String key, boolean val) {return Data_obj(key, val, ClassAdp_.Tid_bool);} + public Bridge_msg_bldr Data(String key, int val) {return Data_obj(key, val, ClassAdp_.Tid_int);} + public Bridge_msg_bldr Data(String key, String val) {return Data_obj(key, val, ClassAdp_.Tid_str);} + public Bridge_msg_bldr Data(String key, byte[] val) {return Data_obj(key, val, ClassAdp_.Tid_bry);} + private Bridge_msg_bldr Data_obj(String key, Object val, int val_tid) { + synchronized (wtr) {data_root.Add_data(key, val, val_tid);} + return this; + } + public byte[] To_json_bry() {synchronized(wtr){ Bld_json(); return wtr.To_bry_and_clear();}} + public String To_json_str() {synchronized(wtr){ Bld_json(); return wtr.To_str_and_clear();}} + public String To_json_str__empty() {return "{}";} + public Bridge_msg_bldr Clear() { + synchronized (wtr) { + rslt_pass = true; // by default, set all msgs to pass==true + rslt_msg = null; + notify_hint = null; + notify_text = null; + notify_status = null; + data_root.Clear(); + } + return this; + } + private void Bld_json() { + wtr.Clear(); + wtr.Doc_bgn(); + wtr.Nde_bgn(Key_rslt); + wtr.Kv_bool(Key_rslt_pass, rslt_pass); + if (rslt_msg != null) wtr.Kv_str(Key_rslt_msg, rslt_msg); + wtr.Nde_end(); + if (notify_text != null) { + wtr.Nde_bgn(Key_notify); + wtr.Kv_str(Key_notify_text, notify_text); + wtr.Kv_str(Key_notify_status, notify_status); + if (notify_hint != null) + wtr.Kv_str(Key_notify_hint, notify_hint); + wtr.Nde_end(); + } + Bld_json_for_hash(wtr, data_root); + wtr.Doc_end(); + } + private void Bld_json_for_hash(Json_wtr wtr, Gfo_tree_list hash) { + int len = hash.Len(); if (len == 0) return; + wtr.Nde_bgn(hash.Key()); + for (int i = 0; i < len; ++i) { + Gfo_tree_itm itm = hash.Get_at(i); + if (itm.Tid() == Gfo_tree_itm_.Tid_data) { + Gfo_tree_data sub_kv = (Gfo_tree_data)itm; + String key = sub_kv.Key(); Object val = sub_kv.Val(); + switch (sub_kv.Val_tid()) { + case ClassAdp_.Tid_bool: wtr.Kv_bool(key, Bool_.cast_(val)); break; + case ClassAdp_.Tid_int: wtr.Kv_int(key, Int_.cast_(val)); break; + case ClassAdp_.Tid_bry: wtr.Kv_bry(key, (byte[])val); break; + default: wtr.Kv_str(key, Object_.Xto_str_strict_or_null_mark(val)); break; + } + } + else { + Gfo_tree_list sub_hash = (Gfo_tree_list)itm; + Bld_json_for_hash(wtr, sub_hash); + } + } + wtr.Nde_end(); + } + private static final byte[] + Key_rslt = Bry_.new_a7("rslt"), Key_rslt_pass = Bry_.new_a7("pass"), Key_rslt_msg = Bry_.new_a7("msg") + , Key_notify = Bry_.new_a7("notify"), Key_notify_text = Bry_.new_a7("text"), Key_notify_status = Bry_.new_a7("status"), Key_notify_hint = Bry_.new_a7("hint") + ; +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr_tst.java b/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr_tst.java new file mode 100644 index 000000000..0e4e9bd3a --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Bridge_msg_bldr_tst.java @@ -0,0 +1,33 @@ +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012 gnosygnu@gmail.com + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ +package gplx.xowa.html.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import org.junit.*; +public class Bridge_msg_bldr_tst { + @Before public void init() {fxt.Clear();} private Bridge_msg_bldr_fxt fxt = new Bridge_msg_bldr_fxt(); + @Test public void Bld() { + fxt.Bldr().Rslt_pass_y_().Notify_pass_("passed").Data("key1", true).Data("key2", 1).Data("key3", "val3"); + fxt.Test_to_json_str("{ 'rslt':{ 'pass':true}, 'notify':{ 'text':'passed', 'status':'success'}, 'data':{ 'key1':true, 'key2':1, 'key3':'val3'}}"); + } +} +class Bridge_msg_bldr_fxt { + public Bridge_msg_bldr Bldr() {return bldr;} private final Bridge_msg_bldr bldr = new Bridge_msg_bldr().Opt_quote_byte_apos_(); + public void Clear() {} + public void Test_to_json_str(String expd) { + Tfds.Eq_str_lines(expd, bldr.To_json_str()); + } +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/Gfo_tree_itm.java b/400_xowa/src/gplx/xowa/html/bridges/Gfo_tree_itm.java new file mode 100644 index 000000000..e26f41001 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Gfo_tree_itm.java @@ -0,0 +1,45 @@ +/* +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.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +interface Gfo_tree_itm { + int Tid(); +} +class Gfo_tree_itm_ { + public static final int Tid_data = 1, Tid_list = 2; +} +class Gfo_tree_data implements Gfo_tree_itm { + public int Tid() {return Gfo_tree_itm_.Tid_data;} + public Gfo_tree_data(String key, Object val, int val_tid) { + this.key = key; this.val = val; this.val_tid = val_tid; + } + public String Key() {return key;} private final String key; + public Object Val() {return val;} private final Object val; + public int Val_tid() {return val_tid;} private final int val_tid; +} +class Gfo_tree_list implements Gfo_tree_itm { + private final Ordered_hash list = Ordered_hash_.new_(); + public Gfo_tree_list(String key) {this.key = key;} + public int Tid() {return Gfo_tree_itm_.Tid_list;} + public String Key() {return key;} private final String key; + public void Clear() {list.Clear();} + public int Len() {return list.Count();} + public Gfo_tree_data Add_data(String key, Object val, int val_tid) {Gfo_tree_data rv = new Gfo_tree_data(key, val, val_tid); this.Add(key, rv); return rv;} + public Gfo_tree_list Add_list(String key) {Gfo_tree_list rv = new Gfo_tree_list(key); this.Add(key, rv); return rv;} + private void Add(String key, Gfo_tree_itm itm) {list.Add(key, itm);} + public Gfo_tree_itm Get_at(int i) {return (Gfo_tree_itm)list.Get_at(i);} +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/Xoh_bridge_mgr.java b/400_xowa/src/gplx/xowa/html/bridges/Xoh_bridge_mgr.java new file mode 100644 index 000000000..31252090c --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/Xoh_bridge_mgr.java @@ -0,0 +1,23 @@ +/* +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.bridges; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.html.bridges.dbuis.tbls.*; +public class Xoh_bridge_mgr { + public Bridge_cmd_mgr Cmd_mgr() {return cmd_mgr;} private final Bridge_cmd_mgr cmd_mgr = new Bridge_cmd_mgr(); + public Bridge_msg_bldr Msg_bldr() {return msg_bldr;} private final Bridge_msg_bldr msg_bldr = new Bridge_msg_bldr(); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/Dbui_cmd_mgr.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/Dbui_cmd_mgr.java new file mode 100644 index 000000000..05dfaa11c --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/Dbui_cmd_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.bridges.dbuis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; +import gplx.core.json.*; import gplx.xowa.html.bridges.dbuis.tbls.*; +public class Dbui_cmd_mgr { + private final Hash_adp_bry hash = Hash_adp_bry.cs_(); + private boolean init; + public void Init_by_bridge(Bridge_cmd_mgr cmd_mgr) { + if (init) return; + init = true; + cmd_mgr.Add(new Dbui_cmd_row_edit ("xowa.dbui.edit_bgn", this)); + cmd_mgr.Add(new Dbui_cmd_row_save ("xowa.dbui.save_bgn", this)); + cmd_mgr.Add(new Dbui_cmd_row_del ("xowa.dbui.delete_bgn", this)); + cmd_mgr.Add(new Dbui_cmd_row_reorder ("xowa.dbui.reorder_bgn", this)); + } + public void Add(Dbui_tbl_itm tbl) {hash.Add_bry_obj(tbl.Key(), tbl);} + public String Del(Json_nde data) {return Get_tbl(data).Del (data.Get_bry(Arg_row_id), data.Get_bry(Arg_row_pkey));} + public String Edit(Json_nde data) {return Get_tbl(data).Edit(data.Get_bry(Arg_row_id), data.Get_bry(Arg_row_pkey));} + public String Save(Json_nde data) {return Get_tbl(data).Save(data.Get_bry(Arg_row_id), data.Get_bry(Arg_row_pkey), To_hash(data.Get(Arg_vals)));} + public String Reorder(Json_nde data){ + byte[] pkeys_concat = data.Get_bry(Arg_pkeys); + return Get_tbl(data).Reorder(Bry_.Split(pkeys_concat, Byte_ascii.Pipe), -1); + } + private Dbui_tbl_itm Get_tbl(Json_nde data) { + byte[] tbl_key = data.Get_bry(Arg_tbl_key); + Dbui_tbl_itm rv = (Dbui_tbl_itm)hash.Get_by(tbl_key); if (rv == null) throw Err_.new_("dbui", "unknown tbl_key", "tbl_key", tbl_key); + return rv; + } + private static Dbui_val_hash To_hash(Json_grp grp) { + Dbui_val_hash rv = new Dbui_val_hash(); + int len = grp.Len(); + for (int i = 0; i < len; ++i) { + Json_itm_kv kv = (Json_itm_kv)grp.Get_at(i); + Json_nde nde = (Json_nde)kv.Val(); + Json_itm_kv key = (Json_itm_kv)nde.Get_itm(Arg_key); + Json_itm_kv val = (Json_itm_kv)nde.Get_itm(Arg_val); + Dbui_val_itm fld = new Dbui_val_itm(val.Val().Data_bry(), Bry_.Empty); + rv.Add(key.Val().Data_bry(), fld); + } + return rv; + } + public static final Dbui_cmd_mgr I = new Dbui_cmd_mgr(); Dbui_cmd_mgr() {} + private static final byte[] + Arg_tbl_key = Bry_.new_a7("tbl_key"), Arg_row_pkey = Bry_.new_a7("row_pkey"), Arg_row_id = Bry_.new_a7("row_id") + , Arg_vals = Bry_.new_a7("vals"), Arg_key = Bry_.new_a7("key"), Arg_val = Bry_.new_a7("val") + , Arg_pkeys = Bry_.new_a7("pkeys") + ; +} +class Dbui_cmd_row_del implements Bridge_cmd_itm { + private final Dbui_cmd_mgr mgr; + public Dbui_cmd_row_del(String key, Dbui_cmd_mgr mgr) {this.key = Bry_.new_u8(key); this.mgr = mgr;} + public byte[] Key() {return key;} private final byte[] key; + public String Exec(Json_nde data) {return mgr.Del(data);} +} +class Dbui_cmd_row_edit implements Bridge_cmd_itm { + private final Dbui_cmd_mgr mgr; + public Dbui_cmd_row_edit(String key, Dbui_cmd_mgr mgr) {this.key = Bry_.new_u8(key); this.mgr = mgr;} + public byte[] Key() {return key;} private final byte[] key; + public String Exec(Json_nde data) {return mgr.Edit(data);} +} +class Dbui_cmd_row_save implements Bridge_cmd_itm { + private final Dbui_cmd_mgr mgr; + public Dbui_cmd_row_save(String key, Dbui_cmd_mgr mgr) {this.key = Bry_.new_u8(key); this.mgr = mgr;} + public byte[] Key() {return key;} private final byte[] key; + public String Exec(Json_nde data) {return mgr.Save(data);} +} +class Dbui_cmd_row_reorder implements Bridge_cmd_itm { + private final Dbui_cmd_mgr mgr; + public Dbui_cmd_row_reorder(String key, Dbui_cmd_mgr mgr) {this.key = Bry_.new_u8(key); this.mgr = mgr;} + public byte[] Key() {return key;} private final byte[] key; + public String Exec(Json_nde data) {return mgr.Reorder(data);} +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_cells_fmtr.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_cells_fmtr.java new file mode 100644 index 000000000..f1c81135f --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_cells_fmtr.java @@ -0,0 +1,77 @@ +/* +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.bridges.dbuis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +import gplx.xowa.html.bridges.dbuis.tbls.*; +public class Dbui_cells_fmtr implements Bry_fmtr_arg { + private final Dbui_cell_fmtr cell_fmtr = new Dbui_cell_fmtr(); + private final Dbui_btn_fmtr btn_fmtr = new Dbui_btn_fmtr(); + private Dbui_btn_itm[] btns; + private byte[] row_key; private Dbui_row_itm row_itm; + public void Ctor(Dbui_val_fmtr val_fmtr, Dbui_btn_itm[] btns) { + cell_fmtr.Ctor(val_fmtr); this.btns = btns; + } + public Dbui_cells_fmtr Init(byte[] row_key, Dbui_row_itm row_itm) { + this.row_key = row_key; this.row_itm = row_itm; + return this; + } + public void XferAry(Bry_bfr bfr, int idx) { + fmtr.Bld_bfr_many(bfr, cell_fmtr.Init(row_key, row_itm), btn_fmtr.Init(row_key, btns)); + } + private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , "
~{vals}" + , "
~{btns}" + , "
" + ), "vals", "btns"); +} +class Dbui_cell_fmtr implements Bry_fmtr_arg { + private byte[] row_key; private Dbui_row_itm row_itm; + private Dbui_val_fmtr val_fmtr; + public void Ctor(Dbui_val_fmtr val_fmtr) {this.val_fmtr = val_fmtr;} + public Dbui_cell_fmtr Init(byte[] row_key, Dbui_row_itm row_itm) {this.row_key = row_key; this.row_itm = row_itm; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + Dbui_col_itm[] cols = row_itm.Tbl().Cols(); + Dbui_val_itm[] vals = row_itm.Vals(); int len = vals.length; + for (int i = 0; i < len; ++i) { + Dbui_val_itm val = vals[i]; + fmtr.Bld_bfr_many(bfr, row_key, i, val_fmtr.Init(cols[i], row_key, val)); + } + } + private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , "
~{html}
" + ), "row_key", "val_idx", "html"); +} +class Dbui_btn_fmtr implements Bry_fmtr_arg { + private byte[] row_key; private Dbui_btn_itm[] btns; + public Dbui_btn_fmtr Init(byte[] row_key, Dbui_btn_itm[] btns) { + this.row_key = row_key; this.btns = btns; return this; + } + public void XferAry(Bry_bfr bfr, int idx) { + int len = btns.length; + Io_url img_dir = gplx.xowa.html.heads.Xoh_head_itm__dbui.Img_dir(); + for (int i = 0; i < len; ++i) { + Dbui_btn_itm btn = btns[i]; + fmtr.Bld_bfr_many(bfr, row_key, btn.Cmd(), img_dir.GenSubFil(btn.Img()).To_http_file_bry(), btn.Text()); + } + } + private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , " " + ), "row_key", "btn_cmd", "btn_img", "btn_text"); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr.java new file mode 100644 index 000000000..59462601b --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr.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.xowa.html.bridges.dbuis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +import gplx.xowa.html.bridges.dbuis.tbls.*; +public class Dbui_tbl_fmtr { + private final Dbui_head_cell_fmtr head_cell_fmtr = new Dbui_head_cell_fmtr(); + private final Dbui_row_fmtr row_fmtr = new Dbui_row_fmtr(); + public void Write(Bry_bfr bfr, Dbui_tbl_itm tbl, byte[] origin_html, byte[] delete_confirm_msg, Dbui_row_itm[] rows) { + tbl_fmtr.Bld_bfr_many(bfr, tbl.Key(), Dbui_tbl_itm_.Calc_width(tbl), origin_html, delete_confirm_msg, head_cell_fmtr.Init(tbl), row_fmtr.Init(tbl, rows)); + } + private static final Bry_fmtr tbl_fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , "
" + , "
" + , "
~{origin}
~{head_cells}" + , "
~{data_rows}" + , "
" + ), "tbl_key", "width", "origin", "delete_confirm_msg", "head_cells", "data_rows"); +} +class Dbui_head_cell_fmtr implements Bry_fmtr_arg { + private Dbui_tbl_itm tbl; + public Dbui_head_cell_fmtr Init(Dbui_tbl_itm tbl) {this.tbl = tbl; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + Dbui_col_itm[] cols = tbl.Cols(); int len = cols.length; + for (int i = 0; i < len; ++i) { + Dbui_col_itm col = cols[i]; + fmtr.Bld_bfr_many(bfr, col.Width(), col.Display()); + } + bfr.Add_str_a7("\n
 
"); // btns headers + } + private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , "
~{display}
" + ), "width", "display"); +} +class Dbui_row_fmtr implements Bry_fmtr_arg { + private final Dbui_cells_fmtr cells_fmtr = new Dbui_cells_fmtr(); + private final Dbui_val_fmtr val_fmtr = Dbui_val_fmtr_.new_view(); + private final Bry_bfr row_key_bfr = Bry_bfr.new_(255); + private Dbui_tbl_itm tbl; private Dbui_row_itm[] rows; + public Dbui_row_fmtr Init(Dbui_tbl_itm tbl, Dbui_row_itm[] rows) {this.tbl = tbl; this.rows = rows; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + byte[] tbl_key = tbl.Key(); + int len = rows.length; + cells_fmtr.Ctor(val_fmtr, tbl.View_btns()); + for (int i = 0; i < len; ++i) { + Dbui_row_itm row = rows[i]; + row_key_bfr.Add(tbl_key).Add_byte(Byte_ascii.Underline).Add_int_variable(i); + byte[] row_key = row_key_bfr.Xto_bry_and_clear(); + fmtr.Bld_bfr_many(bfr, row_key, row.Pkey(), cells_fmtr.Init(row_key, row)); + } + } + private static final Bry_fmtr fmtr = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , "
~{cells}" + , "
" + ), "row_key", "pkey", "cells"); +} diff --git a/400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_tbl_fmtr_tst.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr_tst.java similarity index 62% rename from 400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_tbl_fmtr_tst.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr_tst.java index b9ee42cd9..10a4e9999 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/fmtrs/Xoui_tbl_fmtr_tst.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_tbl_fmtr_tst.java @@ -15,11 +15,11 @@ 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.xouis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -import gplx.xowa.html.xouis.tbls.*; +package gplx.xowa.html.bridges.dbuis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +import gplx.xowa.html.bridges.dbuis.tbls.*; import org.junit.*; -public class Xoui_tbl_fmtr_tst { - @Before public void init() {fxt.Clear();} private final Xoui_tbl_fmtr_fxt fxt = new Xoui_tbl_fmtr_fxt(); +public class Dbui_tbl_fmtr_tst { + @Before public void init() {fxt.Clear();} private final Dbui_tbl_fmtr_fxt fxt = new Dbui_tbl_fmtr_fxt(); @Test public void Basic() { // fxt.Test_write // ( fxt.Make_tbl() @@ -27,15 +27,15 @@ public class Xoui_tbl_fmtr_tst { // ); } } -class Xoui_tbl_fmtr_fxt { +class Dbui_tbl_fmtr_fxt { private final Bry_bfr bfr = Bry_bfr.new_(255); - private final Xoui_tbl_fmtr tbl_fmtr = new Xoui_tbl_fmtr(); + private final Dbui_tbl_fmtr tbl_fmtr = new Dbui_tbl_fmtr(); public void Clear() {} - public Xoui_tbl_itm Make_tbl() { + public Dbui_tbl_itm Make_tbl() { return null; } - public void Test_write(Xoui_tbl_itm tbl, String expd) { - tbl_fmtr.Write(bfr, tbl); + public void Test_write(Dbui_tbl_itm tbl, String expd) { + tbl_fmtr.Write(bfr, tbl, null, null, null); Tfds.Eq_str_lines(expd, bfr.Xto_str_and_clear()); } } diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr.java new file mode 100644 index 000000000..471578001 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr.java @@ -0,0 +1,48 @@ +/* +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.bridges.dbuis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +import gplx.xowa.html.bridges.dbuis.tbls.*; +public interface Dbui_val_fmtr { + Dbui_val_fmtr Init(Dbui_col_itm col, byte[] row_id, Dbui_val_itm val); +} +class Dbui_val_fmtr__view implements Bry_fmtr_arg, Dbui_val_fmtr { + private Dbui_val_itm val; + public Dbui_val_fmtr Init(Dbui_col_itm col, byte[] row_id, Dbui_val_itm val) {this.val = val; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + bfr.Add(val.Html()); + } +} +class Dbui_val_fmtr__edit implements Bry_fmtr_arg, Dbui_val_fmtr { + private Dbui_col_itm col; private byte[] row_id; private Dbui_val_itm val; + public Dbui_val_fmtr Init(Dbui_col_itm col, byte[] row_id, Dbui_val_itm val) {this.col = col; this.row_id = row_id; this.val = val; return this;} + public void XferAry(Bry_bfr bfr, int idx) { + switch (col.Type()) { + case Dbui_col_itm.Type_id_str: input_fmtr_str.Bld_bfr_many(bfr, col.Key(), col.Width(), val.Data(), row_id); break; + case Dbui_col_itm.Type_id_text: textarea_fmtr_str.Bld_bfr_many(bfr, col.Key(), col.Width(), val.Data(), row_id); break; + default: throw Err_.new_unimplemented(); + } + } + private static final Bry_fmtr input_fmtr_str = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , " " + ), "col_key", "width", "value", "row_id"); + private static final Bry_fmtr textarea_fmtr_str = Bry_fmtr.new_(String_.Concat_lines_nl_skip_last + ( "" + , " " + ), "col_key", "width", "value", "row_id"); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr_.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr_.java new file mode 100644 index 000000000..64ddb1456 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/fmtrs/Dbui_val_fmtr_.java @@ -0,0 +1,22 @@ +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012 gnosygnu@gmail.com + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ +package gplx.xowa.html.bridges.dbuis.fmtrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_val_fmtr_ { + public static Dbui_val_fmtr new_view() {return new Dbui_val_fmtr__view();} + public static Dbui_val_fmtr new_edit() {return new Dbui_val_fmtr__edit();} +} diff --git a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_btn_itm.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_btn_itm.java similarity index 78% rename from 400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_btn_itm.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_btn_itm.java index df9c638f6..5db8120a3 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_btn_itm.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_btn_itm.java @@ -15,9 +15,9 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -package gplx.xowa.html.xouis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_btn_itm { - public Xoui_btn_itm(String cmd, String img, String text) {this.cmd = cmd; this.img = img; this.text = text;} +package gplx.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_btn_itm { + public Dbui_btn_itm(String cmd, String img, String text) {this.cmd = cmd; this.img = img; this.text = text;} public String Key() {return text;} public String Cmd() {return cmd;} private final String cmd; public String Img() {return img;} private final String img; diff --git a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_col_itm.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_col_itm.java similarity index 75% rename from 400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_col_itm.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_col_itm.java index 0b4172776..a08c9dbb4 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_col_itm.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_col_itm.java @@ -15,12 +15,12 @@ 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.xouis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_col_itm { - public Xoui_col_itm(int type, int width, String key, String display) {this.type = type; this.width = width; this.key = key; this.display = display;} +package gplx.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_col_itm { + public Dbui_col_itm(int type, int width, String key, String display) {this.type = type; this.width = width; this.key = key; this.display = display;} public int Type() {return type;} private final int type; public String Key() {return key;} private final String key; public String Display() {return display;} private final String display; public int Width() {return width;} private final int width; - public static final int Type_id_str = 1; + public static final int Type_id_str = 1, Type_id_text = 2; } diff --git a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_row_itm.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_row_itm.java similarity index 68% rename from 400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_row_itm.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_row_itm.java index 4d3c44225..dd8d7800b 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_row_itm.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_row_itm.java @@ -15,12 +15,12 @@ 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.xouis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_row_itm { - public Xoui_row_itm(Xoui_tbl_itm tbl, byte[] pkey, Xoui_val_itm[] vals) { +package gplx.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_row_itm { + public Dbui_row_itm(Dbui_tbl_itm tbl, byte[] pkey, Dbui_val_itm[] vals) { this.tbl = tbl; this.pkey = pkey; this.vals = vals; } - public Xoui_tbl_itm Tbl() {return tbl;} private final Xoui_tbl_itm tbl; + public Dbui_tbl_itm Tbl() {return tbl;} private final Dbui_tbl_itm tbl; public byte[] Pkey() {return pkey;} private final byte[] pkey; - public Xoui_val_itm[] Vals() {return vals;} private Xoui_val_itm[] vals; + public Dbui_val_itm[] Vals() {return vals;} private Dbui_val_itm[] vals; } diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm.java new file mode 100644 index 000000000..b57290cb6 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm.java @@ -0,0 +1,28 @@ +/* +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.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public interface Dbui_tbl_itm { + byte[] Key(); + Dbui_col_itm[] Cols(); + Dbui_btn_itm[] View_btns(); + Dbui_btn_itm[] Edit_btns(); + String Del (byte[] row_id, byte[] row_pkey); + String Edit(byte[] row_id, byte[] row_pkey); + String Save(byte[] row_id, byte[] row_pkey, Dbui_val_hash vals); + String Reorder(byte[][] pkeys, int owner); +} diff --git a/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm_.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm_.java new file mode 100644 index 000000000..a3dffd448 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_tbl_itm_.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.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_tbl_itm_ { + public static int Calc_width(Dbui_tbl_itm tbl) { + int rv = 40; // 40 for button col + Dbui_col_itm[] ary = tbl.Cols(); + int len = ary.length; + for (int i = 0; i < len; ++i) { + rv += ary[i].Width(); + } + return rv; + } +} diff --git a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_hash.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_hash.java similarity index 59% rename from 400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_hash.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_hash.java index d83aeff97..e33799952 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_hash.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_hash.java @@ -15,12 +15,13 @@ 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.xouis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_val_hash { +package gplx.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_val_hash { private final Ordered_hash hash = Ordered_hash_.new_bry_(); - public void Add(byte[] key, Xoui_val_itm itm) {hash.Add(key, itm);} - public byte[] Get_val_as_bry_or_fail(byte[] key) { - Xoui_val_itm itm = (Xoui_val_itm)hash.Get_by(key); if (itm == null) throw Exc_.new_("dbui.val_hash; unknown key", "key", key); + public void Add(byte[] key, Dbui_val_itm itm) {hash.Add(key, itm);} + public byte[] Get_val_as_bry(String key) {return Get_val_as_bry(Bry_.new_u8(key));} + public byte[] Get_val_as_bry(byte[] key) { + Dbui_val_itm itm = (Dbui_val_itm)hash.Get_by(key); if (itm == null) throw Err_.new_wo_type("dbui.val_hash; unknown key", "key", key); return itm.Data(); } } diff --git a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_itm.java b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_itm.java similarity index 76% rename from 400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_itm.java rename to 400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_itm.java index 3bd7a0972..2ac4d5ecc 100644 --- a/400_xowa/src/gplx/xowa/html/xouis/tbls/Xoui_val_itm.java +++ b/400_xowa/src/gplx/xowa/html/bridges/dbuis/tbls/Dbui_val_itm.java @@ -15,9 +15,9 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -package gplx.xowa.html.xouis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.xouis.*; -public class Xoui_val_itm { - public Xoui_val_itm(byte[] data, byte[] html) {this.data = data; this.html = html;} +package gplx.xowa.html.bridges.dbuis.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.bridges.*; import gplx.xowa.html.bridges.dbuis.*; +public class Dbui_val_itm { + public Dbui_val_itm(byte[] data, byte[] html) {this.data = data; this.html = html;} public byte[] Data() {return data;} private byte[] data; public byte[] Html() {return html;} private final byte[] html; public void Data_(byte[] v) {this.data = v;} 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 e209599e0..87211b502 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 @@ -16,8 +16,8 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.html.hdumps; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -import gplx.xowa.html.hdumps.data.*; import gplx.xowa.html.hzips.*; import gplx.xowa.html.hdumps.abrvs.*; import gplx.xowa.html.hdumps.pages.*; -import gplx.xowa.pages.*; import gplx.xowa.pages.skins.*; import gplx.xowa.html.modules.*; +import gplx.xowa.html.heads.*; import gplx.xowa.html.hdumps.data.*; import gplx.xowa.html.hzips.*; import gplx.xowa.html.hdumps.abrvs.*; import gplx.xowa.html.hdumps.pages.*; +import gplx.xowa.pages.*; import gplx.xowa.pages.skins.*; import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa2.gui.*; public class Xohd_hdump_rdr { private final Bry_bfr_mkr bfr_mkr; private final Xow_hzip_mgr hzip_mgr; @@ -39,7 +39,7 @@ public class Xohd_hdump_rdr { html_data.Display_ttl_(hpg.Display_ttl()); html_data.Content_sub_(hpg.Content_sub()); html_data.Xtn_skin_mgr().Add(new Xopg_xtn_skin_itm_stub(hpg.Sidebar_div())); - Load_module_mgr(html_data.Module_mgr(), hpg); + Load_module_mgr(html_data.Head_mgr(), hpg); for (gplx.xowa.html.hdumps.core.Xohd_data_itm__base itm : hpg.Img_itms()) page.Hdump_data().Imgs_add(itm); } @@ -78,8 +78,8 @@ public class Xohd_hdump_rdr { if (redirect_id == -1) break; } } - public static void Load_module_mgr(Xoh_module_mgr page_module_mgr, Xog_page hpg) { - Xopg_module_mgr dump_module_mgr = hpg.Module_mgr(); + public static void Load_module_mgr(Xoh_head_mgr page_module_mgr, Xog_page hpg) { + Xopg_module_mgr dump_module_mgr = hpg.Head_mgr(); page_module_mgr.Itm__mathjax().Enabled_ (dump_module_mgr.Math_exists()); page_module_mgr.Itm__popups().Bind_hover_area_ (dump_module_mgr.Imap_exists()); page_module_mgr.Itm__gallery().Enabled_ (dump_module_mgr.Gallery_packed_exists()); 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 e3b9d2ee1..bf6e460fb 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 @@ -49,21 +49,21 @@ public class Xohd_abrv_ { ; public static Btrie_slim_mgr new_trie() { Btrie_slim_mgr rv = Btrie_slim_mgr.cs_(); - trie_itm(rv, Tid_dir , Byte_ascii.Nil , Key_dir); + trie_itm(rv, Tid_dir , Byte_ascii.Null , Key_dir); trie_itm(rv, Tid_img , Byte_ascii.Apos , Key_img); trie_itm(rv, Tid_img_style , Byte_ascii.Apos , Key_img_style); trie_itm(rv, Tid_file_play , Byte_ascii.Apos , Key_file_play); trie_itm(rv, Tid_file_info , Byte_ascii.Apos , Key_file_info); trie_itm(rv, Tid_file_mgnf , Byte_ascii.Apos , Key_file_mgnf); - trie_itm(rv, Tid_hiero_dir , Byte_ascii.Nil , Key_hiero_dir); + trie_itm(rv, Tid_hiero_dir , Byte_ascii.Null , Key_hiero_dir); trie_itm(rv, Tid_gallery_box_max , Byte_ascii.Apos , Key_gallery_box_max); trie_itm(rv, Tid_gallery_box_w , Byte_ascii.Apos , Key_gallery_box_w); trie_itm(rv, Tid_gallery_img_w , Byte_ascii.Apos , Key_gallery_img_w); trie_itm(rv, Tid_gallery_img_pad , Byte_ascii.Apos , Key_gallery_img_pad); trie_itm(rv, Tid_redlink , Byte_ascii.Apos , Key_redlink); - trie_itm(rv, Tid_toc , Byte_ascii.Nil , Key_toc); -// trie_itm(rv, Tid_hdr_bgn , Byte_ascii.Nil , Key_hdr_bgn); -// trie_itm(rv, Tid_hdr_end , Byte_ascii.Nil , Key_hdr_end); + trie_itm(rv, Tid_toc , Byte_ascii.Null , Key_toc); +// trie_itm(rv, Tid_hdr_bgn , Byte_ascii.Null , Key_hdr_bgn); +// trie_itm(rv, Tid_hdr_end , Byte_ascii.Null , Key_hdr_end); return rv; } private static void trie_itm(Btrie_slim_mgr trie, byte tid, byte subst_end_byte, byte[] key_bry) { 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 16064a5a5..47e4869ac 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 @@ -68,7 +68,7 @@ public class Xohd_abrv_mgr { } private int Write_data(Bry_bfr bfr, Xoh_file_html_fmtr__base fmtr, Xog_page hpg, byte[] src, Xohd_data_itm__base[] imgs, int imgs_len, int uid_bgn, Hdump_html_fmtr_itm itm) { bry_rdr.Pos_(uid_bgn); - int uid = itm.Subst_end_byte() == Byte_ascii.Nil ? -1 : bry_rdr.Read_int_to(itm.Subst_end_byte()); + int uid = itm.Subst_end_byte() == Byte_ascii.Null ? -1 : bry_rdr.Read_int_to(itm.Subst_end_byte()); int uid_end = bry_rdr.Pos(); // set uid_end after subst_end int rv = uid_end; byte tid = itm.Tid(); @@ -132,7 +132,7 @@ public class Xohd_abrv_mgr { if (tid == Xohd_abrv_.Tid_img) { fmtr_img.Bld_bfr_many(bfr, img_src, img_view_w, img.Html_h()); } - } catch (Exception e) {Xoa_app_.Usr_dlg().Warn_many("", "", "abrv.read: page=~{0} itm=~{1} err=~{2}", hpg.Url_bry_safe(), img == null ? "" : img.Data_print(), Err_.Message_gplx(e));} + } catch (Exception e) {Xoa_app_.Usr_dlg().Warn_many("", "", "abrv.read: page=~{0} itm=~{1} err=~{2}", hpg.Url_bry_safe(), img == null ? "" : img.Data_print(), Err_.Message_gplx_full(e));} return rv; } private int Write_redlink(Bry_bfr bfr, Xog_page hpg, int uid, int rv) { diff --git a/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_link_dump_cmd.java b/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_link_dump_cmd.java index 67374eddd..fb0571814 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_link_dump_cmd.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/bldrs/Xob_link_dump_cmd.java @@ -50,7 +50,7 @@ public class Xob_link_dump_cmd { tbl.Create_idx_2(); conn.Env_vacuum(); } catch (Exception e) { - Tfds.Write(Err_.Message_gplx(e)); + Tfds.Write(Err_.Message_gplx_full(e)); } } } 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 6761f2de5..0b0b8f54d 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 @@ -60,7 +60,7 @@ public class Xohd_page_html_mgr__load { switch (tid) { case Xohd_data_itm__base.Tid_basic : img_itm = new Xohd_data_itm__img(); break; case Xohd_data_itm__base.Tid_gallery : img_itm = new Xohd_data_itm__gallery_itm(); break; - default : throw Exc_.new_unhandled(tid); + default : throw Err_.new_unhandled(tid); } img_itm.Data_parse(rdr); // Xoa_app_.Usr_dlg().Log_many("", "", "itm: ~{0}", img_itm.Data_print()); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm.java b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm.java index 717273ad6..1db265a54 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itm.java @@ -35,7 +35,7 @@ abstract class Xohd_page_srl_itm__base implements Xohd_page_srl_itm { } public abstract byte[] Save_itm(Xog_page hpg); public int Load(Xog_page hpg, byte[] bry, int bry_len, int itm_bgn, Int_obj_ref count_ref) { - int itm_len = Xow_hzip_int_.Load_bin_int_abrv(bry, bry_len, itm_bgn, count_ref); if (itm_len == -1) throw Exc_.new_("bry_itm has invalid len", "page", hpg.Page_id(), "tid", this.Tid()); + int itm_len = Xow_hzip_int_.Load_bin_int_abrv(bry, bry_len, itm_bgn, count_ref); if (itm_len == -1) throw Err_.new_wo_type("bry_itm has invalid len", "page", hpg.Page_id(), "tid", this.Tid()); int data_bgn = itm_bgn + count_ref.Val(); if (itm_len == 0) return data_bgn; int data_end = data_bgn + itm_len; byte[] itm_data = Bry_.Mid(bry, data_bgn, data_end); 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 e2f24424c..4a1c18a88 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 @@ -66,7 +66,7 @@ class Xog_page_bldr { public Xog_page Bld() { Xog_page rv = new Xog_page(); rv.Page_body_(body); - Xopg_module_mgr mod_mgr = rv.Module_mgr(); + Xopg_module_mgr mod_mgr = rv.Head_mgr(); if (html_modules != null) { mod_mgr.Math_exists_(html_modules[0]); mod_mgr.Imap_exists_(html_modules[1]); diff --git a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itms.java b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itms.java index cd8f6bc50..f18ea4259 100644 --- a/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itms.java +++ b/400_xowa/src/gplx/xowa/html/hdumps/data/srl/Xohd_page_srl_itms.java @@ -44,7 +44,7 @@ class Xohd_page_srl_itm__html_module implements Xohd_page_srl_itm { public int Load(Xog_page hpg, byte[] bry, int bry_len, int itm_bgn, Int_obj_ref count_ref) { itm_bgn += 2; // skip bin_int_abrv of [1, 0] byte flag = bry[itm_bgn]; - hpg.Module_mgr().Init(Enm_.Has_byte(flag, Tid_math), Enm_.Has_byte(flag, Tid_imap), Enm_.Has_byte(flag, Tid_packed), Enm_.Has_byte(flag, Tid_hiero)); + hpg.Head_mgr().Init(Enm_.Has_byte(flag, Tid_math), Enm_.Has_byte(flag, Tid_imap), Enm_.Has_byte(flag, Tid_packed), Enm_.Has_byte(flag, Tid_hiero)); return 3; } public void Save(Xog_page hpg, Bry_bfr bfr) { @@ -55,7 +55,7 @@ class Xohd_page_srl_itm__html_module implements Xohd_page_srl_itm { bfr.Add_byte(flag); } private static byte Calc_flag(Xog_page hpg) { - Xopg_module_mgr module_mgr = hpg.Module_mgr(); + Xopg_module_mgr module_mgr = hpg.Head_mgr(); return Calc_flag(module_mgr.Math_exists(), module_mgr.Imap_exists(), module_mgr.Gallery_packed_exists(), module_mgr.Hiero_exists()); } public static byte Calc_flag(boolean math, boolean imap, boolean packed, boolean hiero) { diff --git a/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm_.java b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm_.java new file mode 100644 index 000000000..ed6075f91 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm_.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.xowa.html.heads; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public class Xoh_head_itm_ { + public static final byte[] // SRL: navframe, toc, title_rewrite are in wiki.cfg + 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") + , Key__dbui = Bry_.new_a7("dbui") + , Key__bmk = Bry_.new_a7("bmk") + , Key__server = Bry_.new_a7("server") + ; +} diff --git a/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__base.java b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__base.java new file mode 100644 index 000000000..e01b13400 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__base.java @@ -0,0 +1,48 @@ +/* +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.heads; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public abstract class Xoh_head_itm__base { + public abstract byte[] Key(); + public abstract int Flags(); + public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} public void Enabled_y_() {this.Enabled_(Bool_.Y);} public void Enabled_n_() {this.Enabled_(Bool_.N);} private boolean enabled; + @gplx.Virtual public void Clear() {this.Enabled_(Bool_.N);} + @gplx.Virtual public void Write_css_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_css_text(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_js_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_js_head_global(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_js_head_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_js_tail_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + @gplx.Virtual public void Write_js_window_onload(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) {} + public static final int + Flag__disabled = 0 + , Flag__css_include = 1 + , Flag__css_text = 2 + , Flag__js_include = 4 + , Flag__js_head_global = 8 + , Flag__js_head_script = 16 + , Flag__js_tail_script = 32 + , Flag__js_window_onload = 64 + ; + public static final int Idx__max = 7; +} +/* +Position // top, bottom +Targets // mobile, desktop +Dependencies +Messages +*/ diff --git a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__collapsible.java similarity index 53% rename from 400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java rename to 400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__collapsible.java index 2d1d58274..c79e6c2cb 100644 --- a/400_xowa/src/gplx/xowa/html/modules/Xoh_module_itm__collapsible.java +++ b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__collapsible.java @@ -15,18 +15,11 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -package gplx.xowa.html.modules; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -public class Xoh_module_itm__collapsible implements Xoh_module_itm { - public byte[] Key() {return Xoh_module_itm_.Key_collapsible;} - 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 void Write_css_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) {} - 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_js_head_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) {} - public void Write_js_tail_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) {} - public void Write_js_head_global(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_module_wtr wtr) { - if (!enabled) return; +package gplx.xowa.html.heads; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +public class Xoh_head_itm__collapsible extends Xoh_head_itm__base { + @Override public byte[] Key() {return Xoh_head_itm_.Key__collapsible;} + @Override public int Flags() {return Flag__js_head_global;} + @Override public void Write_js_head_global(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { wtr.Write_js_global_ini_atr_val(Key_enabled , true); wtr.Write_js_global_ini_atr_val(Key_collapsed , app.Api_root().Html().Modules().Collapsible().Collapsed()); wtr.Write_js_global_ini_atr_msg(wiki , Key_collapse); diff --git a/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__css.java b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__css.java new file mode 100644 index 000000000..354e66d83 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__css.java @@ -0,0 +1,31 @@ +/* +XOWA: the XOWA Offline Wiki Application +Copyright (C) 2012 gnosygnu@gmail.com + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see . +*/ +package gplx.xowa.html.heads; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.gui.*; +public class Xoh_head_itm__css extends Xoh_head_itm__base { + @Override public byte[] Key() {return Xoh_head_itm_.Key__css;} + @Override public int Flags() {return Flag__css_text;} + @Override public void Write_css_text(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { + wtr.Write_css_style_itm(app.Ctg_mgr().Missing_ctg_cls_css()); + if (app.Html_mgr().Page_mgr().Font_enabled()) + wtr.Write_css_style_itm(app.Html_mgr().Page_mgr().Font_css_bry()); + byte[] css_xtn = app.Gui_mgr().Html_mgr().Css_xtn(); + if (Bry_.Len_gt_0(css_xtn)) + wtr.Write_css_style_itm(css_xtn); + } +} diff --git a/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__dbui.java b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__dbui.java new file mode 100644 index 000000000..663f6a0f5 --- /dev/null +++ b/400_xowa/src/gplx/xowa/html/heads/Xoh_head_itm__dbui.java @@ -0,0 +1,123 @@ +/* +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.heads; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.xowa.gui.*; +public class Xoh_head_itm__dbui extends Xoh_head_itm__base { + @Override public byte[] Key() {return Xoh_head_itm_.Key__dbui;} + @Override public int Flags() {return Flag__css_text | Flag__css_include | Flag__js_tail_script | Flag__js_window_onload;} + public Xoh_head_itm__dbui Init(Xoa_app app) { + if (dir_url == null) { + Io_url url_html_res = app.Fsys_mgr().Bin_any_dir().GenSubDir_nest("xowa", "html", "res"); + dir_url = url_html_res.GenSubDir_nest("src", "xowa", "dbui"); + url_dbui_js = dir_url.GenSubFil("dbui-0.1.1.js").To_http_file_bry(); + url_jquery_ui_js = url_html_res.GenSubFil_nest("lib", "jquery-ui", "jquery-ui-1.11.4.js").To_http_file_bry(); + url_jquery_ui_css = url_html_res.GenSubFil_nest("lib", "jquery-ui", "jquery-ui-1.11.4.css").To_http_file_bry(); + url_notify_js = url_html_res.GenSubFil_nest("lib", "notifyjs" , "notifyjs-0.3.1.js").To_http_file_bry(); + } + return this; + } + @Override public void Write_css_include(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { + wtr.Write_css_include(url_jquery_ui_css); + } + @Override public void Write_css_text(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { + wtr.Write_css_style_ary(Css__table_as_div); + } + @Override public void Write_js_tail_script(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { + wtr.Write_js_tail_load_lib(url_dbui_js); + wtr.Write_js_tail_load_lib(url_notify_js); + wtr.Write_js_tail_load_lib(url_jquery_ui_js); + } + @Override public void Write_js_window_onload(Xoae_app app, Xowe_wiki wiki, Xoae_page page, Xoh_head_wtr wtr) { + wtr.Write_js_lines(Js__sortable); + } + public static Io_url Img_dir() {return dir_url.GenSubDir("img");} private static Io_url dir_url; + private static byte[] url_dbui_js, url_notify_js, url_jquery_ui_js, url_jquery_ui_css; + private static final byte[][] + Css__table_as_div = Bry_.Ary(String_.Ary + ( ".xo_tbl {" + , " display: table;" + , " table-layout: fixed;" // don't auto-size to text content + , " width: 100%;" + , "}" + , ".xo_row {" + , " display: table-row;" + , "}" + , ".xo_head,.xo_origin {" + , " display: table-cell;" + , " padding: 3px 10px;" + , " border: 1px solid #999999;" + , " border-right: none;" + , " font-weight:bold;" + , "}" + , ".xo_origin {" + , " padding:0px;" // else box is larger than should be + , "}" + , ".xo_cell {" + , " display: table-cell;" + , " padding: 3px 10px;" + , " vertical-align: top;" // else