mirror of
https://github.com/gnosygnu/xowa.git
synced 2026-03-02 03:49:30 +00:00
v1.10.2.1
This commit is contained in:
@@ -28,7 +28,7 @@ public class ByteAry_fil {
|
||||
return this;
|
||||
}
|
||||
public Object Xto_itms(Class<?> itm_type) {
|
||||
Object rv = itms.XtoAry(itm_type);
|
||||
Object rv = itms.Xto_ary(itm_type);
|
||||
itms.Clear();
|
||||
if (raw_bry.length > raw_max) raw_bry = Bry_.Empty;
|
||||
raw_len.Val_zero_();
|
||||
|
||||
@@ -48,7 +48,7 @@ class Io_txn_mgr {
|
||||
}
|
||||
public boolean Commit() {
|
||||
int len = list.Count();
|
||||
Io_txn_itm[] itms = (Io_txn_itm[])list.XtoAry(Io_txn_itm.class);
|
||||
Io_txn_itm[] itms = (Io_txn_itm[])list.Xto_ary(Io_txn_itm.class);
|
||||
for (int i = 0; i < len; i++) {
|
||||
Io_txn_itm itm = itms[i];
|
||||
itm.Txn_init(tmp_dir);
|
||||
|
||||
@@ -18,21 +18,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
package gplx.xowa; import gplx.*;
|
||||
public class Xodb_page implements Xobl_data_itm {
|
||||
public Xodb_page() {this.Clear();}
|
||||
public int Id() {return id;} public Xodb_page Id_(int v) {id = v; id_val = null; return this;} private int id;
|
||||
public Int_obj_val Id_val() {if (id_val == null) id_val = Int_obj_val.new_(id); return id_val;} Int_obj_val id_val;
|
||||
public int Ns_id() {return ns_id;} public Xodb_page Ns_id_(int v) {ns_id = v; return this;} private int ns_id;
|
||||
public byte[] Ttl_wo_ns() {return ttl_wo_ns;} public Xodb_page Ttl_wo_ns_(byte[] v) {ttl_wo_ns = v; return this;} private byte[] ttl_wo_ns;
|
||||
public boolean Type_redirect() {return type_redirect;} public Xodb_page Type_redirect_(boolean v) {type_redirect = v; return this;} private boolean type_redirect;
|
||||
public int Text_len() {return text_len;} public Xodb_page Text_len_(int v) {text_len = v; return this;} private int text_len;
|
||||
public byte[] Text() {return text;} public Xodb_page Text_(byte[] v) {text = v; if (v != null) text_len = v.length; return this;} private byte[] text;
|
||||
public boolean Exists() {return exists;} public Xodb_page Exists_(boolean v) {exists = v; return this;} private boolean exists;
|
||||
public int Db_file_idx() {return db_file_idx;} public Xodb_page Db_file_idx_(int v) {db_file_idx = v; return this;} private int db_file_idx;
|
||||
public int Db_row_idx() {return db_row_idx;} public Xodb_page Db_row_idx_(int v) {db_row_idx = v; return this;} private int db_row_idx;
|
||||
public int Html_db_id() {return html_db_id;} public Xodb_page Html_db_id_(int v) {html_db_id = v; return this;} private int html_db_id;
|
||||
public DateAdp Modified_on() {return modified_on;} public Xodb_page Modified_on_(DateAdp v) {modified_on = v; return this;} DateAdp modified_on;
|
||||
public Xow_ns Ns() {return ns;} private Xow_ns ns;
|
||||
public Object Xtn() {return xtn;} public Xodb_page Xtn_(Object v) {this.xtn = v; return this;} Object xtn;
|
||||
public byte[] Ttl_w_ns() {return ttl_w_ns;} private byte[] ttl_w_ns;
|
||||
public int Id() {return id;} public Xodb_page Id_(int v) {id = v; id_val = null; return this;} private int id;
|
||||
public Int_obj_val Id_val() {if (id_val == null) id_val = Int_obj_val.new_(id); return id_val;} private Int_obj_val id_val;
|
||||
public int Ns_id() {return ns_id;} public Xodb_page Ns_id_(int v) {ns_id = v; return this;} private int ns_id;
|
||||
public byte[] Ttl_wo_ns() {return ttl_wo_ns;} public Xodb_page Ttl_wo_ns_(byte[] v) {ttl_wo_ns = v; return this;} private byte[] ttl_wo_ns;
|
||||
public boolean Type_redirect() {return type_redirect;} public Xodb_page Type_redirect_(boolean v) {type_redirect = v; return this;} private boolean type_redirect;
|
||||
public DateAdp Modified_on() {return modified_on;} public Xodb_page Modified_on_(DateAdp v) {modified_on = v; return this;} DateAdp modified_on;
|
||||
public int Text_len() {return text_len;} public Xodb_page Text_len_(int v) {text_len = v; return this;} private int text_len;
|
||||
public int Text_db_id() {return text_db_id;} public Xodb_page Text_db_id_(int v) {text_db_id = v; return this;} private int text_db_id;
|
||||
public int Html_db_id() {return html_db_id;} public Xodb_page Html_db_id_(int v) {html_db_id = v; return this;} private int html_db_id;
|
||||
public int Redirect_id() {return redirect_id;} public void Redirect_id_(int v) {redirect_id = v;} private int redirect_id;
|
||||
public byte[] Text() {return text;} public Xodb_page Text_(byte[] v) {text = v; if (v != null) text_len = v.length; return this;} private byte[] text;
|
||||
public boolean Exists() {return exists;} public Xodb_page Exists_(boolean v) {exists = v; return this;} private boolean exists;
|
||||
public int Db_row_idx() {return db_row_idx;} public Xodb_page Db_row_idx_(int v) {db_row_idx = v; return this;} private int db_row_idx;
|
||||
public Xow_ns Ns() {return ns;} private Xow_ns ns;
|
||||
public Object Xtn() {return xtn;} public Xodb_page Xtn_(Object v) {this.xtn = v; return this;} Object xtn;
|
||||
public byte[] Ttl_w_ns() {return ttl_w_ns;} private byte[] ttl_w_ns;
|
||||
public Xodb_page Ttl_(Xow_ns ns, byte[] ttl_wo_ns) {
|
||||
this.ns = ns;
|
||||
ns_id = ns.Id();
|
||||
@@ -63,7 +64,7 @@ public class Xodb_page implements Xobl_data_itm {
|
||||
}
|
||||
public void Clear() {
|
||||
id = Id_null; text_len = 0; // text_len should be 0 b/c text defaults to 0;
|
||||
db_file_idx = db_row_idx = 0; // default to 0, b/c some tests do not set and will fail at -1
|
||||
text_db_id = db_row_idx = 0; // default to 0, b/c some tests do not set and will fail at -1
|
||||
ns_id = Int_.MinValue;
|
||||
ttl_w_ns = ttl_wo_ns = null; text = Bry_.Empty; // default to Ary_empty for entries that have <text />
|
||||
ns = null;
|
||||
@@ -71,11 +72,12 @@ public class Xodb_page implements Xobl_data_itm {
|
||||
modified_on = DateAdp_.MinValue;
|
||||
id_val = null;
|
||||
html_db_id = -1;
|
||||
redirect_id = -1;
|
||||
}
|
||||
public void Copy(Xodb_page orig) {
|
||||
this.id = orig.id;
|
||||
this.text_len = orig.text_len;
|
||||
this.db_file_idx = orig.db_file_idx;
|
||||
this.text_db_id = orig.text_db_id;
|
||||
this.db_row_idx = orig.db_row_idx;
|
||||
this.ns_id = orig.ns_id;
|
||||
this.ttl_w_ns = orig.ttl_w_ns;
|
||||
@@ -88,8 +90,8 @@ public class Xodb_page implements Xobl_data_itm {
|
||||
this.id_val = null;
|
||||
this.html_db_id = orig.html_db_id;
|
||||
}
|
||||
public Xodb_page Set_all_(int id, int db_file_idx, int db_row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) {
|
||||
this.id = id; this.db_file_idx = db_file_idx; this.db_row_idx = db_row_idx; this.type_redirect = redirect; this.text_len = text_len; this.ttl_wo_ns = ttl_wo_ns;
|
||||
public Xodb_page Set_all_(int id, int text_db_id, int db_row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) {
|
||||
this.id = id; this.text_db_id = text_db_id; this.db_row_idx = db_row_idx; this.type_redirect = redirect; this.text_len = text_len; this.ttl_wo_ns = ttl_wo_ns;
|
||||
id_val = null;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -30,14 +30,14 @@ public class Xodb_page_ {
|
||||
private static void Txt_ttl_load(Xodb_page page, byte[] bry, int bgn, int end) {
|
||||
try {
|
||||
page.Id_ (Base85_utl.XtoIntByAry (bry, bgn + 0, bgn + 4));
|
||||
page.Db_file_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10));
|
||||
page.Text_db_id_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10));
|
||||
page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16));
|
||||
page.Type_redirect_ (bry[18] == Byte_ascii.Num_1);
|
||||
page.Text_len_ (Base85_utl.XtoIntByAry (bry, bgn + 20, bgn + 24));
|
||||
page.Ttl_wo_ns_ (Bry_.Mid (bry, bgn + 26, end));
|
||||
} catch (Exception e) {throw Err_.err_(e, "parse_by_ttl failed: {0}", String_.new_utf8_(bry, bgn, end));}
|
||||
}
|
||||
public static void Txt_ttl_save(Bry_bfr bfr, Xodb_page page) {Txt_ttl_save(bfr, page.Id(), page.Db_file_idx(), page.Db_row_idx(), page.Type_redirect(), page.Text_len(), page.Ttl_wo_ns());}
|
||||
public static void Txt_ttl_save(Bry_bfr bfr, Xodb_page page) {Txt_ttl_save(bfr, page.Id(), page.Text_db_id(), page.Db_row_idx(), page.Type_redirect(), page.Text_len(), page.Ttl_wo_ns());}
|
||||
public static void Txt_ttl_save(Bry_bfr bfr, int id, int file_idx, int row_idx, boolean redirect, int text_len, byte[] ttl_wo_ns) {
|
||||
bfr .Add_base85_len_5(id) .Add_byte_pipe()
|
||||
.Add_base85_len_5(file_idx) .Add_byte_pipe()
|
||||
@@ -52,8 +52,8 @@ public class Xodb_page_ {
|
||||
try {
|
||||
page.Clear();
|
||||
page.Id_ (Base85_utl.XtoIntByAry (bry, bgn + 0, bgn + 4));
|
||||
page.Db_file_idx_(Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10));
|
||||
page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16));
|
||||
page.Text_db_id_ (Base85_utl.XtoIntByAry (bry, bgn + 6, bgn + 10));
|
||||
page.Db_row_idx_ (Base85_utl.XtoIntByAry (bry, bgn + 12, bgn + 16));
|
||||
page.Type_redirect_ (bry[18] == Byte_ascii.Num_1);
|
||||
page.Text_len_ (Base85_utl.XtoIntByAry (bry, bgn + 20, bgn + 24));
|
||||
page.Ns_id_ (Base85_utl.XtoIntByAry (bry, bgn + 26, bgn + 30));
|
||||
@@ -62,7 +62,7 @@ public class Xodb_page_ {
|
||||
}
|
||||
public static void Txt_id_save(Bry_bfr bfr, Xodb_page page) {
|
||||
bfr .Add_base85_len_5(page.Id()) .Add_byte_pipe()
|
||||
.Add_base85_len_5(page.Db_file_idx()) .Add_byte_pipe()
|
||||
.Add_base85_len_5(page.Text_db_id()) .Add_byte_pipe()
|
||||
.Add_base85_len_5(page.Db_row_idx()) .Add_byte_pipe()
|
||||
.Add_byte(page.Type_redirect() ? Byte_ascii.Num_1 : Byte_ascii.Num_0).Add_byte_pipe()
|
||||
.Add_base85_len_5(page.Text_len()) .Add_byte_pipe()
|
||||
|
||||
@@ -50,7 +50,7 @@ public class Xow_hive_mgr_fxt {
|
||||
for (int fil_idx = 0; fil_idx < files; fil_idx++) {
|
||||
for (int ttl_idx = 0; ttl_idx < ttls_per_file; ttl_idx++) {
|
||||
tmp_bfr.Add_byte(ltr).Add_int_fixed(ttl_idx, ttl_bry_len);
|
||||
byte[] ttl_bry = tmp_bfr.XtoAryAndClear();
|
||||
byte[] ttl_bry = tmp_bfr.Xto_bry_and_clear();
|
||||
if (ttl_idx == 0) ttl_0 = ttl_bry;
|
||||
else if (ttl_idx == ttls_per_file - 1) ttl_n = ttl_bry;
|
||||
Xodb_page_.Txt_ttl_save(xdat_wtr.Bfr(), id++, 0, ttl_idx, ttl_idx % 2 == 1, 1, ttl_bry);
|
||||
@@ -71,7 +71,7 @@ public class Xow_hive_mgr_fxt {
|
||||
for (int i = 0; i < pages_len; i++)
|
||||
bfr.Add_byte_pipe().Add_base85_len_5(pages[i]);
|
||||
bfr.Add_byte_nl();
|
||||
byte[] row = bfr.Mkr_rls().XtoAryAndClear();
|
||||
byte[] row = bfr.Mkr_rls().Xto_bry_and_clear();
|
||||
hive_mgr.Create(Xow_dir_info_.Tid_category, key_bry, row);
|
||||
}
|
||||
public Xow_hive_mgr_fxt Create_id(int id, int fil_idx, int row_idx, boolean type_redirect, int itm_len, int ns_id, String ttl) {Create_id(app, hive_mgr, id, fil_idx, row_idx, type_redirect, itm_len, ns_id, ttl); return this;}
|
||||
@@ -85,7 +85,7 @@ public class Xow_hive_mgr_fxt {
|
||||
.Add_base85_len_5(itm_len) .Add_byte_pipe()
|
||||
.Add_base85_len_5(ns_id) .Add_byte_pipe()
|
||||
.Add_str(ttl) .Add_byte_nl();
|
||||
byte[] row = bfr.XtoAryAndClear();
|
||||
byte[] row = bfr.Xto_bry_and_clear();
|
||||
bfr.Mkr_rls();
|
||||
hive_mgr.Create(Xow_dir_info_.Tid_id, key_bry, row);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user