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

uca category support and other changes

This commit is contained in:
gnosygnu
2016-10-12 08:57:22 -04:00
parent e3b393650d
commit 3fc2e0741f
187 changed files with 3486 additions and 2984 deletions

View File

@@ -54,4 +54,8 @@ public class Xobc_data_db {
tbl__import_step.Delete(step_id);
}
}
public static Xobc_data_db New(gplx.xowa.apps.fsys.Xoa_fsys_mgr fsys_mgr) {
return new Xobc_data_db(fsys_mgr.Bin_addon_dir().GenSubFil_nest("bldr", "central", "bldr_central.data_db.xowa"));
}
}

View File

@@ -0,0 +1,32 @@
/*
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 <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.addons.bldrs.centrals.dbs.datas; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.bldrs.*; import gplx.xowa.addons.bldrs.centrals.*; import gplx.xowa.addons.bldrs.centrals.dbs.*;
public class Xobc_task_regy_itm {
public Xobc_task_regy_itm(int id, int seqn, byte[] key, byte[] name, int step_count) {
this.id = id;
this.seqn = seqn;
this.key = key;
this.name = name;
this.step_count = step_count;
}
public int Id() {return id;} private final int id;
public int Seqn() {return seqn;} private final int seqn;
public byte[] Key() {return key;} private final byte[] key;
public byte[] Name() {return name;} private final byte[] name;
public int Step_count() {return step_count;} private final int step_count;
}

View File

@@ -67,6 +67,28 @@ public class Xobc_task_regy_tbl implements Db_tbl {
.Val_str(fld_task_key, task_key).Val_str(fld_task_name, task_name)
.Exec_insert();
}
public Xobc_task_regy_itm[] Select_by_wiki(byte[] wiki_domain) {
String sql = Db_sql_.Make_by_fmt(String_.Ary
( "SELECT *"
, "FROM task_regy"
, "WHERE task_key LIKE '{0}%'"
, "AND task_seqn != 999999"
), wiki_domain);
List_adp list = List_adp_.New();
Db_rdr rdr = conn.Stmt_sql(sql).Exec_select__rls_auto();
try {
while (rdr.Move_next()) {
list.Add(new Xobc_task_regy_itm
( rdr.Read_int("task_id")
, rdr.Read_int("task_seqn")
, rdr.Read_bry_by_str("task_key")
, rdr.Read_bry_by_str("task_name")
, rdr.Read_int("step_count")
));
}
} finally {rdr.Rls();}
return (Xobc_task_regy_itm[])list.To_ary_and_clear(Xobc_task_regy_itm.class);
}
public void Delete(int task_id) {
conn.Stmt_delete(tbl_name, fld_task_id).Crt_int(fld_task_id, task_id).Exec_delete();
}

View File

@@ -44,20 +44,7 @@ public class Xobc_import_step_tbl implements Db_tbl {
Db_rdr rdr = conn.Stmt_select(tbl_name, flds, fld_step_id).Crt_int(fld_step_id, step_id).Exec_select__rls_auto();
try {
return (rdr.Move_next())
? new Xobc_import_step_itm
( rdr.Read_int(fld_step_id)
, rdr.Read_int(fld_host_id)
, rdr.Read_bry_by_str(fld_wiki_abrv)
, rdr.Read_str(fld_wiki_date)
, rdr.Read_str(fld_import_name)
, rdr.Read_int(fld_import_type)
, rdr.Read_byte(fld_import_zip)
, rdr.Read_long(fld_import_size_zip)
, rdr.Read_long(fld_import_size_raw)
, rdr.Read_str(fld_import_md5)
, rdr.Read_long(fld_prog_size_end)
, rdr.Read_int(fld_prog_count_end)
)
? New_itm(rdr)
: Xobc_import_step_itm.Null;
}
finally {rdr.Rls();}
@@ -95,7 +82,39 @@ public class Xobc_import_step_tbl implements Db_tbl {
}
} finally {rdr.Rls();}
}
public Xobc_import_step_itm[] Select_by_task_id(int task_id) {
List_adp list = List_adp_.New();
Db_rdr rdr = conn.Stmt_sql(Db_sql_.Make_by_fmt(String_.Ary
( "SELECT s.*"
, "FROM import_step s"
, " JOIN step_map sm ON s.step_id = sm.step_id"
, "WHERE sm.task_id = {0}"
), task_id))
.Exec_select__rls_auto();
try {
while (rdr.Move_next()) {
list.Add(New_itm(rdr));
}
} finally {rdr.Rls();}
return (Xobc_import_step_itm[])list.To_ary_and_clear(Xobc_import_step_itm.class);
}
public void Rls() {
insert_stmt = Db_stmt_.Rls(insert_stmt);
}
private Xobc_import_step_itm New_itm(Db_rdr rdr) {
return new Xobc_import_step_itm
( rdr.Read_int(fld_step_id)
, rdr.Read_int(fld_host_id)
, rdr.Read_bry_by_str(fld_wiki_abrv)
, rdr.Read_str(fld_wiki_date)
, rdr.Read_str(fld_import_name)
, rdr.Read_int(fld_import_type)
, rdr.Read_byte(fld_import_zip)
, rdr.Read_long(fld_import_size_zip)
, rdr.Read_long(fld_import_size_raw)
, rdr.Read_str(fld_import_md5)
, rdr.Read_long(fld_prog_size_end)
, rdr.Read_int(fld_prog_count_end)
);
}
}