From ff869ecfc394888391791003ef51f6c6d4ae6ac9 Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Wed, 2 Nov 2016 09:09:42 -0400 Subject: [PATCH] User_wiki: Change input from file to folder --- 100_core/src/gplx/Io_url_.java | 1 + 400_xowa/src/gplx/xowa/Xowe_wiki.java | 1 - .../addons/users/wikis/regys/dbs/Xou_wiki_tbl.java | 4 ++-- .../users/wikis/regys/specials/itms/Xouw_itm_doc.java | 8 ++++---- .../users/wikis/regys/specials/itms/Xouw_itm_html.java | 2 +- .../users/wikis/regys/specials/itms/Xouw_itm_mgr.java | 10 ++++++---- .../wikis/regys/specials/itms/Xouw_itm_special.java | 2 +- .../regys/specials/itms/{ => bldrs}/Xopg_db_mgr.java | 2 +- 8 files changed, 16 insertions(+), 14 deletions(-) rename 400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/{ => bldrs}/Xopg_db_mgr.java (83%) diff --git a/100_core/src/gplx/Io_url_.java b/100_core/src/gplx/Io_url_.java index c02e481f1..9aa8e9aab 100644 --- a/100_core/src/gplx/Io_url_.java +++ b/100_core/src/gplx/Io_url_.java @@ -47,6 +47,7 @@ public class Io_url_ { public static Io_url lnx_dir_(String raw) {return new_inf_(EndsWith_or_add(raw, Op_sys.Lnx.Fsys_dir_spr_str()), IoUrlInfo_.Lnx);} public static Io_url new_fil_(String raw) {return new_any_(raw);} public static Io_url new_dir_(String raw) {return new_any_(raw);} // NOTE: for now, same as new_fil; stack overflow when doing new_dir + public static Io_url new_dir_infer(String raw) {return Op_sys.Cur().Tid_is_wnt() ? wnt_dir_(raw) : lnx_dir_(raw);} public static Io_url new_any_(String raw) {return new_inf_(raw, IoUrlInfoRegy.Instance.Match(raw));} public static Io_url new_inf_(String raw, IoUrlInfo info) {return String_.Eq(raw, "") ? Io_url_.Empty : new Io_url(raw, info);} public static Io_url New__http_or_fail(String raw) {return New__http_or_fail(Bry_.new_u8(raw));} diff --git a/400_xowa/src/gplx/xowa/Xowe_wiki.java b/400_xowa/src/gplx/xowa/Xowe_wiki.java index 5eb16d486..352a4d5cf 100644 --- a/400_xowa/src/gplx/xowa/Xowe_wiki.java +++ b/400_xowa/src/gplx/xowa/Xowe_wiki.java @@ -178,7 +178,6 @@ public class Xowe_wiki implements Xow_wiki, Gfo_invk, Gfo_evt_itm { public void Init_by_wiki() {Init_assert();} public Xowe_wiki Init_assert() {if (init_needed) Init_wiki(app.Usere()); return this;} public void Init_db_mgr() { - int j = 1; Io_url core_db_url = gplx.xowa.wikis.data.Xow_db_file__core_.Find_core_fil(this); if (core_db_url == null) { tdb_fsys_mgr.Scan_dirs(); diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java index 9f090a0f5..1c52fa427 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/dbs/Xou_wiki_tbl.java @@ -42,8 +42,8 @@ public class Xou_wiki_tbl implements Db_tbl { .Exec_insert() ; } - public boolean Upsert(int id, String domain, String name, String file) { - return Db_tbl__crud_.Upsert(conn, tbl_name, flds, String_.Ary(fld__wiki_id), id, domain, name, file, ""); + public boolean Upsert(int id, String domain, String name, Io_url core_url) { + return Db_tbl__crud_.Upsert(conn, tbl_name, flds, String_.Ary(fld__wiki_id), id, domain, name, core_url.Xto_api(), ""); } public Xou_wiki_itm[] Select_all() { Db_rdr rdr = conn.Stmt_select(tbl_name, flds).Exec_select__rls_auto(); diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_doc.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_doc.java index 664954fc6..5981b3d5a 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_doc.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_doc.java @@ -21,19 +21,19 @@ import gplx.langs.mustaches.*; class Xouw_itm_doc implements Mustache_doc_itm { private final boolean mode_is_new; private final int id; - private final String domain, name, file; - public Xouw_itm_doc(int id, String domain, String name, String file) { + private final String domain, name, dir; + public Xouw_itm_doc(int id, String domain, String name, String dir) { this.mode_is_new = id == -1; this.id = id; this.domain = domain; this.name = name; - this.file = file; + this.dir = dir; } public boolean Mustache__write(String key, Mustache_bfr bfr) { if (String_.Eq(key, "id")) bfr.Add_int(id); else if (String_.Eq(key, "domain")) bfr.Add_str_u8(domain); else if (String_.Eq(key, "name")) bfr.Add_str_u8(name); - else if (String_.Eq(key, "file")) bfr.Add_str_u8(file); + else if (String_.Eq(key, "dir")) bfr.Add_str_u8(dir); else return false; return true; } diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java index 283222774..171b19c01 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_html.java @@ -31,7 +31,7 @@ class Xouw_itm_html extends Xow_special_wtr__base { Xou_wiki_itm itm = db_mgr.Tbl__wiki().Select_by_key_or_null(domain); if (itm == null) itm = new Xou_wiki_itm(-1, "", "", Io_url_.Empty, ""); - return new Xouw_itm_doc(itm.Id(), itm.Domain(), itm.Name(), itm.Url().Xto_api()); + return new Xouw_itm_doc(itm.Id(), itm.Domain(), itm.Name(), itm.Url().OwnerDir().Xto_api()); } @Override protected void Bld_tags(Xoa_app app, Io_url addon_dir, Xopage_html_data page_data) { Xopg_tag_mgr head_tags = page_data.Head_tags(); diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java index 50e43539c..29cdce454 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_mgr.java @@ -26,9 +26,9 @@ class Xouw_itm_mgr { this.app = app; } public void Save(Json_nde args) { - Save(args.Get_as_int("id"), args.Get_as_str("domain"), args.Get_as_str("name"), args.Get_as_str("file")); + Save(args.Get_as_int("id"), args.Get_as_str("domain"), args.Get_as_str("name"), args.Get_as_str("dir")); } - public void Save(int id, String domain, String name, String url_str) { + public void Save(int id, String domain, String name, String dir_str) { boolean itm_is_new = false; // get next id if none provided if (id == -1) { @@ -39,8 +39,10 @@ class Xouw_itm_mgr { // insert into user_db.user_wiki Xouw_db_mgr db_mgr = new Xouw_db_mgr(app.User().User_db_mgr().Conn()); - db_mgr.Tbl__wiki().Upsert(id, domain, name, url_str); + Io_url dir_url = Io_url_.new_dir_infer(dir_str); + Io_url fil_url = dir_url.GenSubFil(domain + ".xowa"); + db_mgr.Tbl__wiki().Upsert(id, domain, name, fil_url); if (itm_is_new) - Xow_db_mkr.Create_wiki(new Xodb_wiki_data(domain, Io_url_.new_fil_(url_str))); + Xow_db_mkr.Create_wiki(new Xodb_wiki_data(domain, fil_url)); } } diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java index c0cc7985d..53e37b329 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xouw_itm_special.java @@ -28,5 +28,5 @@ public class Xouw_itm_special implements Xow_special_page { Xouw_itm_special(Xow_special_meta special__meta) {this.special__meta = special__meta;} public Xow_special_meta Special__meta() {return special__meta;} private final Xow_special_meta special__meta; public Xow_special_page Special__clone() {return this;} - public static final Xow_special_page Prototype = new Xouw_itm_special(Xow_special_meta.New_xo("XowaWikiRegister", "Register Wiki")); + public static final Xow_special_page Prototype = new Xouw_itm_special(Xow_special_meta.New_xo("XowaWikiItem", "Wiki Data")); } diff --git a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xopg_db_mgr.java similarity index 83% rename from 400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java rename to 400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xopg_db_mgr.java index ca2becbc6..5c16a01c4 100644 --- a/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/Xopg_db_mgr.java +++ b/400_xowa/src/gplx/xowa/addons/users/wikis/regys/specials/itms/bldrs/Xopg_db_mgr.java @@ -15,7 +15,7 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ -package gplx.xowa.addons.users.wikis.regys.specials.itms; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.users.*; import gplx.xowa.addons.users.wikis.*; import gplx.xowa.addons.users.wikis.regys.*; import gplx.xowa.addons.users.wikis.regys.specials.*; +package gplx.xowa.addons.users.wikis.regys.specials.itms.bldrs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.users.*; import gplx.xowa.addons.users.wikis.*; import gplx.xowa.addons.users.wikis.regys.*; import gplx.xowa.addons.users.wikis.regys.specials.*; import gplx.xowa.addons.users.wikis.regys.specials.itms.*; import gplx.dbs.*; import gplx.dbs.cfgs.*; import gplx.xowa.wikis.dbs.*; import gplx.xowa.wikis.data.*; import gplx.xowa.wikis.data.tbls.*; import gplx.xowa.addons.users.wikis.regys.dbs.*;