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("" + name + ">" + 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, "" + nodeName + ">", headBgn); if (tail == String_.Find_none) throw Exc_.new_("could not find tailPos", "headBgn", headBgn);
+ int tail = String_.FindFwd(xml, "" + nodeName + ">", 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
"
+ ), "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