From 3df6db4b7bcc601ca4fa2995ffd06d4fc4a7628c Mon Sep 17 00:00:00 2001 From: gnosygnu Date: Sun, 1 Feb 2015 15:11:16 -0500 Subject: [PATCH] v2.2.1.1 --- .../gplx/core}/criterias/Criteria.java | 6 +- .../gplx/core}/criterias/Criteria_.java | 7 +- .../core}/criterias/Criteria_between.java | 18 ++- .../core/criterias/Criteria_bool_base.java | 57 ++++++++ .../gplx/core}/criterias/Criteria_comp.java | 21 +-- .../gplx/core}/criterias/Criteria_eq.java | 17 +-- .../src/gplx/core/criterias/Criteria_fld.java | 67 +++++++++ .../gplx/core}/criterias/Criteria_in.java | 27 ++-- .../core}/criterias/Criteria_ioItm_tst.java | 4 +- .../core}/criterias/Criteria_ioMatch.java | 16 ++- .../gplx/core}/criterias/Criteria_like.java | 16 ++- .../gplx/core}/criterias/Criteria_tst.java | 2 +- .../gplx/core/primitives}/Bool_obj_ref.java | 2 +- .../gplx/core/primitives}/Bool_obj_val.java | 2 +- .../gplx/core/primitives}/Bry_obj_ref.java | 2 +- .../gplx/core/primitives}/Byte_obj_ref.java | 2 +- .../gplx/core/primitives}/Byte_obj_val.java | 2 +- .../gplx/core/primitives}/Double_obj_val.java | 2 +- .../gplx/core/primitives}/Int_obj_ref.java | 2 +- .../gplx/core/primitives}/Int_obj_val.java | 2 +- .../gplx/core/primitives}/String_obj_ref.java | 2 +- .../gplx/core/primitives}/String_obj_val.java | 10 +- .../gplx/{ => core/strings}/String_bldr.java | 2 +- .../gplx/{ => core/strings}/String_bldr_.java | 2 +- .../gplx/core/strings}/String_ring.java | 2 +- .../gplx/core/strings}/String_ring_tst.java | 2 +- 100_core/src_000_err/gplx/ErrMsgWtr.java | 1 + 100_core/src_000_err/gplx/Err_.java | 1 + 100_core/src_100_interface/gplx/SrlAble_.java | 1 + 100_core/src_110_primitive/gplx/Array_.java | 1 + 100_core/src_110_primitive/gplx/Bry_.java | 8 +- 100_core/src_110_primitive/gplx/Bry__tst.java | 2 +- 100_core/src_110_primitive/gplx/Bry_bfr.java | 1 + 100_core/src_110_primitive/gplx/Bry_fmtr.java | 1 + 100_core/src_110_primitive/gplx/Double_.java | 26 ++-- 100_core/src_110_primitive/gplx/Float_.java | 22 ++- 100_core/src_110_primitive/gplx/Int_.java | 1 + 100_core/src_110_primitive/gplx/Long_.java | 25 ++-- 100_core/src_110_primitive/gplx/String_.java | 1 + .../src_120_basicDataType/gplx/EnmMgr.java | 1 + .../src_120_basicDataType/gplx/Io_url.java | 2 +- .../gplx/KeyValList.java | 1 + .../src_120_basicDataType/gplx/KeyVal_.java | 1 + .../gplx/TimeSpanAdp.java | 1 + .../gplx/TimeSpanAdp_.java | 1 + .../gplx/criterias/Criteria_bool_base.java | 51 ------- .../gplx/criterias/Criteria_wrapper.java | 35 ----- 100_core/src_140_list/gplx/HashAdp_.java | 1 + 100_core/src_140_list/gplx/Hash_adp_bry.java | 1 + 100_core/src_140_list/gplx/ListAdp_base.java | 2 +- 100_core/src_140_list/gplx/OrderedHash_.java | 1 + .../src_140_list/gplx/OrderedHash_base.java | 1 + 100_core/src_150_text/gplx/intl/Utf16_.java | 1 + .../src_150_text/gplx/intl/Utf16__tst.java | 2 +- 100_core/src_150_text/gplx/texts/RegxAdp.java | 2 +- .../src_150_text/gplx/texts/RegxBldr.java | 1 + .../gplx/texts/RegxPatn_cls_ioMatch_.java | 1 + .../gplx/texts/RegxPatn_cls_like_.java | 1 + .../gplx/texts/StringTableBldr.java | 1 + 100_core/src_200_io/gplx/Io_mgr.java | 2 +- 100_core/src_200_io/gplx/ios/IoEngine.java | 2 +- .../src_200_io/gplx/ios/IoEngine_system.java | 2 +- .../gplx/ios/IoEngine_xrg_deleteDir.java | 2 +- .../gplx/ios/IoEngine_xrg_queryDir.java | 12 +- .../gplx/ios/IoEngine_xrg_recycleFil.java | 1 + .../gplx/ios/IoEngine_xrg_xferDir.java | 2 +- 100_core/src_200_io/gplx/ios/IoItmDir.java | 2 +- .../src_200_io/gplx/ios/IoRecycleBin.java | 1 + .../src_200_io/gplx/ios/IoUrlTypeRegy.java | 1 + 100_core/src_210_env/gplx/ProcessAdp.java | 1 + 100_core/src_310_gfoNde/gplx/GfoFldList_.java | 1 + 100_core/src_310_gfoNde/gplx/GfoNde.java | 1 + .../src_311_gfoObj/gplx/GfoInvkAble_.java | 1 + .../src_311_gfoObj/gplx/GfoInvkCmdMgr.java | 1 + 100_core/src_311_gfoObj/gplx/GfoMsg_.java | 1 + 100_core/src_330_store/gplx/DataRdr.java | 1 + 100_core/src_330_store/gplx/DataRdr_.java | 1 + .../gplx/stores/DataRdr_base.java | 1 + .../gplx/stores/xmls/XmlDataWtr_.java | 1 + .../gplx/stores/dsvs/DsvDataRdr_.java | 1 + .../stores/dsvs/DsvDataRdr_csv_dat_tst.java | 2 +- .../gplx/stores/dsvs/DsvDataWtr.java | 1 + 100_core/src_400_gfs/gplx/GfsCoreHelp.java | 1 + .../src_420_usrMsg/gplx/Gfo_usr_dlg_ui.java | 1 + .../src_420_usrMsg/gplx/Gfo_usr_dlg_ui_.java | 1 + .../gplx/Gfo_usr_dlg_ui_test.java | 1 + 100_core/src_420_usrMsg/gplx/UsrMsg.java | 1 + 100_core/src_800_tst/gplx/PerfLogMgr_fxt.java | 1 + 100_core/src_800_tst/gplx/Tfds.java | 1 + 100_core/src_900_xml/gplx/HierStrBldr.java | 1 + 100_core/src_900_xml/gplx/xmls/Xpath_.java | 1 + 100_core/tst/gplx/TfdsTstr_fxt.java | 1 + 110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java | 1 + 110_gfml/src_100_tkn/gplx/gfml/GfmlTkn.java | 1 + 110_gfml/src_200_type/gplx/gfml/GfmlFld.java | 1 + .../src_300_gdoc/gplx/gfml/GfmlDocPos.java | 1 + .../src_300_gdoc/gplx/gfml/GfmlDocWtr_.java | 1 + .../gplx/gfml/GfmlStringHighlighter.java | 1 + 110_gfml/src_600_rdrWtr/gplx/gfml/SqlDoc.java | 2 +- .../gplx/gfml/ymoks_GfmlAtr_GfmlNde_mok.java | 1 + 110_gfml/tst/gplx/gfml/z901_perf_tst.java | 2 +- 140_dbs/src/gplx/dbs/Db_conn.java | 5 + 140_dbs/src/gplx/dbs/Db_conn_mkr.java | 1 + 140_dbs/src/gplx/dbs/Db_conn_pool.java | 13 +- 140_dbs/src/gplx/dbs/Db_meta_fld.java | 1 + 140_dbs/src/gplx/dbs/Db_meta_fld_list.java | 24 +++- 140_dbs/src/gplx/dbs/Db_meta_tbl.java | 1 + 140_dbs/src/gplx/dbs/Db_sqlbldr_tst.java | 2 +- 140_dbs/src/gplx/dbs/Db_sys_regy_mgr_tst.java | 4 +- 140_dbs/src/gplx/dbs/Db_sys_regy_tbl.java | 14 +- 140_dbs/src/gplx/dbs/Db_url_.java | 4 +- 140_dbs/src/gplx/dbs/Db_url__base.java | 1 + 140_dbs/src/gplx/dbs/Sql_join_itm.java | 16 +-- 140_dbs/src/gplx/dbs/Sql_qry_wtr.java | 2 +- 140_dbs/src/gplx/dbs/Sql_qry_wtr_ansi.java | 77 +++++----- 140_dbs/src/gplx/dbs/Sql_qry_wtr_tst.java | 6 +- 140_dbs/src/gplx/dbs/Sql_select.java | 10 ++ 140_dbs/src/gplx/dbs/Sql_where.java | 32 ----- .../gplx/dbs/engines/mems/Db_stmt__mem.java | 40 ++++-- .../src/gplx/dbs/engines/mems/Mem_tbl.java | 57 +++----- .../{ => engines/sqlite}/Db_url__sqlite.java | 2 +- 140_dbs/src_110_dbQry/gplx/dbs/Db_qry_.java | 2 +- .../gplx/dbs/Db_qry__select_in_tbl.java | 25 ++-- .../src_110_dbQry/gplx/dbs/Db_qry_delete.java | 18 +-- .../gplx/dbs/Db_qry_dml_tst.java | 2 +- .../src_110_dbQry/gplx/dbs/Db_qry_insert.java | 6 +- .../src_110_dbQry/gplx/dbs/Db_qry_select.java | 7 +- .../src_110_dbQry/gplx/dbs/Db_qry_update.java | 23 ++- .../src_120_sql/gplx/dbs/Db_obj_ary_crt.java | 14 +- .../src_120_sql/gplx/dbs/Db_obj_ary_tst.java | 2 +- 140_dbs/src_130_misc/gplx/dbs/Db_crt_.java | 49 ++++--- .../gplx/dbs/Sqlite_engine.java | 2 +- .../gplx/dbs/Sqlite_engine_.java | 1 + 140_dbs/src_400_tdbs/gplx/dbs/TdbDelete.java | 2 +- 140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java | 4 +- 140_dbs/src_400_tdbs/gplx/dbs/TdbUpdate.java | 6 +- .../src_410_stores/gplx/stores/DbMaprRdr.java | 2 +- .../src_410_stores/gplx/stores/DbMaprWtr.java | 2 +- 140_dbs/tst/gplx/dbs/AnsiSqlWtr_tst.java | 2 +- 140_dbs/tst/gplx/dbs/Db_conn_fxt.java | 1 + 140_dbs/tst/gplx/dbs/Db_crt_tst.java | 2 +- .../tst/gplx/dbs/IoSqlCriteriaWriter_tst.java | 8 +- .../src_110_draw_core/gplx/gfui/ColorAdp.java | 2 +- .../src_110_draw_core/gplx/gfui/FontAdp.java | 1 + .../gplx/gfui/FontStyleAdp_.java | 1 + .../src_110_draw_core/gplx/gfui/PenAdp.java | 1 + .../gplx/gfui/GfuiBorderMgr.java | 1 + 150_gfui/src_200_ipt/gplx/gfui/IptArg.java | 1 + .../src_200_ipt/gplx/gfui/IptBndMgr_tst.java | 2 +- 150_gfui/src_200_ipt/gplx/gfui/IptBnd_.java | 1 + .../gplx/gfui/GxwTextHtml_lang.java | 1 + .../gplx/gfui/GfuiElemBase.java | 1 + .../gplx/gfui/Gfui_html_cfg.java | 1 + .../gplx/gfui/Gfui_html_cfg_tst.java | 2 +- .../src_600_adp/gplx/gfui/ClipboardAdp_.java | 1 + 150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java | 1 + 150_gfui/tst/gplx/gfui/GfxItm_base.java | 1 + 150_gfui/tst/gplx/gfui/GfxLineItm.java | 1 + 150_gfui/tst/gplx/gfui/GfxRectItm.java | 1 + 150_gfui/xtn/gplx/gfui/Swt_html.java | 1 + .../src/gplx/core/btries/Btrie_bwd_mgr.java | 1 + .../src/gplx/core/btries/Btrie_fast_mgr.java | 1 + .../src/gplx/core/btries/Btrie_slim_mgr.java | 1 + .../src/gplx/core/regxs/Gfo_pattern_itm.java | 1 + .../src/gplx/core/regxs/Gfo_pattern_tst.java | 2 +- .../gplx/dbs/schemas/Schema_loader_mgr_.java | 2 +- .../src/gplx/fsdb/Binary_search__tst.java | 2 +- 400_xowa/src/gplx/fsdb/Fsdb_cfg_tbl.java | 4 +- 400_xowa/src/gplx/fsdb/Fsdb_db_abc_mgr.java | 2 +- 400_xowa/src/gplx/fsdb/Fsdb_db_atr_fil.java | 3 +- 400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java | 17 +++ 400_xowa/src/gplx/fsdb/Fsdb_db_bin_fil.java | 2 +- 400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java | 25 ++++ 400_xowa/src/gplx/fsdb/Fsdb_fil_tbl.java | 26 +++- 400_xowa/src/gplx/fsdb/Fsdb_mnt_mgr.java | 1 + 400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java | 17 +++ 400_xowa/src/gplx/fsdb/Fsdb_xtn_thm_tbl.java | 33 ++++- 400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java | 2 +- 400_xowa/src/gplx/html/Html_utl.java | 2 +- .../src/gplx/php/Php_text_itm_parser.java | 1 + 400_xowa/src/gplx/threads/Gfo_async_mgr.java | 1 + 400_xowa/src/gplx/xowa/Xoa_app_.java | 2 +- .../gplx/xowa/apps/fsys/Xoa_fsys_eval.java | 1 + 400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java | 1 + 400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java | 1 + .../xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java | 1 + .../bldrs/cfgs/Xob_wiki_cfg_bldr_tst.java | 2 +- .../xowa/bldrs/files/Xob_xfer_regy_tbl.java | 4 +- .../xowa/bldrs/imports/Xob_search_base.java | 1 + .../xowa/bldrs/imports/Xobc_core_cleanup.java | 2 +- .../ctgs/Xob_category_registry_sql_tst.java | 2 +- .../ctgs/Xob_categorylinks_sql_tst.java | 2 +- .../bldrs/imports/ctgs/Xob_ctg_v1_base.java | 2 +- .../xowa/bldrs/langs/Json_itm_wkr__base.java | 2 +- .../bldrs/langs/Xobc_utl_make_lang_tst.java | 2 +- .../xowa/bldrs/langs/Xol_mw_lang_parser.java | 2 +- .../gplx/xowa/bldrs/oimgs/Xodb_db_file.java | 1 + .../wiki_cfgs/Xoi_wiki_props_api_tst.java | 2 +- .../src/gplx/xowa/ctgs/Xoctg_idx_mgr.java | 2 +- .../src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java | 2 +- 400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java | 1 + 400_xowa/src/gplx/xowa/dbs/Xodb_ctx.java | 1 + 400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java | 2 +- .../src/gplx/xowa/dbs/Xodb_load_mgr_sql.java | 2 +- .../gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java | 2 +- .../src/gplx/xowa/dbs/Xodb_load_mgr_txt.java | 2 +- 400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java | 8 +- .../gplx/xowa/dbs/tbls/Xodb_category_itm.java | 2 +- .../xowa/dbs/tbls/Xodb_categorylinks_tbl.java | 4 +- .../gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java | 2 +- .../src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java | 8 +- .../dbs/tbls/Xodb_search_title_word_tbl.java | 4 +- .../src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java | 2 +- .../gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java | 4 +- .../gplx/xowa/files/Xof_lnki_file_mgr.java | 2 +- .../src/gplx/xowa/files/Xow_file_mgr.java | 2 +- .../src/gplx/xowa/files/bins/Bin_fetcher.java | 1 + .../src/gplx/xowa/files/bins/Xof_bin_mgr.java | 1 + .../xowa/files/bins/Xof_bin_wkr_fsdb_sql.java | 2 +- .../files/cnvs/Xof_img_wkr_resize_img.java | 1 + .../Xof_img_wkr_resize_img_imageMagick.java | 1 + .../cnvs/Xof_img_wkr_resize_img_mok.java | 2 +- .../gplx/xowa/files/fsdb/Xof_fsdb_mgr.java | 11 +- .../gplx/xowa/files/fsdb/Xof_fsdb_mgr_.java | 16 +-- .../xowa/files/fsdb/Xof_fsdb_mgr_mem.java | 10 +- .../xowa/files/fsdb/Xof_fsdb_mgr_sql.java | 31 ++-- .../xowa/files/fsdb/caches/Cache_fil_mgr.java | 1 + .../xowa/files/fsdb/caches/Cache_mgr.java | 1 + .../xowa/files/fsdb/fs_roots/Fs_root_dir.java | 1 + .../files/fsdb/fs_roots/Fs_root_fsdb_mgr.java | 12 +- .../files/fsdb/fs_roots/Fs_root_wkr_fsdb.java | 2 +- .../xowa/files/fsdb/tsts/Xof_file_fxt.java | 4 +- .../xowa/files/qrys/Xof_qry_wkr_xowa_reg.java | 1 + .../files/wiki_orig/Xof_orig_regy_tbl.java | 114 --------------- .../files/wiki_orig/Xof_wiki_orig_tbl.java | 2 +- .../wiki_orig/Xof_wiki_orig_tbl_in_wkr.java | 2 + .../gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java | 2 +- .../src/gplx/xowa/gui/views/Xog_html_itm.java | 2 +- .../src/gplx/xowa/hdumps/Xowd_hdump_mgr.java | 8 +- .../gplx/xowa/hdumps/srls/Hpg_srl_itm.java | 2 +- .../gplx/xowa/hdumps/srls/Hpg_srl_itm_.java | 2 +- .../xowa/hdumps/srls/Hpg_srl_itm__tst.java | 2 +- .../gplx/xowa/hdumps/srls/Hpg_srl_mgr.java | 2 +- 400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java | 1 + 400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java | 1 + .../xowa/html/hzips/Xow_hzip_itm__anchor.java | 2 +- .../gplx/xowa/html/hzips/Xow_hzip_mgr.java | 2 +- .../gplx/xowa/html/hzips/Xow_hzip_xtid.java | 1 + .../gplx/xowa/html/lnkis/Xoh_file_mgr.java | 1 + .../html/modules/popups/Xow_popup_mgr.java | 2 +- .../modules/popups/Xow_popup_parser_tst.java | 2 +- .../html/sidebar/Xowh_sidebar_mgr_tst.java | 2 +- .../src/gplx/xowa/html/tocs/Xow_hdr_mgr.java | 1 + .../gplx/xowa/langs/cases/Xol_case_itm.java | 1 + .../xowa/langs/cases/Xol_case_mgr_tst.java | 2 +- .../xowa/langs/grammars/Xol_grammar_.java | 2 +- .../xowa/langs/grammars/Xol_grammar_fi.java | 2 +- .../xowa/langs/numbers/Xol_num_fmtr_base.java | 2 +- .../gplx/xowa/servers/Gxw_html_server.java | 2 +- .../gplx/xowa/servers/tcp/Xosrv_msg_rdr.java | 1 + .../gplx/xowa/servers/tcp/Xosrv_server.java | 2 +- .../xowa/setup/maints/Wmf_latest_parser.java | 26 ++-- .../setup/maints/Wmf_latest_parser_tst.java | 14 +- .../specials/allPages/Xows_page_allpages.java | 2 +- .../xowa/specials/movePage/Move_page.java | 1 + .../search/Xog_search_suggest_cmd.java | 1 + .../gplx/xowa/specials/search/Xosrh_core.java | 2 +- .../xowa/specials/search/Xosrh_ns_mgr.java | 1 + .../xowa/specials/search/Xosrh_scanner.java | 2 +- .../xowa/file_browsers/Xoa_url_arg_mgr.java | 1 + .../xowa/system_data/System_data_page.java | 1 + .../src/gplx/xowa/users/Xoc_layout_mgr.java | 2 +- .../gplx/xowa/users/data/Xoud_data_mgr.java | 12 +- .../src/gplx/xowa/users/dbs/Xou_db_mgr.java | 1 + .../xowa/users/history/Xou_history_itm.java | 1 + .../xowa/users/history/Xou_history_mgr.java | 1 + .../src/gplx/xowa/users/prefs/Prefs_mgr.java | 2 +- .../src/gplx/xowa/wikis/Xow_wiki_abrv_.java | 2 +- .../src/gplx/xowa/wikis/Xow_wiki_alias.java | 2 +- .../gplx/xowa/wikis/Xow_wiki_alias_tst.java | 2 +- .../src/gplx/xowa/wikis/Xow_wiki_domain_.java | 1 + .../xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java | 2 +- 400_xowa/src/gplx/xowa/xtns/Xow_xtn_mgr.java | 2 +- 400_xowa/src/gplx/xowa/xtns/cite/Ref_nde.java | 1 + .../gplx/xowa/xtns/cite/References_nde.java | 1 + .../xowa/xtns/dynamicPageList/Dpl_itm.java | 4 +- .../xtns/dynamicPageList/Dpl_itm_keys.java | 1 + .../xowa/xtns/dynamicPageList/Dpl_xnde.java | 1 + .../xtns/dynamicPageList/Dpl_xnde_tst.java | 2 +- .../xowa/xtns/gallery/Gallery_itm_parser.java | 2 +- .../xowa/xtns/gallery/Gallery_mgr_base_.java | 1 + .../gplx/xowa/xtns/gallery/Gallery_xnde.java | 1 + .../xtns/hieros/Hiero_mw_tables_parser.java | 1 + .../gplx/xowa/xtns/imaps/Imap_desc_tid.java | 2 +- .../gplx/xowa/xtns/imaps/Imap_itm_shape.java | 1 + .../src/gplx/xowa/xtns/imaps/Imap_parser.java | 2 +- .../gplx/xowa/xtns/imaps/Imap_parser_tst.java | 2 +- .../xowa/xtns/imaps/Imap_pts_fmtr_arg.java | 1 + .../xowa/xtns/indicators/Indicator_xnde.java | 2 +- .../gplx/xowa/xtns/listings/Listing_xnde.java | 4 +- .../gplx/xowa/xtns/lst/Lst_section_nde.java | 1 + .../xowa/xtns/mapSources/Map_dd2dms_func.java | 1 + .../xtns/mapSources/Map_geolink_func.java | 1 + .../gplx/xowa/xtns/mapSources/Map_math.java | 3 +- .../src/gplx/xowa/xtns/math/Xof_math_mgr.java | 2 +- .../xowa/xtns/pfuncs/ifs/Pfunc_iferror.java | 2 +- .../xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java | 2 +- .../src/gplx/xowa/xtns/poems/Poem_nde.java | 4 +- .../gplx/xowa/xtns/poems/Poem_nde_tst.java | 14 ++ .../xtns/proofreadPage/Pp_index_parser.java | 2 +- .../xowa/xtns/proofreadPage/Pp_pages_nde.java | 3 +- .../src/gplx/xowa/xtns/scores/Score_xnde.java | 1 + .../engines/process/Process_recv_msg.java | 2 +- .../xtns/scribunto/errs/Gfo_fld_owner.java | 6 +- .../xtns/scribunto/errs/Scrib_err_mgr.java | 2 +- .../xtns/scribunto/lib/Scrib_lib_message.java | 2 +- .../xowa/xtns/scribunto/lib/Scrib_lib_mw.java | 1 + .../lib/Scrib_lib_text_html_entities.java | 1 + .../xtns/scribunto/lib/Scrib_lib_title.java | 1 + .../scribunto/lib/Scrib_lib_title_tst.java | 9 +- .../xtns/scribunto/lib/Scrib_lib_ustring.java | 2 +- .../lib/Scrib_lib_ustring__lib_tst.java | 3 +- .../Xtn_syntaxHighlight_nde.java | 1 + .../xtns/translates/Xop_languages_xnde.java | 1 + .../src/gplx/xowa/xtns/wdatas/Wdata_doc.java | 1 + .../gplx/xowa/xtns/wdatas/Wdata_doc_bldr.java | 1 + .../gplx/xowa/xtns/wdatas/Wdata_wiki_mgr.java | 1 + .../xowa/xtns/wdatas/Wdata_wiki_mgr_fxt.java | 1 + .../xtns/wdatas/core/Wdata_claim_grp.java | 1 + .../xtns/wdatas/core/Wdata_dict_rank.java | 1 + .../xtns/wdatas/core/Wdata_dict_snak_tid.java | 1 + .../xowa/xtns/wdatas/core/Wdata_dict_utl.java | 1 + .../xtns/wdatas/core/Wdata_dict_val_tid.java | 1 + .../xowa/xtns/wdatas/hwtrs/Wdata_lbl_mgr.java | 1 + .../parsers/Wdata_claims_parser_v2.java | 1 + .../wdatas/parsers/Wdata_doc_parser_v1.java | 2 +- .../wdatas/pfuncs/Wdata_pf_property_data.java | 1 + .../xtns/xowa_cmds/Xox_xowa_html_cmd.java | 2 +- .../src/gplx/xowa2/apps/Xoav_wiki_mgr.java | 5 +- .../src/gplx/xowa2/files/Xof_orig_mgr.java | 2 +- .../src/gplx/xowa2/files/Xofv_file_itm.java | 2 +- .../src/gplx/xowa2/files/Xofv_file_mgr.java | 1 + .../gplx/xowa2/files/Xofv_file_mgr_tst.java | 4 +- .../src/gplx/xowa2/files/Xofv_repo_mgr.java | 1 + .../src/gplx/xowa2/files/Xou_cache_mgr.java | 1 + .../files/commons/Xof_commons_image_tbl.java | 6 +- .../metas/Xof_file_meta_wkr__db_orig.java | 2 +- .../files/orig_regy}/Xof_orig_regy_itm.java | 4 +- .../files/orig_regy/Xof_orig_regy_tbl.java | 135 ++++++++++++++++++ .../orig_regy/Xof_orig_regy_tbl_tst.java | 65 +++++++++ .../src/gplx/xowa2/gui/Xogv_tab_base.java | 2 +- .../gplx/xowa2/users/data/Xoud_site_mgr.java | 9 +- .../gplx/xowa2/users/data/Xoud_site_row.java | 5 +- .../gplx/xowa2/users/data/Xoud_site_tbl.java | 82 ++++++----- 400_xowa/src/gplx/xowa2/wikis/Xowv_wiki.java | 19 +-- .../gplx/xowa2/wikis/data/Xodata_db_mgr.java | 52 ------- .../gplx/xowa2/wikis/data/Xowd_data_mgr.java | 59 ++++++++ .../xowa2/wikis/data/Xowd_db_regy_tbl.java | 64 +++++++++ .../xowa2/wikis/data/Xowd_ns_regy_tbl.java | 113 +++++++++++++++ ..._regy_tbl.java => Xowd_page_regy_tbl.java} | 67 +++++---- .../xowa2/wikis/data/tbls/Xodata_db_tbl.java | 51 ------- .../wikis/data/tbls/Xodata_ns_regy_tbl.java | 76 ---------- .../wikis/data/tbls/Xow_ns_regy_tbl.java | 78 ---------- 400_xowa/src_040_io/gplx/ios/Io_sort_tst.java | 2 +- 400_xowa/src_060_utl/gplx/App_cmd_mgr.java | 1 + 400_xowa/src_060_utl/gplx/Bry_cache.java | 1 + .../src_060_utl/gplx/Gfo_log_wtr_base.java | 1 + .../src_060_utl/gplx/Gfo_usr_dlg_ui_swt.java | 2 +- 400_xowa/src_060_utl/gplx/HierPosAryBldr.java | 1 + 400_xowa/src_060_utl/gplx/Tst_mgr.java | 1 + .../src_100_app/gplx/xowa/Xoa_hive_mgr.java | 1 + .../gplx/xowa/Xoac_wiki_cfg_bldr_cmd.java | 1 + 400_xowa/src_120_wiki/gplx/xowa/Xow_ns_.java | 1 + .../src_120_wiki/gplx/xowa/Xow_ns_mgr.java | 2 +- 400_xowa/src_120_wiki/gplx/xowa/Xow_wiki.java | 2 +- .../gplx/xowa/ByteAry_fil.java | 1 + .../gplx/xowa/Xodb_page.java | 1 + .../gplx/xowa/Xowd_hive_regy_itm.java | 1 + .../src_140_lang/gplx/xowa/Xol_kwd_grp_.java | 1 + .../gplx/xowa/Xol_kwd_parse_data.java | 1 + .../gplx/xowa/Xol_kwd_parse_data_tst.java | 2 +- .../gplx/xowa/Xol_lang_srl_tst.java | 2 +- 400_xowa/src_160_file/gplx/xowa/Xof_ext_.java | 1 + .../gplx/xowa/Xof_mime_minor_.java | 1 + .../src_160_file/gplx/xowa/Xoft_rule_grp.java | 1 + .../gplx/xowa/Xof_meta_thumb_parser_tst.java | 2 +- .../src_162_xfer/gplx/xowa/Xof_xfer_mgr.java | 2 +- .../gplx/xowa/Xof_xfer_queue.java | 3 +- .../gplx/xowa/Xof_xfer_queue_html_fxt.java | 1 + .../src_200_bldr/gplx/xowa/Xob_stat_itm.java | 1 + .../src_200_bldr/gplx/xowa/Xob_stat_mgr.java | 1 + .../src_200_bldr/gplx/xowa/Xob_stat_type.java | 1 + .../gplx/xowa/Xob_xdat_file_tst.java | 2 +- .../gplx/xowa/Sql_file_parser_cmd.java | 1 + .../gplx/xowa/Xoi_css_offline_mgr.java | 2 +- .../gplx/xowa/Xoh_file_main_wkr.java | 1 + .../src_310_url/gplx/xowa/Xoa_url_parser.java | 1 + .../src_400_parser/gplx/xowa/TstObj_tst.java | 2 +- .../src_400_parser/gplx/xowa/Xoa_ttl.java | 2 +- .../gplx/xowa/Xop_lnki_arg_parser.java | 2 +- .../src_440_lnki/gplx/xowa/Xop_lnki_wkr_.java | 2 +- .../gplx/xowa/Xop_xatr_parser.java | 5 +- .../gplx/xowa/Xop_xatr_parser_tst.java | 1 + .../gplx/xowa/Xop_xatr_whitelist_mgr.java | 2 +- .../src_490_xnde/gplx/xowa/Xop_xnde_tag.java | 1 + .../gplx/xowa/Xop_xnde_tag_lang.java | 1 + .../gplx/xowa/Xot_defn_trace.java | 1 + .../gplx/xowa/Xot_defn_trace_brief_tst.java | 2 +- .../src_500_tmpl/gplx/xowa/Xot_invk_temp.java | 1 + .../en.wikipedia.org.002.sqlite3 | Bin 73728 -> 73728 bytes 410 files changed, 1577 insertions(+), 1150 deletions(-) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria.java (84%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_.java (92%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_between.java (71%) create mode 100644 100_core/src/gplx/core/criterias/Criteria_bool_base.java rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_comp.java (61%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_eq.java (68%) create mode 100644 100_core/src/gplx/core/criterias/Criteria_fld.java rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_in.java (55%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_ioItm_tst.java (92%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_ioMatch.java (75%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_like.java (74%) rename 100_core/{src_130_crt/gplx => src/gplx/core}/criterias/Criteria_tst.java (95%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Bool_obj_ref.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Bool_obj_val.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Bry_obj_ref.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Byte_obj_ref.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Byte_obj_val.java (93%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Double_obj_val.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Int_obj_ref.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/Int_obj_val.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/String_obj_ref.java (94%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/primitives}/String_obj_val.java (78%) rename 100_core/src/gplx/{ => core/strings}/String_bldr.java (97%) rename 100_core/src/gplx/{ => core/strings}/String_bldr_.java (93%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/strings}/String_ring.java (93%) rename 100_core/{src_110_primitive/gplx => src/gplx/core/strings}/String_ring_tst.java (95%) delete mode 100644 100_core/src_130_crt/gplx/criterias/Criteria_bool_base.java delete mode 100644 100_core/src_130_crt/gplx/criterias/Criteria_wrapper.java delete mode 100644 140_dbs/src/gplx/dbs/Sql_where.java rename 140_dbs/src/gplx/dbs/{ => engines/sqlite}/Db_url__sqlite.java (93%) delete mode 100644 400_xowa/src/gplx/xowa/files/wiki_orig/Xof_orig_regy_tbl.java rename 400_xowa/src/gplx/{xowa/files/wiki_orig => xowa2/files/orig_regy}/Xof_orig_regy_itm.java (92%) create mode 100644 400_xowa/src/gplx/xowa2/files/orig_regy/Xof_orig_regy_tbl.java create mode 100644 400_xowa/src/gplx/xowa2/files/orig_regy/Xof_orig_regy_tbl_tst.java delete mode 100644 400_xowa/src/gplx/xowa2/wikis/data/Xodata_db_mgr.java create mode 100644 400_xowa/src/gplx/xowa2/wikis/data/Xowd_data_mgr.java create mode 100644 400_xowa/src/gplx/xowa2/wikis/data/Xowd_db_regy_tbl.java create mode 100644 400_xowa/src/gplx/xowa2/wikis/data/Xowd_ns_regy_tbl.java rename 400_xowa/src/gplx/xowa2/wikis/data/{tbls/Xow_page_regy_tbl.java => Xowd_page_regy_tbl.java} (76%) delete mode 100644 400_xowa/src/gplx/xowa2/wikis/data/tbls/Xodata_db_tbl.java delete mode 100644 400_xowa/src/gplx/xowa2/wikis/data/tbls/Xodata_ns_regy_tbl.java delete mode 100644 400_xowa/src/gplx/xowa2/wikis/data/tbls/Xow_ns_regy_tbl.java diff --git a/100_core/src_130_crt/gplx/criterias/Criteria.java b/100_core/src/gplx/core/criterias/Criteria.java similarity index 84% rename from 100_core/src_130_crt/gplx/criterias/Criteria.java rename to 100_core/src/gplx/core/criterias/Criteria.java index bcf9ecec0..4c62e4061 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria.java +++ b/100_core/src/gplx/core/criterias/Criteria.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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; public interface Criteria extends XtoStrAble { - byte Crt_tid(); + byte Tid(); boolean Matches(Object obj); + void Val_from_args(HashAdp args); + void Val_as_obj_(Object obj); } diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_.java b/100_core/src/gplx/core/criterias/Criteria_.java similarity index 92% rename from 100_core/src_130_crt/gplx/criterias/Criteria_.java rename to 100_core/src/gplx/core/criterias/Criteria_.java index 225de8d80..09aec5760 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_.java +++ b/100_core/src/gplx/core/criterias/Criteria_.java @@ -15,12 +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.criterias; import gplx.*; -import gplx.criterias.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; import gplx.texts.*; /*RegxPatn_cls_like*/ public class Criteria_ { - public static final Criteria All = new Criteria_const(true); - public static final Criteria None = new Criteria_const(false); + public static final Criteria All = new Criteria_const(true); + public static final Criteria None = new Criteria_const(false); 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) { diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_between.java b/100_core/src/gplx/core/criterias/Criteria_between.java similarity index 71% rename from 100_core/src_130_crt/gplx/criterias/Criteria_between.java rename to 100_core/src/gplx/core/criterias/Criteria_between.java index 5e57642c7..ec7eeb399 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_between.java +++ b/100_core/src/gplx/core/criterias/Criteria_between.java @@ -15,12 +15,19 @@ 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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; public class Criteria_between implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_between;} - public boolean Negated() {return negate;} private boolean negate; - public Comparable Lhs() {return lhs;} Comparable lhs; - public Comparable Rhs() {return rhs;} Comparable rhs; + 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(HashAdp args) {throw Err_.not_implemented_();} + public void Val_as_obj_(Object v) { + Object[] ary = (Object[])v; + lhs = (Comparable)ary[0]; + rhs = (Comparable)ary[1]; + } + public Comparable Lhs() {return lhs;} private Comparable lhs; + public Comparable Rhs() {return rhs;} private Comparable rhs; public String XtoStr() {return String_.Concat_any("BETWEEN ", lhs, " AND ", rhs);} public boolean Matches(Object compObj) { Comparable comp = CompareAble_.as_(compObj); @@ -29,6 +36,5 @@ public class Criteria_between implements Criteria { boolean rv = (lhsResult * rhsResult) != 1; return negate ? !rv : rv; } - public Criteria_between(boolean negate, Comparable lhs, Comparable rhs) {this.negate = negate; this.lhs = lhs; this.rhs = rhs;} public static Criteria_between as_(Object obj) {return obj instanceof Criteria_between ? (Criteria_between)obj : null;} } diff --git a/100_core/src/gplx/core/criterias/Criteria_bool_base.java b/100_core/src/gplx/core/criterias/Criteria_bool_base.java new file mode 100644 index 000000000..226603bdc --- /dev/null +++ b/100_core/src/gplx/core/criterias/Criteria_bool_base.java @@ -0,0 +1,57 @@ +/* +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.criterias; import gplx.*; import gplx.core.*; +public abstract class Criteria_bool_base implements Criteria { + @gplx.Internal protected void Ctor(String op_literal, Criteria lhs, Criteria rhs) {this.op_literal = op_literal; this.lhs = lhs; this.rhs = rhs;} + public abstract byte Tid(); + public abstract boolean Matches(Object curVal); + public void Val_from_args(HashAdp args) {lhs.Val_from_args(args); rhs.Val_from_args(args);} + public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} + 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; + public Criteria Rhs() {return rhs;} private Criteria rhs; + public static Criteria_bool_base as_(Object obj) {return obj instanceof Criteria_bool_base ? (Criteria_bool_base)obj : null;} +} +class Criteria_and extends Criteria_bool_base { + public Criteria_and(Criteria lhs, Criteria rhs) {this.Ctor("AND", lhs, rhs);} + @Override public byte Tid() {return Criteria_.Tid_not;} + @Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) && this.Rhs().Matches(curVal);} +} +class Criteria_or extends Criteria_bool_base { + public Criteria_or(Criteria lhs, Criteria rhs) {this.Ctor("OR", lhs, rhs);} + @Override public byte Tid() {return Criteria_.Tid_or;} + @Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) || this.Rhs().Matches(curVal);} +} +class Criteria_const implements Criteria { + public Criteria_const(boolean val) {this.val = val;} + public byte Tid() {return Criteria_.Tid_const;} + public boolean Matches(Object comp) {return val;} private final boolean val; + public void Val_from_args(HashAdp args) {;} + public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} + public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));} +} +class Criteria_not implements Criteria { + private final Criteria criteria; + public Criteria_not(Criteria v) {this.criteria = v;} + public byte Tid() {return Criteria_.Tid_not;} + public boolean Matches(Object obj) {return !criteria.Matches(obj);} + public void Val_from_args(HashAdp args) {criteria.Val_from_args(args);} + public void Val_as_obj_(Object v) {criteria.Val_as_obj_(v);} + public String XtoStr() {return String_.Concat_any(" NOT ", criteria.XtoStr());} +} diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_comp.java b/100_core/src/gplx/core/criterias/Criteria_comp.java similarity index 61% rename from 100_core/src_130_crt/gplx/criterias/Criteria_comp.java rename to 100_core/src/gplx/core/criterias/Criteria_comp.java index cc0dcdeae..ac59d5b56 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_comp.java +++ b/100_core/src/gplx/core/criterias/Criteria_comp.java @@ -15,22 +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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; public class Criteria_comp implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_comp;} - public Comparable Value() {return val;} final Comparable val; + private final int comp_mode; + @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(HashAdp args) {throw Err_.not_implemented_();} + public void Val_as_obj_(Object v) {val = (Comparable)v;} public boolean Matches(Object compObj) { Comparable comp = CompareAble_.as_(compObj); - return CompareAble_.Is(compMode, comp, val); + return CompareAble_.Is(comp_mode, comp, val); } public String XtoStr() {return String_.Concat_any(XtoSymbol(), " ", val);} public String XtoSymbol() { - String compSym = compMode < CompareAble_.Same ? "<" : ">"; - String eqSym = compMode % 2 == CompareAble_.Same ? "=" : ""; - return compSym + eqSym; + String comp_sym = comp_mode < CompareAble_.Same ? "<" : ">"; + String eq_sym = comp_mode % 2 == CompareAble_.Same ? "=" : ""; + return comp_sym + eq_sym; } - - int compMode; - @gplx.Internal protected Criteria_comp(int compMode, Comparable val) {this.compMode = compMode; this.val = val;} public static Criteria_comp as_(Object obj) {return obj instanceof Criteria_comp ? (Criteria_comp)obj : null;} } diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_eq.java b/100_core/src/gplx/core/criterias/Criteria_eq.java similarity index 68% rename from 100_core/src_130_crt/gplx/criterias/Criteria_eq.java rename to 100_core/src/gplx/core/criterias/Criteria_eq.java index 4c1d191da..412f6cdb3 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_eq.java +++ b/100_core/src/gplx/core/criterias/Criteria_eq.java @@ -15,19 +15,20 @@ 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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; public class Criteria_eq implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_eq;} - public boolean Negated() {return negated;} private boolean negated; - public Object Value() {return val;} Object val; + @gplx.Internal protected Criteria_eq(boolean negated, Object val) {this.negated = negated; this.val = val;} + public byte Tid() {return Criteria_.Tid_eq;} + 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(HashAdp args) {throw Err_.not_implemented_();} public boolean Matches(Object comp) { - Class valType = ClassAdp_.ClassOf_obj(val); - if (!ClassAdp_.Eq_typeSafe(comp, valType)) throw Err_.type_mismatch_(valType, comp); + Class val_type = ClassAdp_.ClassOf_obj(val); + if (!ClassAdp_.Eq_typeSafe(comp, val_type)) throw Err_.type_mismatch_(val_type, comp); boolean rv = Object_.Eq(val, comp); return negated ? !rv : rv; } public String XtoStr() {return String_.Concat_any("= ", val);} - - @gplx.Internal protected Criteria_eq(boolean negated, Object val) {this.negated = negated; this.val = val;} public static Criteria_eq as_(Object obj) {return obj instanceof Criteria_eq ? (Criteria_eq)obj : null;} } diff --git a/100_core/src/gplx/core/criterias/Criteria_fld.java b/100_core/src/gplx/core/criterias/Criteria_fld.java new file mode 100644 index 000000000..ad78cc5cf --- /dev/null +++ b/100_core/src/gplx/core/criterias/Criteria_fld.java @@ -0,0 +1,67 @@ +/* +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.criterias; import gplx.*; import gplx.core.*; +public class Criteria_fld implements Criteria { + Criteria_fld(String key, Criteria crt) {this.key = key; this.crt = crt;} + 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 Err_.not_implemented_();} + public void Val_from_args(HashAdp args) { + ListAdp list = (ListAdp)args.Fetch(key); if (list == null) throw Err_.new_("criteria.fld key not found; key={0}", key); + Object o = Fill_val(key, crt.Tid(), list); + crt.Val_as_obj_(o); + } + public boolean Matches(Object invkObj) { + GfoInvkAble invk = (GfoInvkAble)invkObj; + if (key == Criteria_fld.Key_null) return crt.Matches(invkObj); + Object comp = GfoInvkAble_.InvkCmd(invk, key); + return crt.Matches(comp); + } + public String XtoStr() {return String_.Concat(key, " ", crt.XtoStr());} + public static final String Key_null = null; + public static Criteria_fld as_(Object obj) {return obj instanceof Criteria_fld ? (Criteria_fld)obj : null;} + public static Criteria_fld new_(String key, Criteria crt) {return new Criteria_fld(key, crt);} + public static Object Fill_val(String key, byte tid, ListAdp list) { + int len = list.Count(); + switch (tid) { + case Criteria_.Tid_eq: + case Criteria_.Tid_comp: + case Criteria_.Tid_like: + case Criteria_.Tid_iomatch: + if (len != 1) throw Err_.new_("list.len should be 1; key={0} tid={1} len={2}", key, tid, len); + return list.FetchAt(0); + case Criteria_.Tid_between: + if (len != 2) throw Err_.new_("list.len should be 2; key={0} tid={1} len={2}", key, tid, len); + return new Object[] {list.FetchAt(0), list.FetchAt(1)}; + case Criteria_.Tid_in: + if (len == 0) throw Err_.new_("list.len should be > 0; key={0} tid={1} len={2}", key, tid, len); + return list.Xto_obj_ary(); + case Criteria_.Tid_const: + case Criteria_.Tid_not: + case Criteria_.Tid_and: + case Criteria_.Tid_or: + if (len != 0) throw Err_.new_("list.len should be == 0; key={0} tid={1} len={2}", key, tid, 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 Err_.unhandled(tid); + } + } +} diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_in.java b/100_core/src/gplx/core/criterias/Criteria_in.java similarity index 55% rename from 100_core/src_130_crt/gplx/criterias/Criteria_in.java rename to 100_core/src/gplx/core/criterias/Criteria_in.java index a3642d80f..90a962429 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_in.java +++ b/100_core/src/gplx/core/criterias/Criteria_in.java @@ -15,16 +15,24 @@ 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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; public class Criteria_in implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_in;} - public boolean Negated() {return negated;} private boolean negated; - public Object[] Values() {return ary;} Object[] ary; Class aryType; int aryLen; + public Criteria_in(boolean negated, Object[] ary) {this.negated = negated; Val_as_obj_ary_(ary);} + public byte Tid() {return Criteria_.Tid_in;} + public boolean Negated() {return negated;} private final boolean negated; + public Object[] Val_as_obj_ary() {return ary;} private Object[] ary; private Class ary_type; private int ary_len; + private void Val_as_obj_ary_(Object[] v) { + this.ary = v; + ary_len = Array_.Len(ary); + 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(HashAdp args) {throw Err_.not_implemented_();} public boolean Matches(Object comp) { - if (aryLen == 0) return false; // empty array never matches - if (!ClassAdp_.Eq_typeSafe(comp, aryType)) throw Err_.type_mismatch_(aryType, comp); + if (ary_len == 0) return false; // empty array never matches + if (!ClassAdp_.Eq_typeSafe(comp, ary_type)) throw Err_.type_mismatch_(ary_type, comp); boolean rv = false; - for (int i = 0; i < aryLen; i++) { + for (int i = 0; i < ary_len; i++) { Object val = ary[i]; if (Object_.Eq(val, comp)) { rv = true; @@ -34,10 +42,5 @@ public class Criteria_in implements Criteria { return negated ? !rv : rv; } public String XtoStr() {return String_.Concat_any("IN ", String_.Concat_any(ary));} - public Criteria_in(boolean negated, Object[] vals) { - this.negated = negated; this.ary = vals; - aryLen = Array_.Len(ary); - aryType = aryLen == 0 ? Object.class : ClassAdp_.ClassOf_obj(ary[0]); - } public static Criteria_in as_(Object obj) {return obj instanceof Criteria_in ? (Criteria_in)obj : null;} } diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_ioItm_tst.java b/100_core/src/gplx/core/criterias/Criteria_ioItm_tst.java similarity index 92% rename from 100_core/src_130_crt/gplx/criterias/Criteria_ioItm_tst.java rename to 100_core/src/gplx/core/criterias/Criteria_ioItm_tst.java index d0e9e37e6..35c3dd69e 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_ioItm_tst.java +++ b/100_core/src/gplx/core/criterias/Criteria_ioItm_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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; import org.junit.*; import gplx.ios.*; public class Criteria_ioItm_tst { @@ -42,7 +42,7 @@ public class Criteria_ioItm_tst { fx_crt.tst_Matches(crt, Io_url_.new_any_("file.txt")); fx_crt.tst_MatchesNot(crt, Io_url_.new_any_("file.xml")); } - Criteria crt_(String fld, Criteria crt) {return Criteria_wrapper.new_(fld, crt);} + Criteria crt_(String fld, Criteria crt) {return Criteria_fld.new_(fld, crt);} void tst_Match(boolean expt, Criteria fieldCrt, IoItm_base... ary) { for (IoItm_base itm : ary) Tfds.Eq(expt, fieldCrt.Matches(itm)); diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_ioMatch.java b/100_core/src/gplx/core/criterias/Criteria_ioMatch.java similarity index 75% rename from 100_core/src_130_crt/gplx/criterias/Criteria_ioMatch.java rename to 100_core/src/gplx/core/criterias/Criteria_ioMatch.java index 7cca5d4de..9a8ee9bc4 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_ioMatch.java +++ b/100_core/src/gplx/core/criterias/Criteria_ioMatch.java @@ -15,21 +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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; import gplx.texts.*; -public class Criteria_ioMatch implements Criteria { //url IOMATCH '*.xml|*.txt' - public byte Crt_tid() {return Criteria_.Tid_iomatch;} - public static final String TokenName = "IOMATCH"; - public boolean Negated() {return !match;} private final boolean match; - public RegxPatn_cls_ioMatch Pattern() {return pattern;} private final RegxPatn_cls_ioMatch pattern; +public class Criteria_ioMatch implements Criteria { // EX: url IOMATCH '*.xml|*.txt' + 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(HashAdp args) {throw Err_.not_implemented_();} + 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) { Io_url comp = (Io_url)compObj; boolean rv = pattern.Matches(comp.XtoCaseNormalized()); return match ? rv : !rv; } public String XtoStr() {return String_.Concat_any("IOMATCH ", pattern);} - public Criteria_ioMatch(boolean match, RegxPatn_cls_ioMatch pattern) {this.match = match; this.pattern = pattern;} + public static final String TokenName = "IOMATCH"; public static Criteria_ioMatch as_(Object obj) {return obj instanceof Criteria_ioMatch ? (Criteria_ioMatch)obj : null;} public static Criteria_ioMatch parse_(boolean match, String raw, boolean caseSensitive) {return new Criteria_ioMatch(match, RegxPatn_cls_ioMatch_.parse_(raw, caseSensitive));} } diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_like.java b/100_core/src/gplx/core/criterias/Criteria_like.java similarity index 74% rename from 100_core/src_130_crt/gplx/criterias/Criteria_like.java rename to 100_core/src/gplx/core/criterias/Criteria_like.java index 9853a19b8..653196a7b 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_like.java +++ b/100_core/src/gplx/core/criterias/Criteria_like.java @@ -15,20 +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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; import gplx.texts.*; /*RegxPatn_cls_like*/ public class Criteria_like implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_like;} - public boolean Negated() {return negated;} private boolean negated; - public RegxPatn_cls_like Pattern() {return pattern;} RegxPatn_cls_like pattern; + @gplx.Internal protected Criteria_like(boolean negated, RegxPatn_cls_like pattern) { + this.negated = negated; this.pattern = pattern; + } + 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(HashAdp args) {throw Err_.not_implemented_();} + 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 Err_.type_mismatch_(String.class, compObj); boolean rv = pattern.Matches(comp); return negated ? !rv : rv; } public String XtoStr() {return String_.Concat_any("LIKE ", pattern);} - @gplx.Internal protected Criteria_like(boolean negated, RegxPatn_cls_like pattern) { - this.negated = negated; this.pattern = pattern; - } public static Criteria_like as_(Object obj) {return obj instanceof Criteria_like ? (Criteria_like)obj : null;} } \ No newline at end of file diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_tst.java b/100_core/src/gplx/core/criterias/Criteria_tst.java similarity index 95% rename from 100_core/src_130_crt/gplx/criterias/Criteria_tst.java rename to 100_core/src/gplx/core/criterias/Criteria_tst.java index 107f695d2..693387198 100644 --- a/100_core/src_130_crt/gplx/criterias/Criteria_tst.java +++ b/100_core/src/gplx/core/criterias/Criteria_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.criterias; import gplx.*; +package gplx.core.criterias; import gplx.*; import gplx.core.*; import org.junit.*; public class Criteria_tst { @Test public void Equal() { diff --git a/100_core/src_110_primitive/gplx/Bool_obj_ref.java b/100_core/src/gplx/core/primitives/Bool_obj_ref.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Bool_obj_ref.java rename to 100_core/src/gplx/core/primitives/Bool_obj_ref.java index 0719d0fe0..e5ae0d89c 100644 --- a/100_core/src_110_primitive/gplx/Bool_obj_ref.java +++ b/100_core/src/gplx/core/primitives/Bool_obj_ref.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Bool_obj_ref { public boolean Val() {return val;} private boolean val; public boolean Val_y() {return val;} diff --git a/100_core/src_110_primitive/gplx/Bool_obj_val.java b/100_core/src/gplx/core/primitives/Bool_obj_val.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Bool_obj_val.java rename to 100_core/src/gplx/core/primitives/Bool_obj_val.java index 750575441..b239520cd 100644 --- a/100_core/src_110_primitive/gplx/Bool_obj_val.java +++ b/100_core/src/gplx/core/primitives/Bool_obj_val.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Bool_obj_val { Bool_obj_val(int v) {val = v;} private final int val; public boolean Val() {return val == 1;} diff --git a/100_core/src_110_primitive/gplx/Bry_obj_ref.java b/100_core/src/gplx/core/primitives/Bry_obj_ref.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Bry_obj_ref.java rename to 100_core/src/gplx/core/primitives/Bry_obj_ref.java index 66f4acdec..7ada3a493 100644 --- a/100_core/src_110_primitive/gplx/Bry_obj_ref.java +++ b/100_core/src/gplx/core/primitives/Bry_obj_ref.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Bry_obj_ref { public byte[] Val() {return val;} public Bry_obj_ref Val_(byte[] v) {val = v; return this;} private byte[] val; @Override public int hashCode() {return CalcHashCode(val, 0, val.length);} diff --git a/100_core/src_110_primitive/gplx/Byte_obj_ref.java b/100_core/src/gplx/core/primitives/Byte_obj_ref.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Byte_obj_ref.java rename to 100_core/src/gplx/core/primitives/Byte_obj_ref.java index 986de8fe6..c7fcbd630 100644 --- a/100_core/src_110_primitive/gplx/Byte_obj_ref.java +++ b/100_core/src/gplx/core/primitives/Byte_obj_ref.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Byte_obj_ref { public byte Val() {return val;} private byte val; public Byte_obj_ref Val_(byte v) {val = v; return this;} diff --git a/100_core/src_110_primitive/gplx/Byte_obj_val.java b/100_core/src/gplx/core/primitives/Byte_obj_val.java similarity index 93% rename from 100_core/src_110_primitive/gplx/Byte_obj_val.java rename to 100_core/src/gplx/core/primitives/Byte_obj_val.java index 1bc1add79..2f14d17e0 100644 --- a/100_core/src_110_primitive/gplx/Byte_obj_val.java +++ b/100_core/src/gplx/core/primitives/Byte_obj_val.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Byte_obj_val { public byte Val() {return val;} private byte val; @Override public String toString() {return Int_.Xto_str(val);} diff --git a/100_core/src_110_primitive/gplx/Double_obj_val.java b/100_core/src/gplx/core/primitives/Double_obj_val.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Double_obj_val.java rename to 100_core/src/gplx/core/primitives/Double_obj_val.java index 706dfebf0..979216375 100644 --- a/100_core/src_110_primitive/gplx/Double_obj_val.java +++ b/100_core/src/gplx/core/primitives/Double_obj_val.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Double_obj_val implements CompareAble { public double Val() {return val;} double val; @Override public String toString() {return Double_.Xto_str(val);} diff --git a/100_core/src_110_primitive/gplx/Int_obj_ref.java b/100_core/src/gplx/core/primitives/Int_obj_ref.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Int_obj_ref.java rename to 100_core/src/gplx/core/primitives/Int_obj_ref.java index dddcee95e..cee9f9ba9 100644 --- a/100_core/src_110_primitive/gplx/Int_obj_ref.java +++ b/100_core/src/gplx/core/primitives/Int_obj_ref.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Int_obj_ref { public int Val() {return val;} public Int_obj_ref Val_(int v) {val = v; return this;} int val; public int Val_add() {val++; return val;} diff --git a/100_core/src_110_primitive/gplx/Int_obj_val.java b/100_core/src/gplx/core/primitives/Int_obj_val.java similarity index 94% rename from 100_core/src_110_primitive/gplx/Int_obj_val.java rename to 100_core/src/gplx/core/primitives/Int_obj_val.java index 0dfa2d479..0f85da27d 100644 --- a/100_core/src_110_primitive/gplx/Int_obj_val.java +++ b/100_core/src/gplx/core/primitives/Int_obj_val.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class Int_obj_val implements CompareAble { public int Val() {return val;} int val; @Override public String toString() {return Int_.Xto_str(val);} diff --git a/100_core/src_110_primitive/gplx/String_obj_ref.java b/100_core/src/gplx/core/primitives/String_obj_ref.java similarity index 94% rename from 100_core/src_110_primitive/gplx/String_obj_ref.java rename to 100_core/src/gplx/core/primitives/String_obj_ref.java index 9553ab981..fd4dacf13 100644 --- a/100_core/src_110_primitive/gplx/String_obj_ref.java +++ b/100_core/src/gplx/core/primitives/String_obj_ref.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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class String_obj_ref { public String Val() {return val;} public String_obj_ref Val_(String v) {val = v; return this;} private String val; public String_obj_ref Val_null_() {return Val_(null);} diff --git a/100_core/src_110_primitive/gplx/String_obj_val.java b/100_core/src/gplx/core/primitives/String_obj_val.java similarity index 78% rename from 100_core/src_110_primitive/gplx/String_obj_val.java rename to 100_core/src/gplx/core/primitives/String_obj_val.java index 80ad4d27e..b042bea43 100644 --- a/100_core/src_110_primitive/gplx/String_obj_val.java +++ b/100_core/src/gplx/core/primitives/String_obj_val.java @@ -15,17 +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; +package gplx.core.primitives; import gplx.*; import gplx.core.*; public class String_obj_val implements CompareAble { - public String Val() {return val;} private String val; + public String Val() {return val;} private final String val; @Override public String toString() {return val;} public int compareTo(Object obj) { String_obj_val comp = (String_obj_val)obj; return String_.Compare_strict(val, comp.val); } - public static String_obj_val new_(String val) { - String_obj_val rv = new String_obj_val(); - rv.val = val; - return rv; - } String_obj_val() {} + public static String_obj_val new_(String val) {return new String_obj_val(val);} String_obj_val(String val) {this.val = val;} } diff --git a/100_core/src/gplx/String_bldr.java b/100_core/src/gplx/core/strings/String_bldr.java similarity index 97% rename from 100_core/src/gplx/String_bldr.java rename to 100_core/src/gplx/core/strings/String_bldr.java index 73d8ccfed..c97eb6b36 100644 --- a/100_core/src/gplx/String_bldr.java +++ b/100_core/src/gplx/core/strings/String_bldr.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; +package gplx.core.strings; import gplx.*; import gplx.core.*; public interface String_bldr { boolean Has_none(); boolean Has_some(); diff --git a/100_core/src/gplx/String_bldr_.java b/100_core/src/gplx/core/strings/String_bldr_.java similarity index 93% rename from 100_core/src/gplx/String_bldr_.java rename to 100_core/src/gplx/core/strings/String_bldr_.java index 81f7aa3ce..545e11bae 100644 --- a/100_core/src/gplx/String_bldr_.java +++ b/100_core/src/gplx/core/strings/String_bldr_.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; +package gplx.core.strings; import gplx.*; import gplx.core.*; public class String_bldr_ { public static String_bldr new_() {return new String_bldr_thread_single();} public static String_bldr new_thread() {return new String_bldr_thread_multiple();} diff --git a/100_core/src_110_primitive/gplx/String_ring.java b/100_core/src/gplx/core/strings/String_ring.java similarity index 93% rename from 100_core/src_110_primitive/gplx/String_ring.java rename to 100_core/src/gplx/core/strings/String_ring.java index 91c5aaf37..a34a616cd 100644 --- a/100_core/src_110_primitive/gplx/String_ring.java +++ b/100_core/src/gplx/core/strings/String_ring.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; +package gplx.core.strings; import gplx.*; import gplx.core.*; public class String_ring { String[] ary = String_.Ary_empty; public int Len() {return len;} int len; diff --git a/100_core/src_110_primitive/gplx/String_ring_tst.java b/100_core/src/gplx/core/strings/String_ring_tst.java similarity index 95% rename from 100_core/src_110_primitive/gplx/String_ring_tst.java rename to 100_core/src/gplx/core/strings/String_ring_tst.java index 5d52cd00e..081a22170 100644 --- a/100_core/src_110_primitive/gplx/String_ring_tst.java +++ b/100_core/src/gplx/core/strings/String_ring_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; +package gplx.core.strings; import gplx.*; import gplx.core.*; import org.junit.*; public class String_ring_tst { String_ring_fxt fxt = new String_ring_fxt(); diff --git a/100_core/src_000_err/gplx/ErrMsgWtr.java b/100_core/src_000_err/gplx/ErrMsgWtr.java index f514349a4..386a63036 100644 --- a/100_core/src_000_err/gplx/ErrMsgWtr.java +++ b/100_core/src_000_err/gplx/ErrMsgWtr.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.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 diff --git a/100_core/src_000_err/gplx/Err_.java b/100_core/src_000_err/gplx/Err_.java index b45a8ed92..e9be59104 100644 --- a/100_core/src_000_err/gplx/Err_.java +++ b/100_core/src_000_err/gplx/Err_.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.strings.*; public class Err_ { //_20110415 public static Err as_(Object obj) {return obj instanceof Err ? (Err)obj : null;} public static Err new_(String fmt, Object... args) {return Err.hdr_(String_.Format(fmt, args));} diff --git a/100_core/src_100_interface/gplx/SrlAble_.java b/100_core/src_100_interface/gplx/SrlAble_.java index cccee2a90..8f9e0c85f 100644 --- a/100_core/src_100_interface/gplx/SrlAble_.java +++ b/100_core/src_100_interface/gplx/SrlAble_.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.strings.*; public class SrlAble_ { public static SrlAble as_(Object obj) {return obj instanceof SrlAble ? (SrlAble)obj : null;} public static String XtoStr(GfoMsg owner) { diff --git a/100_core/src_110_primitive/gplx/Array_.java b/100_core/src_110_primitive/gplx/Array_.java index 293069a4e..1cbefc47c 100644 --- a/100_core/src_110_primitive/gplx/Array_.java +++ b/100_core/src_110_primitive/gplx/Array_.java @@ -17,6 +17,7 @@ along with this program. If not, see . */ package gplx; import java.lang.reflect.Array; +import gplx.core.strings.*; public class Array_ { public static void Sort(Object[] obj) {ListAdp_Sorter.new_().Sort(obj, obj.length);} public static void Sort(Object[] obj, gplx.lists.ComparerAble comparer) {ListAdp_Sorter.new_().Sort(obj, obj.length, true, comparer);} diff --git a/100_core/src_110_primitive/gplx/Bry_.java b/100_core/src_110_primitive/gplx/Bry_.java index 6816ff8a7..7bd57c004 100644 --- a/100_core/src_110_primitive/gplx/Bry_.java +++ b/100_core/src_110_primitive/gplx/Bry_.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx; import java.lang.*; -import gplx.ios.*; +import gplx.core.primitives.*; import gplx.ios.*; public class Bry_ { public static final String Cls_val_name = "byte[]"; public static final int NotFound = -1; @@ -493,6 +493,8 @@ public class Bry_ { public static boolean Match(byte[] src, int src_bgn, byte[] find) {return Match(src, src_bgn, src.length, find, 0, find.length);} public static boolean Match(byte[] src, int src_bgn, int src_end, byte[] find) {return Match(src, src_bgn, src_end, find, 0, find.length);} public static boolean Match(byte[] src, int src_bgn, int src_end, byte[] find, int find_bgn, int find_end) { + int src_len = src.length; + if (src_end > src_len) src_end = src_len; // must limit src_end to src_len, else ArrayIndexOutOfBounds below; DATE:2015-01-31 int find_len = find_end - find_bgn; if (find_len != src_end - src_bgn) return false; if (find_len == 0) return src_end - src_bgn == 0; // "" only matches "" @@ -705,8 +707,8 @@ public class Bry_ { } public static float XtoFloatByPos(byte[] ary, int bgn, int end) {return Float_.parse_(String_.new_utf8_(ary, bgn, end));} public static double Xto_double(byte[] bry) {return Double_.parse_(String_.new_utf8_(bry, 0, bry.length));} - public static double Xto_double_or(byte[] bry, double or) {return Double_.parseOr_(String_.new_utf8_(bry, 0, bry.length), or);} - public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parseOr_(String_.new_utf8_(ary, bgn, end), or);} + public static double Xto_double_or(byte[] bry, double or) {return Double_.parse_or(String_.new_utf8_(bry, 0, bry.length), or);} + public static double XtoDoubleByPosOr(byte[] ary, int bgn, int end, double or) {return Double_.parse_or(String_.new_utf8_(ary, bgn, end), or);} public static double XtoDoubleByPos(byte[] ary, int bgn, int end) {return Double_.parse_(String_.new_utf8_(ary, bgn, end));} public static DecimalAdp XtoDecimalByPos(byte[] ary, int bgn, int end) {return DecimalAdp_.parse_(String_.new_utf8_(ary, bgn, end));} public static final byte Dlm_fld = (byte)'|', Dlm_row = (byte)'\n', Dlm_quote = (byte)'"', Dlm_null = 0, Ascii_zero = 48; diff --git a/100_core/src_110_primitive/gplx/Bry__tst.java b/100_core/src_110_primitive/gplx/Bry__tst.java index 65f28cfd1..e250c5d22 100644 --- a/100_core/src_110_primitive/gplx/Bry__tst.java +++ b/100_core/src_110_primitive/gplx/Bry__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; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.texts.*; public class Bry__tst { @Test public void MidByPos() { diff --git a/100_core/src_110_primitive/gplx/Bry_bfr.java b/100_core/src_110_primitive/gplx/Bry_bfr.java index a9209dce3..234e06995 100644 --- a/100_core/src_110_primitive/gplx/Bry_bfr.java +++ b/100_core/src_110_primitive/gplx/Bry_bfr.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.primitives.*; public class Bry_bfr { public byte[] Bfr() {return bfr;} private byte[] bfr; @gplx.Internal protected int Bfr_max() {return bfr_max;} private int bfr_max; diff --git a/100_core/src_110_primitive/gplx/Bry_fmtr.java b/100_core/src_110_primitive/gplx/Bry_fmtr.java index 039f907f4..0cafad165 100644 --- a/100_core/src_110_primitive/gplx/Bry_fmtr.java +++ b/100_core/src_110_primitive/gplx/Bry_fmtr.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.primitives.*; import gplx.core.strings.*; public class Bry_fmtr { public byte[] Fmt() {return fmt;} private byte[] fmt = Bry_.Empty; public boolean Fmt_null() {return fmt.length == 0;} diff --git a/100_core/src_110_primitive/gplx/Double_.java b/100_core/src_110_primitive/gplx/Double_.java index 42ce2533b..a692098f4 100644 --- a/100_core/src_110_primitive/gplx/Double_.java +++ b/100_core/src_110_primitive/gplx/Double_.java @@ -17,17 +17,18 @@ along with this program. If not, see . */ package gplx; public class Double_ { - public static final Class Cls_ref_type = Double.class; public static final String Cls_val_name = "double"; - public static final double Inf_pos = Double.POSITIVE_INFINITY;; - public static final double NaN = Double.NaN;; + public static final Class Cls_ref_type = Double.class; + public static final double + MinValue = Double.MIN_VALUE + , NaN = Double.NaN + , Inf_pos = Double.POSITIVE_INFINITY + ; public static final byte[] NaN_bry = Bry_.new_ascii_("NaN"); public static boolean IsNaN(double v) {return Double.isNaN(v);} - public static int Compare(double lhs, double rhs) { - if (lhs == rhs) return CompareAble_.Same; - else if (lhs < rhs) return CompareAble_.Less; - else return CompareAble_.More; - } + public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, double.class, o);}} + public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Err_.parse_type_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 Err_.cast_(e, double.class, v);} @@ -42,8 +43,9 @@ public class Double_ { ? Int_.Xto_str(v_as_int) // convert to int, and call print String to eliminate any trailing decimal places : Float_.Xto_str((float)v); // calling ((float)v).toString is better at removing trailing 0s than String.format("%g", v). note that .net .toString() handles it better; EX:2449.600000000000d; DATE:2014-07-29 } - public static double cast_(Object o) {try {return (Double)o;} catch(Exception e) {throw Err_.type_mismatch_exc_(e, double.class, o);}} - public static double parse_(String raw) {try {return Double.parseDouble(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, double.class, raw);}} - public static double parseOr_(String raw, double v) {try {return Double.parseDouble(raw);} catch(Exception e) {Err_.Noop(e); return v;}} - public static final double MinValue = Double.MIN_VALUE; + public static int Compare(double lhs, double rhs) { + if (lhs == rhs) return CompareAble_.Same; + else if (lhs < rhs) return CompareAble_.Less; + else return CompareAble_.More; + } } diff --git a/100_core/src_110_primitive/gplx/Float_.java b/100_core/src_110_primitive/gplx/Float_.java index afe796afe..0e7cc4da9 100644 --- a/100_core/src_110_primitive/gplx/Float_.java +++ b/100_core/src_110_primitive/gplx/Float_.java @@ -17,26 +17,20 @@ along with this program. If not, see . */ package gplx; public class Float_ { - public static final Class Cls_ref_type = Float.class; public static final String Cls_val_name = "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 int RoundUp(float val) { - int rv = (int)val; - return (rv == val) ? rv : rv + 1; - } - public static float Div(int val, int divisor) {return (float)val / (float)divisor;} - public static float Div(long val, long divisor) {return (float)val / (float)divisor;} + public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, float.class, obj);}} + public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Err_.parse_type_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); } - public static float cast_double_(double v) {return (float)v;} - public static float cast_(Object obj) {try {return (Float)obj;} catch(Exception exc) {throw Err_.type_mismatch_exc_(exc, float.class, obj);}} - public static float read_(Object o) {String s = String_.as_(o); return s != null ? Float_.parse_(s) : Float_.cast_(o);} - public static float parse_(String raw) {try {return Float.parseFloat(raw);} catch(Exception exc) {throw Err_.parse_type_exc_(exc, float.class, raw);}} - public static float parseOr_(String raw, float v) { - if (raw == null || raw.length() == 0) return v; - try {return Float.parseFloat(raw);} catch(Exception e) {Err_.Noop(e); return v;} + public static float Div(int val, int divisor) {return (float)val / (float)divisor;} + public static float Div(long val, long divisor) {return (float)val / (float)divisor;} + public static int RoundUp(float val) { + int rv = (int)val; + return (rv == val) ? rv : rv + 1; } } diff --git a/100_core/src_110_primitive/gplx/Int_.java b/100_core/src_110_primitive/gplx/Int_.java index 8910411f1..fdcb9e1d8 100644 --- a/100_core/src_110_primitive/gplx/Int_.java +++ b/100_core/src_110_primitive/gplx/Int_.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.strings.*; public class Int_ implements GfoInvkAble { public static final String Cls_val_name = "int"; public static final Class Cls_ref_type = Integer.class; diff --git a/100_core/src_110_primitive/gplx/Long_.java b/100_core/src_110_primitive/gplx/Long_.java index 6656c9df1..b071cac43 100644 --- a/100_core/src_110_primitive/gplx/Long_.java +++ b/100_core/src_110_primitive/gplx/Long_.java @@ -17,11 +17,12 @@ along with this program. If not, see . */ package gplx; public class Long_ { - public static final Class Cls_ref_type = Long.class; - public static final long MinValue = Long.MIN_VALUE; - public static final long MaxValue = Long.MAX_VALUE; public static final String Cls_val_name = "long"; - public static final long Neg1 = -1; + public static final Class Cls_ref_type = Long.class; + public static final long + MinValue = Long.MIN_VALUE + , MaxValue = Long.MAX_VALUE + ; public static final int Log10Ary_len = 21; public static long[] Log10Ary = new long[] { 1, 10, 100, 1000, 10000 @@ -30,6 +31,13 @@ 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 Err_.parse_type_exc_(e, long.class, raw);}} + public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Err_.type_mismatch_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 Err_.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);} public static String Xto_str_PadBgn(long v, int reqdPlaces) {return String_.Pad(Xto_str(v), reqdPlaces, "0", true);} // ex: 1, 3 returns 001 public static long parse_or_(String raw, long or) { @@ -51,12 +59,6 @@ public class Long_ { if (lhs == rhs) return CompareAble_.Same; else if (lhs < rhs) return CompareAble_.Less; else return CompareAble_.More; - } - public static long parse_(String raw) {try {return Long.parseLong(raw);} catch(Exception e) {throw Err_.parse_type_exc_(e, long.class, raw);}} - public static long cast_(Object obj) {try {return (Long)obj;} catch(Exception e) {throw Err_.type_mismatch_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 Err_.cast_(e, long.class, v);} } public static int FindIdx(long[] ary, long find_val) { int ary_len = ary.length; @@ -103,9 +105,8 @@ public class Long_ { public static long Int_merge(int hi, int lo) {return (long)hi << 32 | (lo & 0xFFFFFFFFL);} public static int Int_split_lo(long v) {return (int)(v);} public static int Int_split_hi(long v) {return (int)(v >> 32);} - public static long Xby_int(int v) {return (long)v;} } -/* alternate for Int_merge does not work in java +/* alternate for Int_merge; does not work in java public static long MergeInts(int lo, int hi) {return (uint)(hi << 32) | (lo & 0xffffffff);} public static int SplitLo(long v) {return (int)(((ulong)v & 0x00000000ffffffff));} public static int SplitHi(long v) {return (int)(((ulong)v & 0xffffffff00000000)) >> 32;} diff --git a/100_core/src_110_primitive/gplx/String_.java b/100_core/src_110_primitive/gplx/String_.java index ef76f5647..40eba34d1 100644 --- a/100_core/src_110_primitive/gplx/String_.java +++ b/100_core/src_110_primitive/gplx/String_.java @@ -17,6 +17,7 @@ along with this program. If not, see . */ package gplx; import java.lang.*; +import gplx.core.strings.*; public class String_ implements GfoInvkAble { public static final Class Cls_ref_type = String.class; public static final String Cls_val_name = "str" + "ing"; diff --git a/100_core/src_120_basicDataType/gplx/EnmMgr.java b/100_core/src_120_basicDataType/gplx/EnmMgr.java index 60ae1dec1..ca705427a 100644 --- a/100_core/src_120_basicDataType/gplx/EnmMgr.java +++ b/100_core/src_120_basicDataType/gplx/EnmMgr.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.strings.*; public class EnmMgr { public String BitRngSpr() {return bitRngSpr;} public EnmMgr BitRngSpr_(String val) {bitRngSpr = val; return this;} private String bitRngSpr = "+"; public String Prefix() {return prefix;} public EnmMgr Prefix_(String val) {prefix = val; return this;} private String prefix; diff --git a/100_core/src_120_basicDataType/gplx/Io_url.java b/100_core/src_120_basicDataType/gplx/Io_url.java index f1294bba5..24c12469c 100644 --- a/100_core/src_120_basicDataType/gplx/Io_url.java +++ b/100_core/src_120_basicDataType/gplx/Io_url.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.ios.*; /*IoUrlInfo*/ +import gplx.core.strings.*; import gplx.ios.*; /*IoUrlInfo*/ public class Io_url implements CompareAble, EqAble, ParseAble, GfoInvkAble { //_20101005 URL:doc/Io_url.txt public IoUrlInfo Info() {return info;} IoUrlInfo info; public String Raw() {return raw;} final String raw; diff --git a/100_core/src_120_basicDataType/gplx/KeyValList.java b/100_core/src_120_basicDataType/gplx/KeyValList.java index 2a873ccc0..3bac36625 100644 --- a/100_core/src_120_basicDataType/gplx/KeyValList.java +++ b/100_core/src_120_basicDataType/gplx/KeyValList.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.strings.*; public class KeyValList {//20101217 public int Count() {return list.Count();} ListAdp list = ListAdp_.new_(); public void Clear() {list.Clear();} diff --git a/100_core/src_120_basicDataType/gplx/KeyVal_.java b/100_core/src_120_basicDataType/gplx/KeyVal_.java index 02cbd2e94..0035a5e27 100644 --- a/100_core/src_120_basicDataType/gplx/KeyVal_.java +++ b/100_core/src_120_basicDataType/gplx/KeyVal_.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.strings.*; public class KeyVal_ { public static final KeyVal[] Ary_empty = new KeyVal[0]; public static KeyVal[] Ary(KeyVal... ary) {return ary;} diff --git a/100_core/src_120_basicDataType/gplx/TimeSpanAdp.java b/100_core/src_120_basicDataType/gplx/TimeSpanAdp.java index 05bfec406..af14af134 100644 --- a/100_core/src_120_basicDataType/gplx/TimeSpanAdp.java +++ b/100_core/src_120_basicDataType/gplx/TimeSpanAdp.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.strings.*; public class TimeSpanAdp implements CompareAble, EqAble { public long Fracs() {return fracs;} long fracs; public int FracsAsInt() {return (int)fracs;} public DecimalAdp TotalSecs() { diff --git a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java index 13ff6b3ae..3d421add5 100644 --- a/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.java +++ b/100_core/src_120_basicDataType/gplx/TimeSpanAdp_.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.strings.*; public class TimeSpanAdp_ { public static final TimeSpanAdp Zero = new TimeSpanAdp(0); public static final TimeSpanAdp Null = new TimeSpanAdp(-1); diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_bool_base.java b/100_core/src_130_crt/gplx/criterias/Criteria_bool_base.java deleted file mode 100644 index 6b44a9c19..000000000 --- a/100_core/src_130_crt/gplx/criterias/Criteria_bool_base.java +++ /dev/null @@ -1,51 +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.criterias; import gplx.*; -public abstract class Criteria_bool_base implements Criteria { - public abstract byte Crt_tid(); - public abstract boolean Matches(Object curVal); - public String OpLiteral() {return opLiteral;} private String opLiteral; - public Criteria Lhs() {return lhs;} Criteria lhs; - public Criteria Rhs() {return rhs;} Criteria rhs; - public String XtoStr() {return String_.Concat(lhs.XtoStr(), " ", this.opLiteral, " ", rhs.XtoStr());} - @gplx.Internal protected void ctor_Criteria_base(String opLiteral, Criteria lhs, Criteria rhs) {this.opLiteral = opLiteral; this.lhs = lhs; this.rhs = rhs;} - public static Criteria_bool_base as_(Object obj) {return obj instanceof Criteria_bool_base ? (Criteria_bool_base)obj : null;} -} -class Criteria_and extends Criteria_bool_base { - @Override public byte Crt_tid() {return Criteria_.Tid_not;} - @Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) && this.Rhs().Matches(curVal);} - public Criteria_and(Criteria lhs, Criteria rhs) {this.ctor_Criteria_base("AND", lhs, rhs);} -} -class Criteria_or extends Criteria_bool_base { - @Override public byte Crt_tid() {return Criteria_.Tid_or;} - @Override public boolean Matches(Object curVal) {return this.Lhs().Matches(curVal) || this.Rhs().Matches(curVal);} - public Criteria_or(Criteria lhs, Criteria rhs) {this.ctor_Criteria_base("OR", lhs, rhs);} -} -class Criteria_const implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_const;} - public boolean Matches(Object comp) {return val;} private boolean val; - public String XtoStr() {return String_.Concat(" IS ", Bool_.Xto_str_lower(val));} - public Criteria_const(boolean val) {this.val = val;} -} -class Criteria_not implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_not;} - public boolean Matches(Object obj) {return !criteria.Matches(obj);} - public String XtoStr() {return String_.Concat_any(" NOT ", criteria.XtoStr());} - Criteria criteria; - public Criteria_not(Criteria v) {this.criteria = v;} -} diff --git a/100_core/src_130_crt/gplx/criterias/Criteria_wrapper.java b/100_core/src_130_crt/gplx/criterias/Criteria_wrapper.java deleted file mode 100644 index f5e5d3af0..000000000 --- a/100_core/src_130_crt/gplx/criterias/Criteria_wrapper.java +++ /dev/null @@ -1,35 +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.criterias; import gplx.*; -public class Criteria_wrapper implements Criteria { - public byte Crt_tid() {return Criteria_.Tid_wrapper;} - public static Criteria_wrapper as_(Object obj) {return obj instanceof Criteria_wrapper ? (Criteria_wrapper)obj : null;} - public String Name_of_GfoFldCrt() {return fieldName;} private String fieldName; - public Criteria Crt_of_GfoFldCrt() {return crt;} Criteria crt; - public boolean Matches(Object invkObj) { - GfoInvkAble invk = (GfoInvkAble)invkObj; - Object comp = GfoInvkAble_.InvkCmd(invk, fieldName); - return crt.Matches(comp); - } - public String XtoStr() {return String_.Concat(fieldName, " ", crt.XtoStr());} - public static Criteria_wrapper new_(String fieldName, Criteria criteria) { - Criteria_wrapper rv = new Criteria_wrapper(); - rv.fieldName = fieldName; rv.crt = criteria; - return rv; - } -} diff --git a/100_core/src_140_list/gplx/HashAdp_.java b/100_core/src_140_list/gplx/HashAdp_.java index 63dd30531..d8348e8c4 100644 --- a/100_core/src_140_list/gplx/HashAdp_.java +++ b/100_core/src_140_list/gplx/HashAdp_.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.primitives.*; public class HashAdp_ { public static HashAdp new_() {return new HashAdp_obj();} public static HashAdp new_bry_() {return new HashAdp_bry();} 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 7a7cde669..3d1870954 100644 --- a/100_core/src_140_list/gplx/Hash_adp_bry.java +++ b/100_core/src_140_list/gplx/Hash_adp_bry.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.primitives.*; import gplx.intl.*; public class Hash_adp_bry extends gplx.lists.HashAdp_base implements HashAdp { private final Hash_adp_bry_itm_base proto, key_ref; diff --git a/100_core/src_140_list/gplx/ListAdp_base.java b/100_core/src_140_list/gplx/ListAdp_base.java index fb883ffde..62db90e5c 100644 --- a/100_core/src_140_list/gplx/ListAdp_base.java +++ b/100_core/src_140_list/gplx/ListAdp_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.lists.*; +import gplx.core.strings.*; import gplx.lists.*; public abstract class ListAdp_base implements ListAdp, GfoInvkAble { public Object Xto_ary_and_clear(Class memberType) {Object rv = Xto_ary(memberType); this.Clear(); return rv;} public Object Xto_ary(Class memberType) { diff --git a/100_core/src_140_list/gplx/OrderedHash_.java b/100_core/src_140_list/gplx/OrderedHash_.java index a13bea564..a9ad542fc 100644 --- a/100_core/src_140_list/gplx/OrderedHash_.java +++ b/100_core/src_140_list/gplx/OrderedHash_.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.primitives.*; public class OrderedHash_ { public static OrderedHash new_() {return new OrderedHash_base();} public static OrderedHash new_bry_() {return new OrderedHash_bry();} diff --git a/100_core/src_140_list/gplx/OrderedHash_base.java b/100_core/src_140_list/gplx/OrderedHash_base.java index 66e9293fe..a1a7f0fea 100644 --- a/100_core/src_140_list/gplx/OrderedHash_base.java +++ b/100_core/src_140_list/gplx/OrderedHash_base.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.strings.*; import gplx.lists.*; /*EnumerAble,ComparerAble*/ public class OrderedHash_base extends HashAdp_base implements OrderedHash, GfoInvkAble { @Override protected void Add_base(Object key, Object val) { diff --git a/100_core/src_150_text/gplx/intl/Utf16_.java b/100_core/src_150_text/gplx/intl/Utf16_.java index dc4be43dd..09281dd20 100644 --- a/100_core/src_150_text/gplx/intl/Utf16_.java +++ b/100_core/src_150_text/gplx/intl/Utf16_.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.intl; import gplx.*; +import gplx.core.primitives.*; public class Utf16_ { public static int Surrogate_merge(int hi, int lo) { // REF: http://perldoc.perl.org/Encode/Unicode.html return 0x10000 + (hi - 0xD800) * 0x400 + (lo - 0xDC00); diff --git a/100_core/src_150_text/gplx/intl/Utf16__tst.java b/100_core/src_150_text/gplx/intl/Utf16__tst.java index 5dc05f18c..a5a9a9b61 100644 --- a/100_core/src_150_text/gplx/intl/Utf16__tst.java +++ b/100_core/src_150_text/gplx/intl/Utf16__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.intl; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Utf16__tst { private Utf16__fxt fxt = new Utf16__fxt(); @Test public void Encode_decode() { diff --git a/100_core/src_150_text/gplx/texts/RegxAdp.java b/100_core/src_150_text/gplx/texts/RegxAdp.java index f6280ca04..2b6fe14df 100644 --- a/100_core/src_150_text/gplx/texts/RegxAdp.java +++ b/100_core/src_150_text/gplx/texts/RegxAdp.java @@ -47,7 +47,7 @@ public class RegxAdp { int idx = bgn; ListAdp rv = ListAdp_.new_(); int len = String_.Len(text); - while (idx < len) { + while (idx <= len) { // NOTE: must be <= not < else "a?" will return null instead of ""; PAGE:en.d:民; DATE:2015-01-30 RegxMatch match = this.Match(text, idx); if (match.Rslt_none()) break; rv.Add(match); diff --git a/100_core/src_150_text/gplx/texts/RegxBldr.java b/100_core/src_150_text/gplx/texts/RegxBldr.java index 01de147d4..f4489ad43 100644 --- a/100_core/src_150_text/gplx/texts/RegxBldr.java +++ b/100_core/src_150_text/gplx/texts/RegxBldr.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.texts; import gplx.*; +import gplx.core.strings.*; public class RegxBldr { public static String Includes(String characters) {return String_.Concat_any(RegxBldr.Tkn_CharSetBegin, characters, RegxBldr.Tkn_CharSetEnd);} public static String Excludes(String characters) {return String_.Concat_any(RegxBldr.Tkn_CharSetBegin, RegxBldr.Tkn_Not, characters, RegxBldr.Tkn_CharSetEnd);} 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 2c4a0730e..30b229029 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 @@ -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.texts; import gplx.*; +import gplx.core.strings.*; public class RegxPatn_cls_ioMatch_ { public static final String Wildcard = "*"; public static final String OrDelimiter = "|"; 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 83c3edce7..3a843df15 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 @@ -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.texts; import gplx.*; +import gplx.core.strings.*; public class RegxPatn_cls_like_ { public static RegxPatn_cls_like parse_(String regxRaw, char escape) { String regx = Compile(regxRaw, escape); diff --git a/100_core/src_150_text/gplx/texts/StringTableBldr.java b/100_core/src_150_text/gplx/texts/StringTableBldr.java index 83c8c4b0e..fd107b305 100644 --- a/100_core/src_150_text/gplx/texts/StringTableBldr.java +++ b/100_core/src_150_text/gplx/texts/StringTableBldr.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.texts; import gplx.*; +import gplx.core.strings.*; public class StringTableBldr { public void ClearRows() {rows.Clear();} public StringTableCol Col_(int i) {return FetchAtOrNew(i);} diff --git a/100_core/src_200_io/gplx/Io_mgr.java b/100_core/src_200_io/gplx/Io_mgr.java index 88b0f4acf..381dfcaee 100644 --- a/100_core/src_200_io/gplx/Io_mgr.java +++ b/100_core/src_200_io/gplx/Io_mgr.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.ios.*; /*IoItmFil, IoItmDir..*/ +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._.Fetch(url.Info().EngineKey()).ExistsFil_api(url);} diff --git a/100_core/src_200_io/gplx/ios/IoEngine.java b/100_core/src_200_io/gplx/ios/IoEngine.java index 3dfc0feab..897b597e8 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.criterias.*; +import gplx.core.criterias.*; public interface IoEngine { String Key(); boolean ExistsFil_api(Io_url url); 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 cf8ee4c67..2e99935e0 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_system.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_system.java @@ -27,7 +27,7 @@ import java.util.Date; import javax.print.FlavorException; import javax.tools.JavaCompiler; -import gplx.criterias.*; +import gplx.core.criterias.*; public class IoEngine_system extends IoEngine_base { @Override public String Key() {return IoEngine_.SysKey;} @Override public void DeleteDirDeep(IoEngine_xrg_deleteDir args) {utl.DeleteDirDeep(this, args.Url(), args);} 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 4a2cd381f..1ba4cf9b2 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.criterias.*; +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; 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 b3e7357c4..da59bef77 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.criterias.*; +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; @@ -33,13 +33,13 @@ public class IoEngine_xrg_queryDir { public ConsoleDlg UsrDlg() {return usrDlg;} public IoEngine_xrg_queryDir UsrDlg_(ConsoleDlg val) {usrDlg = val; return this;} ConsoleDlg usrDlg = ConsoleDlg_.Null; public IoEngine_xrg_queryDir FilPath_(String val) { Criteria_ioMatch crt = Criteria_ioMatch.parse_(true, val, url.Info().CaseSensitive()); - filCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, crt); + filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, crt); return this; } public IoItmDir ExecAsDir() {return IoEnginePool._.Fetch(url.Info().EngineKey()).QueryDirDeep(this);} public Io_url[] ExecAsUrlAry() {return ExecAsItmHash().XtoIoUrlAry();} public IoItmHash ExecAsItmHash() { - Criteria crt = dirInclude ? Criteria_.All : Criteria_wrapper.new_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil)); + Criteria crt = dirInclude ? Criteria_.All : Criteria_fld.new_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil)); IoItmHash list = ExecAsDir().XtoIoItmList(crt); list.SortBy(IoItmBase_comparer_nest._); return list; @@ -47,9 +47,9 @@ public class IoEngine_xrg_queryDir { public static IoEngine_xrg_queryDir new_(Io_url url) { IoEngine_xrg_queryDir rv = new IoEngine_xrg_queryDir(); rv.url = url; - rv.filCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All); - rv.dirCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All); - rv.subDirScanCrt = Criteria_wrapper.new_(IoItm_base_.Prop_Path, Criteria_.All); + rv.filCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All); + rv.dirCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All); + rv.subDirScanCrt = Criteria_fld.new_(IoItm_base_.Prop_Path, Criteria_.All); return rv; } IoEngine_xrg_queryDir() {} } diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java index e0c73d4e4..8c77f2665 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_recycleFil.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.ios; import gplx.*; +import gplx.core.strings.*; public class IoEngine_xrg_recycleFil extends IoEngine_xrg_fil_affects1_base { public IoEngine_xrg_recycleFil MissingFails_off() {return MissingFails_(false);} public IoEngine_xrg_recycleFil MissingFails_(boolean v) {MissingFails_set(v); return this;} diff --git a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java index 26df8d6dd..c7b2ecb21 100644 --- a/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.java +++ b/100_core/src_200_io/gplx/ios/IoEngine_xrg_xferDir.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.criterias.*; +import gplx.core.criterias.*; public class IoEngine_xrg_xferDir { public boolean Type_move() {return move;} public boolean Type_copy() {return !move;} private boolean move = false; public Io_url Src() {return src;} public IoEngine_xrg_xferDir Src_(Io_url val) {src = val; return this;} Io_url src; diff --git a/100_core/src_200_io/gplx/ios/IoItmDir.java b/100_core/src_200_io/gplx/ios/IoItmDir.java index e76c6c92a..295e0fd7a 100644 --- a/100_core/src_200_io/gplx/ios/IoItmDir.java +++ b/100_core/src_200_io/gplx/ios/IoItmDir.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.criterias.*; +import gplx.core.criterias.*; public class IoItmDir extends IoItm_base { public boolean Exists() {return exists;} public void Exists_set(boolean v) {exists = v;} private boolean exists = true; @Override public int TypeId() {return Type_Dir;} @Override public boolean Type_dir() {return true;} @Override public boolean Type_fil() {return false;} public static final int Type_Dir = 1; diff --git a/100_core/src_200_io/gplx/ios/IoRecycleBin.java b/100_core/src_200_io/gplx/ios/IoRecycleBin.java index 1a3601919..838960714 100644 --- a/100_core/src_200_io/gplx/ios/IoRecycleBin.java +++ b/100_core/src_200_io/gplx/ios/IoRecycleBin.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.ios; import gplx.*; +import gplx.core.strings.*; public class IoRecycleBin { public void Send(Io_url url) {Send_xrg(url).Exec();} public IoEngine_xrg_recycleFil Send_xrg(Io_url url) {return IoEngine_xrg_recycleFil.gplx_(url);} diff --git a/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java b/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java index 701a12a6c..f6ff380a6 100644 --- a/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.java +++ b/100_core/src_200_io/gplx/ios/IoUrlTypeRegy.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.ios; import gplx.*; +import gplx.core.strings.*; public class IoUrlTypeRegy implements GfoInvkAble { public String[] FetchAryOr(String key, String... or) { IoUrlTypeGrp itm = (IoUrlTypeGrp)hash.Fetch(key); diff --git a/100_core/src_210_env/gplx/ProcessAdp.java b/100_core/src_210_env/gplx/ProcessAdp.java index bf3875b53..a8be39ad7 100644 --- a/100_core/src_210_env/gplx/ProcessAdp.java +++ b/100_core/src_210_env/gplx/ProcessAdp.java @@ -24,6 +24,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import javax.management.RuntimeErrorException; +import gplx.core.strings.*; public class ProcessAdp implements GfoInvkAble, RlsAble { public boolean Enabled() {return enabled;} public ProcessAdp Enabled_(boolean v) {enabled = v; return this;} private boolean enabled = true; public byte Exe_exists() {return exe_exists;} public ProcessAdp Exe_exists_(byte v) {exe_exists = v; return this;} private byte exe_exists = Bool_.__byte; diff --git a/100_core/src_310_gfoNde/gplx/GfoFldList_.java b/100_core/src_310_gfoNde/gplx/GfoFldList_.java index c66de4efc..acd260742 100644 --- a/100_core/src_310_gfoNde/gplx/GfoFldList_.java +++ b/100_core/src_310_gfoNde/gplx/GfoFldList_.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.strings.*; public class GfoFldList_ { public static final GfoFldList Null = new GfoFldList_null(); public static GfoFldList new_() {return new GfoFldList_base();} diff --git a/100_core/src_310_gfoNde/gplx/GfoNde.java b/100_core/src_310_gfoNde/gplx/GfoNde.java index 08f574abb..c62a1f61e 100644 --- a/100_core/src_310_gfoNde/gplx/GfoNde.java +++ b/100_core/src_310_gfoNde/gplx/GfoNde.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.strings.*; public class GfoNde implements GfoInvkAble { public GfoFldList Flds() {return flds;} GfoFldList flds; public HashAdp EnvVars() {return envVars;} HashAdp envVars = HashAdp_.new_(); diff --git a/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java b/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java index 03cbf3893..e3cca6d8d 100644 --- a/100_core/src_311_gfoObj/gplx/GfoInvkAble_.java +++ b/100_core/src_311_gfoObj/gplx/GfoInvkAble_.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.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 Err_.type_mismatch_exc_(exc, GfoInvkAble.class, obj);}} diff --git a/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java b/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java index 88a27ff79..7cc3f793a 100644 --- a/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.java +++ b/100_core/src_311_gfoObj/gplx/GfoInvkCmdMgr.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.primitives.*; public class GfoInvkCmdMgr { public GfoInvkCmdMgr Add_cmd_many(GfoInvkAble invk, String... keys) { for (String key : keys) diff --git a/100_core/src_311_gfoObj/gplx/GfoMsg_.java b/100_core/src_311_gfoObj/gplx/GfoMsg_.java index 116ef9779..3be510daa 100644 --- a/100_core/src_311_gfoObj/gplx/GfoMsg_.java +++ b/100_core/src_311_gfoObj/gplx/GfoMsg_.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.primitives.*; import gplx.core.strings.*; public class GfoMsg_ { public static GfoMsg as_(Object obj) {return obj instanceof GfoMsg ? (GfoMsg)obj : null;} public static final GfoMsg Null = new GfoMsg_base().ctor_("<>", false); diff --git a/100_core/src_330_store/gplx/DataRdr.java b/100_core/src_330_store/gplx/DataRdr.java index 6f626581c..8cdfe9c4a 100644 --- a/100_core/src_330_store/gplx/DataRdr.java +++ b/100_core/src_330_store/gplx/DataRdr.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.strings.*; public interface DataRdr extends SrlMgr, RlsAble { String NameOfNode(); String XtoStr(); Io_url Uri(); void Uri_set(Io_url s); diff --git a/100_core/src_330_store/gplx/DataRdr_.java b/100_core/src_330_store/gplx/DataRdr_.java index 8d013be8f..31ffb508e 100644 --- a/100_core/src_330_store/gplx/DataRdr_.java +++ b/100_core/src_330_store/gplx/DataRdr_.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.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;} 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 eb8cd19ef..fe9319b17 100644 --- a/100_core/src_330_store/gplx/stores/DataRdr_base.java +++ b/100_core/src_330_store/gplx/stores/DataRdr_base.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.stores; import gplx.*; +import gplx.core.strings.*; public abstract class DataRdr_base implements SrlMgr { public boolean Parse() {return parse;} public void Parse_set(boolean v) {parse = v;} private boolean parse; public Io_url Uri() {return uri;} public void Uri_set(Io_url s) {uri = s;} Io_url uri = Io_url_.Null; 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 cba2ae4a3..0376f8a28 100644 --- a/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.java +++ b/100_core/src_330_store/gplx/stores/xmls/XmlDataWtr_.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.stores.xmls; import gplx.*; import gplx.stores.*; +import gplx.core.strings.*; public class XmlDataWtr_ { public static DataWtr new_() {return XmlDataWtr.new_();} } 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 004984a8f..c2de9d918 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataRdr_.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.stores.dsvs; import gplx.*; import gplx.stores.*; +import gplx.core.strings.*; import gplx.texts.*; /*CharStream*/ public class DsvDataRdr_ { public static DataRdr dsv_(String text) {return DsvParser.dsv_().ParseAsRdr(text);} 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 e8c89faf0..fdf701452 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 @@ -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.stores.dsvs; import gplx.*; import gplx.stores.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class DsvDataRdr_csv_dat_tst { @Before public void setup() { fx.Parser_(DsvParser.csv_(false, GfoFldList_.Null)); diff --git a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java index b4b2e7d8d..ba0fb6ed5 100644 --- a/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.java +++ b/100_core/src_340_dsv/gplx/stores/dsvs/DsvDataWtr.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.stores.dsvs; import gplx.*; import gplx.stores.*; +import gplx.core.strings.*; public class DsvDataWtr extends DataWtr_base implements DataWtr { public void InitWtr(String key, Object val) { if (key == DsvStoreLayout.Key_const) layout = (DsvStoreLayout)val; diff --git a/100_core/src_400_gfs/gplx/GfsCoreHelp.java b/100_core/src_400_gfs/gplx/GfsCoreHelp.java index 668d89e3d..d68e99a22 100644 --- a/100_core/src_400_gfs/gplx/GfsCoreHelp.java +++ b/100_core/src_400_gfs/gplx/GfsCoreHelp.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.strings.*; class GfsCoreHelp implements GfoInvkAble { public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { String path = m.ReadStrOr("path", ""); diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui.java index 01fe7eb6a..a063b3ae1 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui.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.strings.*; public interface Gfo_usr_dlg_ui { void Clear(); String_ring Prog_msgs(); diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_.java index 8105c41b4..c8f81b286 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_.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.strings.*; public class Gfo_usr_dlg_ui_ { public static final Gfo_usr_dlg_ui Null = new Gfo_usr_dlg_ui_null(); public static final Gfo_usr_dlg_ui Console = new Gfo_usr_dlg_ui_console(); diff --git a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_test.java b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_test.java index 1dc21391d..a8bfc39f9 100644 --- a/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_test.java +++ b/100_core/src_420_usrMsg/gplx/Gfo_usr_dlg_ui_test.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.strings.*; public class Gfo_usr_dlg_ui_test implements Gfo_usr_dlg_ui { public String[] Xto_str_ary() {return msgs.XtoStrAry();} public ListAdp Warns() {return warns;} diff --git a/100_core/src_420_usrMsg/gplx/UsrMsg.java b/100_core/src_420_usrMsg/gplx/UsrMsg.java index 75239eaac..29555599a 100644 --- a/100_core/src_420_usrMsg/gplx/UsrMsg.java +++ b/100_core/src_420_usrMsg/gplx/UsrMsg.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.strings.*; public class UsrMsg { public int VisibilityDuration() {return visibilityDuration;} public UsrMsg VisibilityDuration_(int v) {visibilityDuration = v; return this;} int visibilityDuration = 3000; public String Hdr() {return hdr;} public UsrMsg Hdr_(String val) {hdr = val; return this;} private String hdr; diff --git a/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java b/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java index 552d368ca..6d8360f10 100644 --- a/100_core/src_800_tst/gplx/PerfLogMgr_fxt.java +++ b/100_core/src_800_tst/gplx/PerfLogMgr_fxt.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.strings.*; public class PerfLogMgr_fxt { public void Init(Io_url url, String text) { this.url = url; diff --git a/100_core/src_800_tst/gplx/Tfds.java b/100_core/src_800_tst/gplx/Tfds.java index 9cef56024..b1fb93d75 100644 --- a/100_core/src_800_tst/gplx/Tfds.java +++ b/100_core/src_800_tst/gplx/Tfds.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.strings.*; 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);} diff --git a/100_core/src_900_xml/gplx/HierStrBldr.java b/100_core/src_900_xml/gplx/HierStrBldr.java index f94629493..d2f2bd5ea 100644 --- a/100_core/src_900_xml/gplx/HierStrBldr.java +++ b/100_core/src_900_xml/gplx/HierStrBldr.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.strings.*; public class HierStrBldr { public String Root() {return root;} public HierStrBldr Root_(String v) {root = v; return this;} private String root; public Io_url RootAsIoUrl() {return Io_url_.new_dir_(root);} diff --git a/100_core/src_900_xml/gplx/xmls/Xpath_.java b/100_core/src_900_xml/gplx/xmls/Xpath_.java index 6c4398250..16e8fe899 100644 --- a/100_core/src_900_xml/gplx/xmls/Xpath_.java +++ b/100_core/src_900_xml/gplx/xmls/Xpath_.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.primitives.*; public class Xpath_ { public static XmlNdeList SelectAll(XmlNde owner, String xpath) {return Select(owner, xpath, Xpath_Args.all_());} public static XmlNde SelectFirst(XmlNde owner, String xpath) { diff --git a/100_core/tst/gplx/TfdsTstr_fxt.java b/100_core/tst/gplx/TfdsTstr_fxt.java index 835116cbe..80e6cb135 100644 --- a/100_core/tst/gplx/TfdsTstr_fxt.java +++ b/100_core/tst/gplx/TfdsTstr_fxt.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.strings.*; import gplx.lists.*; public class TfdsTstr_fxt { public TfdsTstr_fxt Eq_str(Object expd, Object actl, String name) { diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java index 162d8ca0f..6d35581f3 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlLxr_.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.gfml; import gplx.*; +import gplx.core.strings.*; import gplx.texts.*; /*CharStream*/ public class GfmlLxr_ { public static GfmlLxr general_(String key, GfmlTkn protoTkn) {return GfmlLxr_general.new_(key, protoTkn);} diff --git a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn.java b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn.java index 60a65feb8..7e5d2b6fb 100644 --- a/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn.java +++ b/110_gfml/src_100_tkn/gplx/gfml/GfmlTkn.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.gfml; import gplx.*; +import gplx.core.strings.*; public interface GfmlTkn extends GfmlObj { String TknType(); String Raw(); diff --git a/110_gfml/src_200_type/gplx/gfml/GfmlFld.java b/110_gfml/src_200_type/gplx/gfml/GfmlFld.java index 0c34a0a5f..dd1f074bf 100644 --- a/110_gfml/src_200_type/gplx/gfml/GfmlFld.java +++ b/110_gfml/src_200_type/gplx/gfml/GfmlFld.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.gfml; import gplx.*; +import gplx.core.strings.*; public class GfmlFld { public String Name() {return name;} private String name; public boolean Name_isKey() {return name_isKey;} private boolean name_isKey; diff --git a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocPos.java b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocPos.java index 0d4277eb0..ca934ab13 100644 --- a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocPos.java +++ b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocPos.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.gfml; import gplx.*; +import gplx.core.strings.*; public class GfmlDocPos implements CompareAble { public String Path() {if (path == null) MakePath(); return path;} private String path; public int compareTo(Object obj) { diff --git a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java index f20a568f0..16ebcb645 100644 --- a/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.java +++ b/110_gfml/src_300_gdoc/gplx/gfml/GfmlDocWtr_.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.gfml; import gplx.*; +import gplx.core.strings.*; public class GfmlDocWtr_ { public String Xto_str_and_clear() {return sb.Xto_str_and_clear();} public void BuildAttrib(GfmlAtr atr) {Build(atr);} diff --git a/110_gfml/src_500_build/gplx/gfml/GfmlStringHighlighter.java b/110_gfml/src_500_build/gplx/gfml/GfmlStringHighlighter.java index c47032306..2dc31ddc8 100644 --- a/110_gfml/src_500_build/gplx/gfml/GfmlStringHighlighter.java +++ b/110_gfml/src_500_build/gplx/gfml/GfmlStringHighlighter.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.gfml; import gplx.*; +import gplx.core.strings.*; class GfmlStringHighlighter { public String Raw() {return raw;} public GfmlStringHighlighter Raw_(String v) {raw = v; return this;} private String raw; public int ExcerptLen() {return excerptLen;} public GfmlStringHighlighter ExcerptLen_(int v) {excerptLen = v; return this;} int excerptLen = 40; diff --git a/110_gfml/src_600_rdrWtr/gplx/gfml/SqlDoc.java b/110_gfml/src_600_rdrWtr/gplx/gfml/SqlDoc.java index aff77727e..3ab7465e7 100644 --- a/110_gfml/src_600_rdrWtr/gplx/gfml/SqlDoc.java +++ b/110_gfml/src_600_rdrWtr/gplx/gfml/SqlDoc.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.gfml; import gplx.*; -import gplx.criterias.*; +import gplx.core.strings.*; import gplx.core.criterias.*; public class SqlDoc { public static GfmlDoc XtoDoc(String raw) { GfmlBldr bldr = GfmlBldr_.new_(); diff --git a/110_gfml/tst/gplx/gfml/ymoks_GfmlAtr_GfmlNde_mok.java b/110_gfml/tst/gplx/gfml/ymoks_GfmlAtr_GfmlNde_mok.java index b564487a2..acc426c66 100644 --- a/110_gfml/tst/gplx/gfml/ymoks_GfmlAtr_GfmlNde_mok.java +++ b/110_gfml/tst/gplx/gfml/ymoks_GfmlAtr_GfmlNde_mok.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.gfml; import gplx.*; +import gplx.core.strings.*; interface GfmlItm_mok { int ObjType(); } diff --git a/110_gfml/tst/gplx/gfml/z901_perf_tst.java b/110_gfml/tst/gplx/gfml/z901_perf_tst.java index c40c6edcf..5a40bce37 100644 --- a/110_gfml/tst/gplx/gfml/z901_perf_tst.java +++ b/110_gfml/tst/gplx/gfml/z901_perf_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.gfml; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class z901_perf_tst { TimerWatch tmr = TimerWatch.new_(); @Test public void EmptyTestSoJunitWillNotFail() {} diff --git a/140_dbs/src/gplx/dbs/Db_conn.java b/140_dbs/src/gplx/dbs/Db_conn.java index 21f0754ac..ce1438cf9 100644 --- a/140_dbs/src/gplx/dbs/Db_conn.java +++ b/140_dbs/src/gplx/dbs/Db_conn.java @@ -25,10 +25,15 @@ public class Db_conn { } public Db_url Url() {return engine.Url();} public Db_txn_mgr Txn_mgr() {return txn_mgr;} private final Db_txn_mgr txn_mgr; + public Db_stmt New_stmt_insert(String tbl, Db_meta_fld_list flds) {return engine.New_stmt_prep(Db_qry_insert.new_(tbl, flds.To_str_ary()));} public Db_stmt New_stmt_insert(String tbl, String... cols) {return engine.New_stmt_prep(Db_qry_insert.new_(tbl, cols));} public Db_stmt New_stmt_update(String tbl, String[] where, String... cols) {return engine.New_stmt_prep(Db_qry_update.new_(tbl, where, cols));} public Db_stmt New_stmt_delete(String tbl, String... where) {return engine.New_stmt_prep(Db_qry_delete.new_(tbl, where));} public Db_stmt New_stmt_select_all_where(String tbl, String[] cols, String... where) {return engine.New_stmt_prep(Db_qry__select_in_tbl.new_(tbl, where, cols));} + public Db_stmt New_stmt_select_all_where(String tbl, Db_meta_fld_list flds, String... where) {return engine.New_stmt_prep(Db_qry__select_in_tbl.new_(tbl, where, flds.To_str_ary()));} + public Db_stmt New_stmt_update_by_meta(String tbl, Db_meta_fld_list flds, String... where) { + return engine.New_stmt_prep(Db_qry_update.new_(tbl, where, flds.To_str_ary_exclude(where))); + } public void Itms_add(Db_conn_itm itm) {itm_list.Add(itm);} public void Itms_del(Db_conn_itm itm) {itm_list.Del(itm);} public void Conn_term() { diff --git a/140_dbs/src/gplx/dbs/Db_conn_mkr.java b/140_dbs/src/gplx/dbs/Db_conn_mkr.java index 8ede66037..e4ea428c5 100644 --- a/140_dbs/src/gplx/dbs/Db_conn_mkr.java +++ b/140_dbs/src/gplx/dbs/Db_conn_mkr.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.dbs; import gplx.*; +import gplx.core.primitives.*; public interface Db_conn_mkr { Db_conn Load_or_make_(Io_url db_url, Bool_obj_ref created_ref); } diff --git a/140_dbs/src/gplx/dbs/Db_conn_pool.java b/140_dbs/src/gplx/dbs/Db_conn_pool.java index a13865e8f..e48c3d5c7 100644 --- a/140_dbs/src/gplx/dbs/Db_conn_pool.java +++ b/140_dbs/src/gplx/dbs/Db_conn_pool.java @@ -18,24 +18,25 @@ along with this program. If not, see . package gplx.dbs; import gplx.*; import gplx.dbs.engines.mems.*; public class Db_conn_pool { - private final HashAdp dbm_hash = HashAdp_.new_(); private final HashAdp engine_hash = HashAdp_.new_(); + private final HashAdp conn_hash = HashAdp_.new_(); private final HashAdp engine_hash = HashAdp_.new_(); Db_conn_pool() {this.Init();} public Db_conn Get_or_new__sqlite(Io_url url) {return Get_or_new(Db_url_.sqlite_(url));} public Db_conn Get_or_new(Db_url url) { - Db_conn rv = (Db_conn)dbm_hash.Fetch(url.Xto_api()); + Db_conn rv = (Db_conn)conn_hash.Fetch(url.Xto_api()); if (rv == null) { Db_engine prime = (Db_engine)engine_hash.Fetch(url.Tid()); if (prime == null) throw Err_.new_("db engine prototype not found; tid={0}", url.Tid()); Db_engine clone = prime.New_clone(url); rv = new Db_conn(clone); - dbm_hash.Add(url.Xto_api(), rv); + conn_hash.Add(url.Xto_api(), rv); } return rv; } - public void Set_mem(String db, Db_meta_tbl... tbls) { + public Db_conn Set_mem(String db, Db_meta_tbl... tbls) { Db_url url = Db_url__mem.new_(db); Db_engine__mem engine = new Db_engine__mem(url, tbls); - Db_conn dbm = new Db_conn(engine); - dbm_hash.AddReplace(url.Xto_api(), dbm); + Db_conn conn = new Db_conn(engine); + conn_hash.AddReplace(url.Xto_api(), conn); + return conn; } private void Init() { this.Engines__add(Db_engine_null._, TdbEngine._, Mysql_engine._, Postgres_engine._, Sqlite_engine._, Db_engine__mem._); diff --git a/140_dbs/src/gplx/dbs/Db_meta_fld.java b/140_dbs/src/gplx/dbs/Db_meta_fld.java index 38c260f2b..b7576ab06 100644 --- a/140_dbs/src/gplx/dbs/Db_meta_fld.java +++ b/140_dbs/src/gplx/dbs/Db_meta_fld.java @@ -28,4 +28,5 @@ public class Db_meta_fld { public boolean Primary() {return primary;} private final boolean primary; public boolean Autoincrement() {return autoincrement;} private final boolean autoincrement; public static final int Tid_bool = 0, Tid_byte = 1, Tid_short = 2, Tid_int = 3, Tid_long = 4, Tid_float = 5, Tid_double = 6, Tid_str = 7, Tid_text = 8, Tid_bry = 9; + public static final String[] Ary_empy = String_.Ary_empty; } diff --git a/140_dbs/src/gplx/dbs/Db_meta_fld_list.java b/140_dbs/src/gplx/dbs/Db_meta_fld_list.java index 7cc2d4902..58ae6411c 100644 --- a/140_dbs/src/gplx/dbs/Db_meta_fld_list.java +++ b/140_dbs/src/gplx/dbs/Db_meta_fld_list.java @@ -20,8 +20,28 @@ public class Db_meta_fld_list { private final OrderedHash flds = OrderedHash_.new_(); private final ListAdp keys = ListAdp_.new_(); public Db_meta_fld Get_by(String name) {return (Db_meta_fld)flds.Fetch(name);} - public String[] Xto_str_ary() {if (str_ary == null) str_ary = (String[])keys.Xto_ary(String.class); return str_ary;} private String[] str_ary; - public Db_meta_fld[] Xto_fld_ary() {if (fld_ary == null) fld_ary = (Db_meta_fld[])flds.Xto_ary(Db_meta_fld.class); return fld_ary;} private Db_meta_fld[] fld_ary; + public String[] To_str_ary() {if (str_ary == null) str_ary = (String[])keys.Xto_ary(String.class); return str_ary;} private String[] str_ary; + public Db_meta_fld[] To_fld_ary() {if (fld_ary == null) fld_ary = (Db_meta_fld[])flds.Xto_ary(Db_meta_fld.class); return fld_ary;} private Db_meta_fld[] fld_ary; + public String[] To_str_ary_exclude(String[] ary) { + ListAdp rv = ListAdp_.new_(); + int ary_len = ary.length; + int fld_len = flds.Count(); + for (int i = 0; i < fld_len; ++i) { + Db_meta_fld fld = (Db_meta_fld)flds.FetchAt(i); + String fld_key = fld.Name(); + boolean include = true; + for (int j = 0; j < ary_len; ++j) { + String itm_key = ary[j]; + if (String_.Eq(fld_key, itm_key)) { + include = false; + break; + } + if (include) + rv.Add(itm_key); + } + } + return rv.XtoStrAry(); + } public String Add_bool(String name) {return Add(name, Db_meta_fld.Tid_bool, Len_null, Bool_.N, Bool_.N, Bool_.N);} public String Add_byte(String name) {return Add(name, Db_meta_fld.Tid_byte, Len_null, Bool_.N, Bool_.N, Bool_.N);} public String Add_short(String name) {return Add(name, Db_meta_fld.Tid_short, Len_null, Bool_.N, Bool_.N, Bool_.N);} diff --git a/140_dbs/src/gplx/dbs/Db_meta_tbl.java b/140_dbs/src/gplx/dbs/Db_meta_tbl.java index c7b337341..dc001a23a 100644 --- a/140_dbs/src/gplx/dbs/Db_meta_tbl.java +++ b/140_dbs/src/gplx/dbs/Db_meta_tbl.java @@ -23,6 +23,7 @@ public class Db_meta_tbl { public String Name() {return name;} private final String name; public Db_meta_fld[] Flds() {return flds;} private final Db_meta_fld[] flds; public Db_meta_idx[] Idxs() {return idxs;} private final Db_meta_idx[] idxs; + public static Db_meta_tbl new_(String name, Db_meta_fld_list flds, Db_meta_idx... idxs) {return new Db_meta_tbl(name, flds.To_fld_ary(), idxs);} public static Db_meta_tbl new_(String name, Db_meta_fld[] flds, Db_meta_idx... idxs) {return new Db_meta_tbl(name, flds, idxs);} public static Db_meta_tbl new_(String name, Db_meta_fld... flds) {return new Db_meta_tbl(name, flds, null);} } diff --git a/140_dbs/src/gplx/dbs/Db_sqlbldr_tst.java b/140_dbs/src/gplx/dbs/Db_sqlbldr_tst.java index 03bd4f401..095f4d201 100644 --- a/140_dbs/src/gplx/dbs/Db_sqlbldr_tst.java +++ b/140_dbs/src/gplx/dbs/Db_sqlbldr_tst.java @@ -36,7 +36,7 @@ public class Db_sqlbldr_tst { flds.Add_str("fld_str", 123); flds.Add_text("fld_text"); flds.Add_bry("fld_bry"); - fxt.Test_create_tbl(Db_meta_tbl.new_("tbl_name", flds.Xto_fld_ary()) + fxt.Test_create_tbl(Db_meta_tbl.new_("tbl_name", flds.To_fld_ary()) , String_.Concat_lines_nl_skip_last ( "CREATE TABLE tbl_name" , "( fld_int_pkey int NOT NULL PRIMARY KEY" diff --git a/140_dbs/src/gplx/dbs/Db_sys_regy_mgr_tst.java b/140_dbs/src/gplx/dbs/Db_sys_regy_mgr_tst.java index e28916fce..4de9b10cf 100644 --- a/140_dbs/src/gplx/dbs/Db_sys_regy_mgr_tst.java +++ b/140_dbs/src/gplx/dbs/Db_sys_regy_mgr_tst.java @@ -30,9 +30,9 @@ public class Db_sys_regy_mgr_tst { } @Test public void Delete() { fxt .Exec_set("grp", "key_0", "val_0") - .Exec_set("grp", "key_1", "val_0") + .Exec_set("grp", "key_1", "val_1") .Exec_del("grp", "key_1") - .Test_get("grp", "key_0", null) + .Test_get("grp", "key_0", "val_0") .Test_get("grp", "key_1", null) ; } diff --git a/140_dbs/src/gplx/dbs/Db_sys_regy_tbl.java b/140_dbs/src/gplx/dbs/Db_sys_regy_tbl.java index 7d71774b9..09e6cea8a 100644 --- a/140_dbs/src/gplx/dbs/Db_sys_regy_tbl.java +++ b/140_dbs/src/gplx/dbs/Db_sys_regy_tbl.java @@ -28,22 +28,22 @@ class Db_sys_regy_tbl implements Db_conn_itm { } // private Db_meta_tbl meta; public void Insert(String grp, String key, String val) { - Db_stmt stmt = conn.New_stmt_insert(tbl_name, Flds.Xto_str_ary()); + Db_stmt stmt = conn.New_stmt_insert(tbl_name, Flds.To_str_ary()); stmt.Clear().Val_str(grp).Val_str(key).Val_str(val).Exec_insert(); } public void Update(String grp, String key, String val) { Db_stmt stmt = conn.New_stmt_update(tbl_name, String_.Ary(Fld_regy_grp, Fld_regy_key), Fld_regy_val); - stmt.Clear().Val_str(val).Val_str(grp).Val_str(key).Exec_update(); + stmt.Clear().Val_str(val).Crt_str(Fld_regy_grp, grp).Crt_str(Fld_regy_key, key).Exec_update(); } public void Delete(String grp, String key) { Db_stmt stmt = conn.New_stmt_delete(tbl_name, Fld_regy_grp, Fld_regy_key); - stmt.Clear().Val_str(grp).Val_str(key).Exec_delete(); + stmt.Clear().Crt_str(Fld_regy_grp, grp).Crt_str(Fld_regy_key, key).Exec_delete(); } public String Select_val_or(String grp, String key, String or) { - Db_stmt stmt = conn.New_stmt_select_all_where(tbl_name, Flds.Xto_str_ary(), Fld_regy_grp, Fld_regy_key); + Db_stmt stmt = conn.New_stmt_select_all_where(tbl_name, Flds.To_str_ary(), Fld_regy_grp, Fld_regy_key); Db_rdr rdr = Db_rdr_.Null; try { - rdr = stmt.Clear().Val_str(grp).Val_str(key).Exec_select_as_rdr(); + rdr = stmt.Clear().Crt_str(Fld_regy_grp, grp).Crt_str(Fld_regy_key, key).Exec_select_as_rdr(); return rdr.Move_next() ? rdr.Read_str(Fld_regy_val) : or; } finally {rdr.Rls();} } @@ -54,8 +54,8 @@ class Db_sys_regy_tbl implements Db_conn_itm { , Fld_regy_val = Flds.Add_str("regy_val", 4096) ; public static Db_meta_tbl new_meta(String tbl) { - return Db_meta_tbl.new_(tbl, Flds.Xto_fld_ary() - , Db_meta_idx.new_unique(tbl, "key", Flds.Xto_str_ary()) + return Db_meta_tbl.new_(tbl, Flds.To_fld_ary() + , Db_meta_idx.new_unique(tbl, "key", Flds.To_str_ary()) ); } } diff --git a/140_dbs/src/gplx/dbs/Db_url_.java b/140_dbs/src/gplx/dbs/Db_url_.java index 1fb412883..242051b43 100644 --- a/140_dbs/src/gplx/dbs/Db_url_.java +++ b/140_dbs/src/gplx/dbs/Db_url_.java @@ -16,11 +16,11 @@ 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.mems.*; +import gplx.dbs.engines.mems.*; import gplx.dbs.engines.sqlite.*; public class Db_url_ { public static final Db_url Null = Db_url__null._; public static final Db_url Test = Db_url__mysql.new_("127.0.0.1", "unit_tests", "root", "mysql7760"); - public static Db_url parse_(String raw) {return Db_url_pool._.Parse(raw);} + public static Db_url parse_(String raw) {return Db_url_pool._.Parse(raw);} public static Db_url sqlite_(Io_url url) {return Db_url__sqlite.load_(url);} public static Db_url tdb_(Io_url url) {return Db_url__tdb.new_(url);} public static Db_url mem_(String db) {return Db_url__mem.new_(db);} diff --git a/140_dbs/src/gplx/dbs/Db_url__base.java b/140_dbs/src/gplx/dbs/Db_url__base.java index 9763324b1..e6c196730 100644 --- a/140_dbs/src/gplx/dbs/Db_url__base.java +++ b/140_dbs/src/gplx/dbs/Db_url__base.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.dbs; import gplx.*; +import gplx.core.strings.*; public abstract class Db_url__base implements Db_url { public abstract String Tid(); public String Xto_raw() {return raw;} private String raw = ""; diff --git a/140_dbs/src/gplx/dbs/Sql_join_itm.java b/140_dbs/src/gplx/dbs/Sql_join_itm.java index 13f1403b3..df727fd3a 100644 --- a/140_dbs/src/gplx/dbs/Sql_join_itm.java +++ b/140_dbs/src/gplx/dbs/Sql_join_itm.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.dbs; import gplx.*; +import gplx.core.strings.*; public class Sql_join_itm { public String SrcTbl() {return srcTbl;} public Sql_join_itm SrcTbl_(String v) {srcTbl = v; return this;} private String srcTbl; public String SrcFld() {return srcFld;} public Sql_join_itm SrcFld_(String v) {srcFld = v; return this;} private String srcFld; @@ -35,7 +36,6 @@ public class Sql_join_itm { class Sql_from { public ListAdp Tbls() {return tbls;} ListAdp tbls = ListAdp_.new_(); public Sql_tbl_src BaseTable() {return (Sql_tbl_src)tbls.FetchAt(0);} - public static Sql_from new_(Sql_tbl_src baseTable) { Sql_from rv = new Sql_from(); rv.tbls.Add(baseTable); @@ -57,11 +57,11 @@ class Sql_join_itmType { public String Name() {return name;} private String name; Sql_join_itmType(int v, String name) {this.val = v; this.name = name;} public static final Sql_join_itmType - From = new Sql_join_itmType(0, "FROM") - , Inner = new Sql_join_itmType(1, "INNER JOIN") - , Left = new Sql_join_itmType(2, "LEFT JOIN") - , Right = new Sql_join_itmType(3, "RIGHT JOIN") - , Outer = new Sql_join_itmType(4, "OUTER JOIN") - , Cross = new Sql_join_itmType(5, "CROSS JOIN") - ; + From = new Sql_join_itmType(0, "FROM") + , Inner = new Sql_join_itmType(1, "INNER JOIN") + , Left = new Sql_join_itmType(2, "LEFT JOIN") + , Right = new Sql_join_itmType(3, "RIGHT JOIN") + , Outer = new Sql_join_itmType(4, "OUTER JOIN") + , Cross = new Sql_join_itmType(5, "CROSS JOIN") + ; } diff --git a/140_dbs/src/gplx/dbs/Sql_qry_wtr.java b/140_dbs/src/gplx/dbs/Sql_qry_wtr.java index d8a5a72be..02aa24b3e 100644 --- a/140_dbs/src/gplx/dbs/Sql_qry_wtr.java +++ b/140_dbs/src/gplx/dbs/Sql_qry_wtr.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.criterias.*; +import gplx.core.criterias.*; public interface Sql_qry_wtr { String Xto_str(Db_qry qry, boolean prepare); } diff --git a/140_dbs/src/gplx/dbs/Sql_qry_wtr_ansi.java b/140_dbs/src/gplx/dbs/Sql_qry_wtr_ansi.java index 5fd9a82b3..df89128ec 100644 --- a/140_dbs/src/gplx/dbs/Sql_qry_wtr_ansi.java +++ b/140_dbs/src/gplx/dbs/Sql_qry_wtr_ansi.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.criterias.*; +import gplx.core.strings.*; import gplx.core.criterias.*; class Sql_qry_wtr_ansi implements Sql_qry_wtr { private final String_bldr sb = String_bldr_.new_(); private boolean prepare = false; @@ -34,7 +34,7 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { } private String Bld_qry_delete(Db_qry_delete cmd) { sb.Add_many("DELETE FROM ", cmd.Base_table()); - Bld_where2(sb, cmd.Where()); + Bld_where(sb, cmd.Where()); return sb.Xto_str_and_clear(); } private String Bld_qry_insert(Db_qry_insert cmd) { @@ -53,14 +53,14 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { sb.Add_many("INSERT INTO ", cmd.Base_table(), " ("); for (int i = 0; i < arg_count; i++) { KeyVal pair = cmd.Args().FetchAt(i); - this.XtoSqlCol(sb, pair.Key_as_obj()); + this.Xto_sql_col(sb, pair.Key_as_obj()); sb.Add(i == last ? ")" : ", "); } sb.Add(" VALUES ("); for (int i = 0; i < arg_count; i++) { KeyVal pair = cmd.Args().FetchAt(i); - Db_arg prm = (Db_arg)pair.Val(); - this.Bld_val(sb, prm); + Db_arg arg = (Db_arg)pair.Val(); + this.Bld_val(sb, arg); sb.Add(i == last ? ")" : ", "); } return sb.Xto_str_and_clear(); @@ -71,7 +71,7 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { for (int i = 0; i < arg_count; i++) { KeyVal pair = cmd.Args().FetchAt(i); if (i > 0) sb.Add(", "); - this.XtoSqlCol(sb, pair.Key_as_obj()); + this.Xto_sql_col(sb, pair.Key_as_obj()); sb.Add("="); this.Bld_val(sb, (Db_arg)pair.Val()); } @@ -86,7 +86,7 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { for (int i = 0; i < flds.Count(); i++) { Sql_select_fld_base fld = (Sql_select_fld_base)flds.FetchAt(i); if (i > 0) sb.Add(", "); - this.XtoSqlCol(sb, fld.XtoSql()); + this.Xto_sql_col(sb, fld.XtoSql()); } Bld_clause_from(sb, cmd.From()); Bld_where(sb, cmd.Where()); @@ -127,13 +127,11 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { for (int i = 0; i < tbl.JoinLinks().Count(); i++) { Sql_join_itm joinLink = (Sql_join_itm)tbl.JoinLinks().FetchAt(i); String conjunction = i == 0 ? " ON " : " AND "; - sb.Add_many - ( conjunction, joinLink.SrcTbl(), ".", joinLink.SrcFld(), "=", tblAliasForJoin, ".", joinLink.TrgFldOrSrcFld() - ); + sb.Add_many(conjunction, joinLink.SrcTbl(), ".", joinLink.SrcFld(), "=", tblAliasForJoin, ".", joinLink.TrgFldOrSrcFld()); } } } - private void XtoSqlCol(String_bldr sb, Object obj) { + private void Xto_sql_col(String_bldr sb, Object obj) { if (obj == null) throw Err_.null_("ColName"); sb.Add_obj(obj); // FIXME: options for bracketing; ex: [name] } @@ -167,43 +165,50 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { Bld_val_str(sb, arg, valString); } } - @gplx.Virtual public void Bld_val_str(String_bldr sb, Db_arg prm, String s) { + @gplx.Virtual public void Bld_val_str(String_bldr sb, Db_arg arg, String s) { sb.Add_many("'", String_.Replace(s, "'", "''"), "'"); // stupid escaping of ' } - @gplx.Virtual public void Bld_val_date(String_bldr sb, Db_arg prm, DateAdp s) { + @gplx.Virtual public void Bld_val_date(String_bldr sb, Db_arg arg, DateAdp s) { sb.Add_many("'", s.XtoStr_gplx_long(), "'"); } - private void Bld_where(String_bldr sb, Sql_where where) { - if (where == null || where.Crt() == Db_crt_.Wildcard) return; - sb.Add(" WHERE "); - this.Bld_where(sb, where.Crt()); - } - private void Bld_where2(String_bldr sb, Criteria crt) { - if (crt == null || crt == Db_crt_.Wildcard) return; - sb.Add(" WHERE "); - this.Bld_where(sb, crt); - } public void Bld_where(String_bldr sb, Criteria crt) { + if (crt == null) return; + if (crt.Tid() == Criteria_.Tid_wrapper) { + Criteria_fld crt_fld = (Criteria_fld)crt; + Criteria crt_inner = crt_fld.Crt(); + switch (crt_inner.Tid()) { + case Criteria_.Tid_const: + case Criteria_.Tid_not: + case Criteria_.Tid_and: + case Criteria_.Tid_or: crt = crt_inner; break; + default: break; + } + } + if (crt.Tid() == Criteria_.Tid_const) return; + sb.Add(" WHERE "); + this.Bld_where_val(sb, crt); + } + public void Bld_where_val(String_bldr sb, Criteria crt) { Criteria_bool_base crt_bool = Criteria_bool_base.as_(crt); if (crt_bool != null) { sb.Add("("); - Bld_where(sb, crt_bool.Lhs()); - sb.Add_many(" ", crt_bool.OpLiteral(), " "); - Bld_where(sb, crt_bool.Rhs()); + Bld_where_val(sb, crt_bool.Lhs()); + sb.Add_many(" ", crt_bool.Op_literal(), " "); + Bld_where_val(sb, crt_bool.Rhs()); sb.Add(")"); return; } - if (crt.Crt_tid() == Criteria_.Tid_db_obj_ary) { + if (crt.Tid() == Criteria_.Tid_db_obj_ary) { Append_db_obj_ary(sb, (Db_obj_ary_crt)crt); } else { - Criteria_wrapper leaf = Criteria_wrapper.as_(crt); if (leaf == null) throw Err_.invalid_op_(crt.XtoStr()); - sb.Add(leaf.Name_of_GfoFldCrt()); - Bld_where_crt(sb, leaf.Crt_of_GfoFldCrt()); + Criteria_fld leaf = Criteria_fld.as_(crt); if (leaf == null) throw Err_.invalid_op_(crt.XtoStr()); + sb.Add(leaf.Key()); + Bld_where_crt(sb, leaf.Crt()); } } private void Bld_where_crt(String_bldr sb, Criteria crt) { - switch (crt.Crt_tid()) { + switch (crt.Tid()) { case Criteria_.Tid_eq: Bld_where_eq(sb, Criteria_eq.as_(crt)); break; case Criteria_.Tid_comp: Bld_where_comp(sb, Criteria_comp.as_(crt)); break; case Criteria_.Tid_between: Bld_where_between(sb, Criteria_between.as_(crt)); break; @@ -215,11 +220,11 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { } private void Bld_where_eq(String_bldr sb, Criteria_eq crt) { sb.Add(crt.Negated() ? "!=" : "="); - this.Bld_val(sb, Wrap(crt.Value())); + this.Bld_val(sb, Wrap(crt.Val())); } private void Bld_where_comp(String_bldr sb, Criteria_comp crt) { sb.Add_many(crt.XtoSymbol()); - this.Bld_val(sb, Wrap(crt.Value())); + this.Bld_val(sb, Wrap(crt.Val())); } private void Bld_where_between(String_bldr sb, Criteria_between crt) { sb.Add(crt.Negated() ? " NOT BETWEEN " : " BETWEEN "); @@ -234,7 +239,7 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { } private void Bld_where_in(String_bldr sb, Criteria_in crt) { sb.Add(crt.Negated() ? " NOT IN (" : " IN ("); - Object[] crt_vals = crt.Values(); + Object[] crt_vals = crt.Val_as_obj_ary(); int len = crt_vals.length; int last = len - 1; for (int i = 0; i < len; i++) { @@ -279,8 +284,8 @@ class Sql_qry_wtr_ansi implements Sql_qry_wtr { } private Db_arg Wrap(Object val) {return new Db_arg("unknown", val);} } -class Sql_qry_wtr_ansi_escape_backslash extends Sql_qry_wtr_ansi { @Override public void Bld_val_str(String_bldr sb, Db_arg prm, String s) { +class Sql_qry_wtr_ansi_escape_backslash extends Sql_qry_wtr_ansi { @Override public void Bld_val_str(String_bldr sb, Db_arg arg, String s) { if (String_.Has(s, "\\")) s = String_.Replace(s, "\\", "\\\\"); - super.Bld_val_str(sb, prm, s); + super.Bld_val_str(sb, arg, s); } } diff --git a/140_dbs/src/gplx/dbs/Sql_qry_wtr_tst.java b/140_dbs/src/gplx/dbs/Sql_qry_wtr_tst.java index c31deb4f4..023fc3bb2 100644 --- a/140_dbs/src/gplx/dbs/Sql_qry_wtr_tst.java +++ b/140_dbs/src/gplx/dbs/Sql_qry_wtr_tst.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.dbs; import gplx.*; -import org.junit.*; -import gplx.criterias.*; +import org.junit.*; import gplx.core.strings.*; +import gplx.core.criterias.*; public class Sql_qry_wtr_tst { private final Sql_qry_wtr_fxt fxt = new Sql_qry_wtr_fxt(); @Test public void Val() { @@ -55,7 +55,7 @@ class Sql_qry_wtr_fxt { } public void Test_where(Criteria crt, String expd) { String_bldr sb = String_bldr_.new_(); - sql_wtr.Bld_where(sb, crt); + sql_wtr.Bld_where_val(sb, crt); Tfds.Eq(expd, sb.XtoStr()); } } diff --git a/140_dbs/src/gplx/dbs/Sql_select.java b/140_dbs/src/gplx/dbs/Sql_select.java index 01a32c809..ac26cc858 100644 --- a/140_dbs/src/gplx/dbs/Sql_select.java +++ b/140_dbs/src/gplx/dbs/Sql_select.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.dbs; import gplx.*; +import gplx.core.strings.*; class Sql_select { public Sql_select_fld_list Flds() {return flds;} Sql_select_fld_list flds = Sql_select_fld_list.new_(); public boolean Distinct() {return distinct;} public void Distinct_set(boolean v) {distinct = v;} private boolean distinct; @@ -130,6 +131,15 @@ class Sql_select_fld_list { } return rv; } + public String[] To_str_ary() { + int len = this.Count(); + String[] rv = new String[len]; + for (int i = 0; i < len; i++) { + Sql_select_fld_base fld = this.FetchAt(i); + rv[i] = fld.Fld(); + } + return rv; + } public String XtoStr() { String_bldr sb = String_bldr_.new_(); for (int i = 0; i < this.Count(); i++) { diff --git a/140_dbs/src/gplx/dbs/Sql_where.java b/140_dbs/src/gplx/dbs/Sql_where.java deleted file mode 100644 index bb58f459b..000000000 --- a/140_dbs/src/gplx/dbs/Sql_where.java +++ /dev/null @@ -1,32 +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.dbs; import gplx.*; -import gplx.criterias.*; -class Sql_where { - public Criteria Crt() {return crt;} Criteria crt; - public static Sql_where merge_or_new_(Sql_where where, Criteria crt) { - return where == null - ? Sql_where.new_(crt) - : Sql_where.new_(Criteria_.And(where.Crt(), crt)); - } - public static Sql_where new_(Criteria crt) { - Sql_where rv = new Sql_where(); - rv.crt = crt; - return rv; - } Sql_where() {} -} 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 b760c18cf..5b68f4e2d 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 @@ -17,15 +17,17 @@ along with this program. If not, see . */ package gplx.dbs.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*; public class Db_stmt__mem implements Db_stmt { - private int val_idx; + private final ListAdp val_list = ListAdp_.new_(); private int val_idx; public Db_stmt__mem(Db_engine__mem engine, Db_qry qry) {this.engine = engine; this.qry = qry;} private Db_engine__mem engine; - public int Args_len() {return args.Count();} - public Object Args_get_at(int i) {return args.FetchAt(i);} + public HashAdp Crts() {return crt_hash;} private final HashAdp crt_hash = HashAdp_.new_(); + public int Args_len() {return val_list.Count();} + public Object Args_get_at(int i) {return val_list.FetchAt(i);} public Db_qry Qry() {return qry;} private Db_qry qry; public Db_stmt Reset_stmt() {return this;} public Db_stmt Clear() { val_idx = 0; - args.Clear(); + val_list.Clear(); + crt_hash.Clear(); return this; } public void Rls() { @@ -39,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, null, v);} private Db_stmt Add_byte(boolean where, String k, byte v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "byte", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "byte", 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, null, v);} private Db_stmt Add_int(boolean where, String k, int v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "int", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "int", 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, null, v);} private Db_stmt Add_long(boolean where, String k, long v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "long", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "long", 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, null, v);} private Db_stmt Add_float(boolean where, String k, float v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "float", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "float", 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, null, v);} private Db_stmt Add_double(boolean where, String k, double v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "double", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "double", 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, null, v);} private Db_stmt Add_decimal(boolean where, String k, DecimalAdp v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "decimal", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "decimal", 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, null, v);} private Db_stmt Add_bry(boolean where, String k, byte[] v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "byte[]", v.length);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "byte[]", v.length);} return this; } public Db_stmt Crt_bry_as_str(String k, byte[] v) {return Add_bry_as_str(Bool_.Y, k, v);} @@ -92,14 +94,14 @@ 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, null, v);} private Db_stmt Add_str(boolean where, String k, String v) { - try {Add(++val_idx, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "String", v);} + try {Add(++val_idx, k, where, v);} catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "String", v);} return this; } public Db_stmt Val_rdr_(gplx.ios.Io_stream_rdr v, long rdr_len) { try { Bry_bfr bfr = Bry_bfr.new_(); gplx.ios.Io_stream_rdr_.Load_all_to_bfr(bfr, v); - Add(++val_idx, bfr.Xto_str_and_clear()); + Add(++val_idx, "", Bool_.N, bfr.Xto_str_and_clear()); } catch (Exception e) {throw Err_.err_(e, "failed to add value: type={0} val={1}", "rdr", v);} return this; } @@ -123,5 +125,15 @@ public class Db_stmt__mem implements Db_stmt { public Object Exec_select_val() { try {Object rv = Db_qry_select.Rdr_to_val(this.Exec_select()); return rv;} catch (Exception e) {throw Err_.err_(e, "failed to exec select_val: tbl={0}", qry.Base_table());} } - private void Add(int idx, Object v) {args.Add(v);} private ListAdp args = ListAdp_.new_(); + private void Add(int idx, String k, boolean where, Object v) { + val_list.Add(v); + if (where) { + ListAdp list = (ListAdp)crt_hash.Fetch(k); + if (list == null) { + list = ListAdp_.new_(); + crt_hash.Add(k, list); + } + list.Add(v); + } + } } diff --git a/140_dbs/src/gplx/dbs/engines/mems/Mem_tbl.java b/140_dbs/src/gplx/dbs/engines/mems/Mem_tbl.java index 1cbc68267..558927b80 100644 --- a/140_dbs/src/gplx/dbs/engines/mems/Mem_tbl.java +++ b/140_dbs/src/gplx/dbs/engines/mems/Mem_tbl.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.engines.mems; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*; -import gplx.criterias.*; +import gplx.core.criterias.*; public class Mem_tbl { private final ListAdp rows = ListAdp_.new_(); private final ListAdp where_rows = ListAdp_.new_(); public int Insert(Db_stmt__mem stmt) { @@ -30,9 +30,10 @@ public class Mem_tbl { } public int Update(Db_stmt__mem stmt) { Db_qry_update qry = (Db_qry_update)stmt.Qry(); - Select_rows_where(where_rows, stmt, qry.Cols_where()); + qry.Where().Val_from_args(stmt.Crts()); + Select_rows_where(where_rows, stmt, qry.Where()); int where_rows_len = where_rows.Count(); - String[] update_cols = qry.Cols_update(); int update_cols_len = update_cols.length; + String[] update_cols = qry.Cols_for_update(); int update_cols_len = update_cols.length; for (int i = 0; i < where_rows_len; ++i) { Mem_itm itm = (Mem_itm)where_rows.FetchAt(i); for (int j = 0; j < update_cols_len; ++j) @@ -42,7 +43,8 @@ public class Mem_tbl { } public int Delete(Db_stmt__mem stmt) { Db_qry_delete qry = (Db_qry_delete)stmt.Qry(); - Select_rows_where(where_rows, stmt, qry.Where_cols()); + qry.Where().Val_from_args(stmt.Crts()); + Select_rows_where(where_rows, stmt, qry.Where()); int where_rows_len = where_rows.Count(); for (int i = 0; i < where_rows_len; ++i) { Mem_itm itm = (Mem_itm)where_rows.FetchAt(i); @@ -51,41 +53,28 @@ public class Mem_tbl { return where_rows_len; } public Db_rdr Select(Db_stmt__mem stmt) { - Db_qry__select_in_tbl qry = (Db_qry__select_in_tbl)stmt.Qry(); - Select_rows_where(where_rows, stmt, qry.Where_flds()); - return new Db_rdr__mem(qry.Select_flds(), (Mem_itm[])where_rows.Xto_ary_and_clear(Mem_itm.class)); + String[] select = null; Criteria where = null; + Db_qry__select_in_tbl qry = Db_qry__select_in_tbl.as_(stmt.Qry()); + if (qry == null) { + Db_qry_select qry2 = (Db_qry_select)stmt.Qry(); + select = qry2.Cols_ary(); + where = qry2.Where(); + } + else { + select = qry.Select_flds(); + where = qry.Where(); + } + where.Val_from_args(stmt.Crts()); + Select_rows_where(where_rows, stmt, where); + return new Db_rdr__mem(select, (Mem_itm[])where_rows.Xto_ary_and_clear(Mem_itm.class)); } - private void Select_rows_where(ListAdp rv, Db_stmt__mem stmt, String[] where_cols) { - int where_len = where_cols.length; - KeyVal[] where_kvs = Bld_where_kvs(stmt, where_cols, where_len); - Bld_where_rows(where_rows, where_kvs, where_len); - } - private KeyVal[] Bld_where_kvs(Db_stmt__mem stmt, String[] keys, int keys_len) { - KeyVal[] rv = new KeyVal[keys_len]; - for (int i = 0; i < keys_len; ++i) - rv[i] = KeyVal_.new_(keys[i], stmt.Args_get_at(i)); - return rv; - } - private void Bld_where_rows(ListAdp rv, KeyVal[] where_kvs, int where_len) { + private void Select_rows_where(ListAdp rv, Db_stmt__mem stmt, Criteria crt) { rv.Clear(); int rows_len = rows.Count(); for (int i = 0; i < rows_len; ++i) { Mem_itm itm = (Mem_itm)rows.FetchAt(i); - for (int j = 0; j < where_len; ++j) { - KeyVal kv = where_kvs[j]; - Object itm_val = itm.Get_by(kv.Key()); - if (!Object_.Eq(itm_val, kv.Val())) break; - } - rv.Add(itm); + if (crt.Matches(itm)) + rv.Add(itm); } } -// private void Select_rows_where(ListAdp rv, Db_stmt__mem stmt, Criteria crt) { -// rv.Clear(); -// int rows_len = rows.Count(); -// for (int i = 0; i < rows_len; ++i) { -// Mem_itm itm = (Mem_itm)rows.FetchAt(i); -// if (crt.Matches(itm)) -// rv.Add(itm); -// } -// } } diff --git a/140_dbs/src/gplx/dbs/Db_url__sqlite.java b/140_dbs/src/gplx/dbs/engines/sqlite/Db_url__sqlite.java similarity index 93% rename from 140_dbs/src/gplx/dbs/Db_url__sqlite.java rename to 140_dbs/src/gplx/dbs/engines/sqlite/Db_url__sqlite.java index f4dbdbb25..ca51af798 100644 --- a/140_dbs/src/gplx/dbs/Db_url__sqlite.java +++ b/140_dbs/src/gplx/dbs/engines/sqlite/Db_url__sqlite.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.dbs; import gplx.*; +package gplx.dbs.engines.sqlite; import gplx.*; import gplx.dbs.*; import gplx.dbs.engines.*; public class Db_url__sqlite extends Db_url__base { @Override public String Tid() {return Tid_const;} public static final String Tid_const = "sqlite"; public Io_url Url() {return url;} private Io_url url; diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_.java index bbc2aa60e..073b1614a 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_.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.criterias.*; +import gplx.core.criterias.*; public class Db_qry_ { public static Db_qry_select select_cols_(String tbl, Criteria crt, String... cols){return select_().From_(tbl).Where_(crt).Cols_(cols);} public static Db_qry_select select_val_(String tbl, String col, Criteria crt) {return select_().From_(tbl).Where_(crt).Cols_(col);} diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry__select_in_tbl.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry__select_in_tbl.java index 9634ec8d2..0a0011db2 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry__select_in_tbl.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry__select_in_tbl.java @@ -16,16 +16,17 @@ 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.core.strings.*; import gplx.core.criterias.*; public class Db_qry__select_in_tbl implements Db_qry { - public Db_qry__select_in_tbl(String tbl_name, String[] select_flds, String[] where_flds, String group_by_sql, String having_sql, String order_by_sql, String limit_sql) { - this.tbl_name = tbl_name; this.select_flds = select_flds; this.where_flds = where_flds; this.group_by_sql = group_by_sql; this.having_sql = having_sql; this.order_by_sql = order_by_sql; this.limit_sql = limit_sql; + public Db_qry__select_in_tbl(String base_table, String[] select_flds, String[] where_flds, String group_by_sql, String having_sql, String order_by_sql, String limit_sql) { + this.base_table = base_table; this.select_flds = select_flds; this.where_flds = where_flds; this.group_by_sql = group_by_sql; this.having_sql = having_sql; this.order_by_sql = order_by_sql; this.limit_sql = limit_sql; } public int Tid() {return Db_qry_.Tid_select_in_tbl;} public boolean Exec_is_rdr() {return true;} - public String Base_table() {return tbl_name;} private final String tbl_name; - public String From() {return tbl_name;} - public String[] Select_flds() {return select_flds;} private final String[] select_flds; - public String[] Where_flds() {return where_flds;} private final String[] where_flds; + public String Base_table() {return base_table;} private final String base_table; + public Criteria Where() {return where;} private Criteria where; + public String[] Select_flds() {return select_flds;} private final String[] select_flds; + private final String[] where_flds; public void Where_sql(String_bldr sb) { if (where_flds == null) return; int where_flds_len = where_flds.length; @@ -48,17 +49,19 @@ public class Db_qry__select_in_tbl implements Db_qry { if (i != 0) sb.Add(","); sb.Add(select_flds[i]); } - sb.Add(" FROM ").Add(tbl_name); - if (where_flds != null) {sb.Add(" WHERE "); Where_sql(sb);} + sb.Add(" FROM ").Add(base_table); + if (where_flds != null && where_flds.length != 0) {sb.Add(" WHERE "); Where_sql(sb);} if (group_by_sql != null) sb.Add(group_by_sql); if (having_sql != null) sb.Add(having_sql); if (order_by_sql != null) {sb.Add(" ORDER BY "); sb.Add(order_by_sql);} if (limit_sql != null) sb.Add(limit_sql); return sb.XtoStr(); } - public static Db_qry__select_in_tbl new_(String tbl_name, String[] where_flds, String[] select_flds) { - Db_qry__select_in_tbl rv = new Db_qry__select_in_tbl(tbl_name, select_flds, where_flds, null, null, null, null); + public static Db_qry__select_in_tbl new_(String base_table, String[] where_flds, String[] select_flds) { + Db_qry__select_in_tbl rv = new Db_qry__select_in_tbl(base_table, select_flds, where_flds, null, null, null, null); + rv.where = Db_crt_.eq_many_(where_flds); return rv; } - public static final String[] Where_flds__all = null; + public static Db_qry__select_in_tbl as_(Object obj) {return obj instanceof Db_qry__select_in_tbl ? (Db_qry__select_in_tbl)obj : null;} + public static final String[] Where_flds__all = String_.Ary_empty; } diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_delete.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_delete.java index c30f95285..e211aebde 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_delete.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_delete.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.criterias.*; import gplx.dbs.sqls.*; +import gplx.core.criterias.*; import gplx.dbs.sqls.*; public class Db_qry_delete implements Db_qry { Db_qry_delete(String base_table, Criteria where) {this.base_table = base_table; this.where = where;} public int Tid() {return Db_qry_.Tid_delete;} @@ -25,17 +25,7 @@ public class Db_qry_delete implements Db_qry { public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);} public Criteria Where() {return where;} private final Criteria where; public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);} - - public String[] Where_cols() {return where_cols;} private String[] where_cols; - public static Db_qry_delete new_all_(String tbl) { - Db_qry_delete rv = new_(tbl, Criteria_.All); - rv.where_cols = String_.Ary_empty; - return rv; - } - public static Db_qry_delete new_(String tbl, String... where) { - Db_qry_delete rv = Db_qry_delete.new_(tbl, Db_crt_.eq_many_(where)); - rv.where_cols = where; - return rv; - } - public static Db_qry_delete new_(String tbl, Criteria where) {return new Db_qry_delete(tbl, where);} + public static Db_qry_delete new_all_(String tbl) {return new Db_qry_delete(tbl, Criteria_.All);} + public static Db_qry_delete new_(String tbl, String... where) {return new Db_qry_delete(tbl, Db_crt_.eq_many_(where));} + public static Db_qry_delete new_(String tbl, Criteria where) {return new Db_qry_delete(tbl, where);} } diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_dml_tst.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_dml_tst.java index 219305eed..2a05d8bdd 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_dml_tst.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_dml_tst.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.dbs; import gplx.*; import org.junit.*; -import gplx.criterias.*; +import gplx.core.criterias.*; public class Db_qry_dml_tst { @Test public void Delete_basic() { tst_XtoSql(Db_qry_delete.new_("tbl0", Db_crt_.eq_("fld0", "val0")) diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_insert.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_insert.java index 7a1a83884..2bc9ce5c7 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_insert.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_insert.java @@ -21,10 +21,12 @@ public class Db_qry_insert implements Db_qry_arg_owner { public Db_qry_insert(String base_table) {this.base_table = base_table;} public int Tid() {return Db_qry_.Tid_insert;} public boolean Exec_is_rdr() {return false;} - public String Base_table() {return base_table;} private String base_table; public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);} public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);} + public String Base_table() {return base_table;} private String base_table; + public String[] Cols_for_insert() {return cols_for_insert;} private String[] cols_for_insert; public Db_qry_arg_owner From_(String tbl) {base_table = tbl; return this;} + public KeyValHash Args() {return args;} private final KeyValHash args = KeyValHash.new_(); public Db_qry_arg_owner Arg_(String k, DecimalAdp v) {return Arg_obj_type_(k, v.Xto_decimal(), Db_val_type.Tid_decimal);} public Db_qry_arg_owner Arg_(String k, DateAdp v) {return Arg_obj_type_(k, v, Db_val_type.Tid_date);} public Db_qry_arg_owner Arg_byte_(String k, byte v) {return Arg_obj_type_(k, v, Db_val_type.Tid_byte);} @@ -49,10 +51,8 @@ public class Db_qry_insert implements Db_qry_arg_owner { cols.Add(Sql_select_fld_fld.new_(Sql_select_fld_base.Tbl_null, fld, fld)); return this; } - public KeyValHash Args() {return args;} private final KeyValHash args = KeyValHash.new_(); @gplx.Internal protected Sql_select_fld_list Cols() {return cols;} private Sql_select_fld_list cols; - public String[] Cols_for_insert() {return cols_for_insert;} private String[] cols_for_insert; public static Db_qry_insert new_() {return new Db_qry_insert();} Db_qry_insert() {} public static Db_qry_insert new_(String tbl, String... keys) { Db_qry_insert rv = Db_qry_insert.new_(); diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_select.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_select.java index 0e1280c60..1fea2af39 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_select.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_select.java @@ -16,13 +16,13 @@ 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.criterias.*; import gplx.dbs.sqls.*; +import gplx.core.criterias.*; import gplx.dbs.sqls.*; public class Db_qry_select implements Db_qry { public int Tid() {return Db_qry_.Tid_select;} public boolean Exec_is_rdr() {return true;} public String Base_table() {return from.BaseTable().TblName();} public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);} - public DataRdr Exec_qry_as_rdr(Db_conn conn) {return conn.Exec_qry_as_rdr(this);} + public DataRdr Exec_qry_as_rdr(Db_conn conn) {return conn.Exec_qry_as_rdr(this);} public GfoNde ExecRdr_nde(Db_conn conn) { DataRdr rdr = DataRdr_.Null; try {return GfoNde_.rdr_(Exec_qry_as_rdr(conn));} finally {rdr.Rls();} @@ -65,6 +65,7 @@ public class Db_qry_select implements Db_qry { } @gplx.Internal protected Sql_select Cols() {return cols;} Sql_select cols = Sql_select.All; + public String[] Cols_ary() {return cols.Flds().To_str_ary();} public Db_qry_select Cols_all_() {return this;} public Db_qry_select Cols_alias_(String expr, String alias) { if (cols == Sql_select.All) cols = Sql_select.new_(); @@ -100,7 +101,7 @@ public class Db_qry_select implements Db_qry { return this; } - @gplx.Internal protected Sql_where Where() {return where;} public Db_qry_select Where_(Criteria crt) {where = Sql_where.new_(crt); return this;} Sql_where where; + public Criteria Where() {return where;} public Db_qry_select Where_(Criteria crt) {where = crt; return this;} Criteria where; @gplx.Internal protected Sql_order_by OrderBy() {return orderBy;} Sql_order_by orderBy = null; public Db_qry_select OrderBy_(String fieldName, boolean ascending) { Sql_order_by_itm item = Sql_order_by_itm.new_(fieldName, ascending); diff --git a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_update.java b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_update.java index 901c3c2f3..9f7594779 100644 --- a/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_update.java +++ b/140_dbs/src_110_dbQry/gplx/dbs/Db_qry_update.java @@ -16,14 +16,17 @@ 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.criterias.*; import gplx.dbs.sqls.*; +import gplx.core.criterias.*; import gplx.dbs.sqls.*; public class Db_qry_update implements Db_qry_arg_owner { public int Tid() {return Db_qry_.Tid_update;} public boolean Exec_is_rdr() {return false;} - public String Base_table() {return baseTable;} public String Xto_sql() {return Sql_qry_wtr_.I.Xto_str(this, false);} - public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);} - public Db_qry_arg_owner From_(String tbl) {baseTable = tbl; return this;} + public int Exec_qry(Db_conn conn) {return conn.Exec_qry(this);} + public String Base_table() {return base_table;} private String base_table; + public String[] Cols_for_update() {return cols_for_update;} private String[] cols_for_update; + public Criteria Where() {return where;} public Db_qry_update Where_(Criteria crt) {where = crt; return this;} private Criteria where; + public Db_qry_arg_owner From_(String tbl) {base_table = tbl; return this;} + public KeyValHash Args() {return args;} private final KeyValHash args = KeyValHash.new_(); public Db_qry_arg_owner Arg_(String k, DecimalAdp v) {return Arg_obj_type_(k, v.Xto_decimal(), Db_val_type.Tid_decimal);} public Db_qry_arg_owner Arg_(String k, DateAdp v) {return Arg_obj_type_(k, v, Db_val_type.Tid_date);} public Db_qry_arg_owner Arg_byte_(String k, byte v) {return Arg_obj_type_(k, v, Db_val_type.Tid_byte);} @@ -40,21 +43,15 @@ public class Db_qry_update implements Db_qry_arg_owner { } public Db_qry_arg_owner Key_arg_(String k, int v) {return Key_arg_obj_(k, v);} public Db_qry_arg_owner Key_arg_(String k, String v) {return Key_arg_obj_(k, v);} - Db_qry_arg_owner Key_arg_obj_(String k, Object v) { + private Db_qry_arg_owner Key_arg_obj_(String k, Object v) { Criteria crt = Db_crt_.eq_(k, v); - where = Sql_where.merge_or_new_(where, crt); + where = where == null ? crt : Criteria_.And(where, crt); return this; } - public KeyValHash Args() {return args;} private final KeyValHash args = KeyValHash.new_(); - @gplx.Internal protected String BaseTable() {return baseTable;} private String baseTable; - @gplx.Internal protected Sql_where Where() {return where;} public Db_qry_update Where_(Criteria crt) {where = Sql_where.new_(crt); return this;} private Sql_where where; - public String[] Cols_where() {return cols_where;} private String[] cols_where; - public String[] Cols_update() {return cols_update;} private String[] cols_update; public static Db_qry_update new_() {return new Db_qry_update();} Db_qry_update() {} public static Db_qry_update new_(String tbl, String[] where, String... update) { Db_qry_update rv = Db_qry_.update_(tbl, Db_crt_.eq_many_(where)); - rv.cols_update = update; - rv.cols_where = where; + rv.cols_for_update = update; int len = update.length; for (int i = 0; i < len; i++) rv.Arg_obj_(update[i], null); diff --git a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_crt.java b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_crt.java index 4abff43f3..5c631c4b2 100644 --- a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_crt.java +++ b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_crt.java @@ -16,13 +16,15 @@ 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.criterias.*; -public class Db_obj_ary_crt implements gplx.criterias.Criteria { - public byte Crt_tid() {return Criteria_.Tid_db_obj_ary;} +import gplx.core.criterias.*; +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 boolean Matches(Object obj) {return false;} - public String XtoStr() {return "";} + public Object[][] Vals() {return vals;} public void Vals_(Object[][] v) {this.vals = v;} private Object[][] vals; + public void Val_from_args(HashAdp args) {throw Err_.not_implemented_();} + public void Val_as_obj_(Object v) {throw Err_.not_implemented_();} + 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);} public static Db_obj_ary_crt new_by_type(byte type_tid, String... names) { int len = names.length; diff --git a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java index fe562760d..1c0a47ac6 100644 --- a/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_tst.java +++ b/140_dbs/src_120_sql/gplx/dbs/Db_obj_ary_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.dbs; import gplx.*; -import org.junit.*; import gplx.dbs.sqls.*; +import org.junit.*; import gplx.core.strings.*; import gplx.dbs.sqls.*; public class Db_obj_ary_tst { @Before public void init() {} private Db_obj_ary_fxt fxt = new Db_obj_ary_fxt(); @Test public void Int() { diff --git a/140_dbs/src_130_misc/gplx/dbs/Db_crt_.java b/140_dbs/src_130_misc/gplx/dbs/Db_crt_.java index 5739d2e6b..c75f5c542 100644 --- a/140_dbs/src_130_misc/gplx/dbs/Db_crt_.java +++ b/140_dbs/src_130_misc/gplx/dbs/Db_crt_.java @@ -16,20 +16,33 @@ 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.criterias.*; +import gplx.core.criterias.*; public class Db_crt_ { public static final Criteria Wildcard = Criteria_.All; - public static Criteria eq_(String name, Object val) {return Criteria_wrapper.new_(name, Criteria_.eq_(val));} - public static Criteria eqn_(String name, Object val) {return Criteria_wrapper.new_(name, Criteria_.eqn_(val));} - public static Criteria lt_(String name, Comparable val) {return Criteria_wrapper.new_(name, Criteria_.lt_(val));} - public static Criteria lte_(String name, Comparable val) {return Criteria_wrapper.new_(name, Criteria_.lte_(val));} - public static Criteria mt_(String name, Comparable val) {return Criteria_wrapper.new_(name, Criteria_.mt_(val));} - public static Criteria mte_(String name, Comparable val) {return Criteria_wrapper.new_(name, Criteria_.mte_(val));} - public static Criteria between_(String name, Comparable lhs, Comparable rhs) {return Criteria_wrapper.new_(name, Criteria_.between_(lhs, rhs));} - public static Criteria in_(String name, Object... vals) {return Criteria_wrapper.new_(name, Criteria_.in_(vals));} - public static Criteria like_(String name, String pattern) {return Criteria_wrapper.new_(name, Criteria_.like_(pattern));} - public static Criteria liken_(String name, String pattern) {return Criteria_wrapper.new_(name, Criteria_.liken_(pattern));} - public static Criteria eqMany_(KeyVal... array) { + public static Criteria_fld eq_(String key, Object val) {return Criteria_fld.new_(key, Criteria_.eq_(val));} + public static Criteria_fld eqn_(String key, Object val) {return Criteria_fld.new_(key, Criteria_.eqn_(val));} + public static Criteria_fld lt_(String key, Comparable val) {return Criteria_fld.new_(key, Criteria_.lt_(val));} + public static Criteria_fld lte_(String key, Comparable val) {return Criteria_fld.new_(key, Criteria_.lte_(val));} + public static Criteria_fld mt_(String key, Comparable val) {return Criteria_fld.new_(key, Criteria_.mt_(val));} + public static Criteria_fld mte_(String key, Comparable val) {return Criteria_fld.new_(key, Criteria_.mte_(val));} + public static Criteria_fld between_(String key, Comparable lhs, Comparable rhs) {return Criteria_fld.new_(key, Criteria_.between_(lhs, rhs));} + public static Criteria_fld in_(String key, Object... vals) {return Criteria_fld.new_(key, Criteria_.in_(vals));} + public static Criteria_fld like_(String key, String pattern) {return Criteria_fld.new_(key, Criteria_.like_(pattern));} + public static Criteria_fld liken_(String key, String pattern) {return Criteria_fld.new_(key, Criteria_.liken_(pattern));} + public static Criteria_fld eq_(String key) {return Criteria_fld.new_(key, Criteria_.eq_(null));} + public static Criteria eq_many_(String... ary) { + Criteria rv = null; + int len = ary.length; + for (int i = 0; i < len; i++) { + Criteria crt = Db_crt_.eq_(ary[i], null); + rv = (i == 0)? crt : Criteria_.And(rv, crt); + } +// if (rv == null) return Wildcard; +// return rv.Tid() == Criteria_.Tid_wrapper ? (Criteria_fld)rv : Criteria_fld.new_(Criteria_fld.Key_null, rv); + return rv; + } +// public static Criteria_fld and(Criteria and) {return Criteria_fld.new_(Criteria_fld.Key_null, and);} + public static Criteria eq_many_(KeyVal... array) { Criteria rv = null; for (int i = 0; i < array.length; i++) { KeyVal pair = array[i]; @@ -38,15 +51,5 @@ public class Db_crt_ { } return rv; } - public static Criteria eq_(String name) {return Criteria_wrapper.new_(name, Criteria_.eq_(null));} - public static Criteria eq_many_(String... ary) { - Criteria rv = null; - int len = ary.length; - for (int i = 0; i < len; i++) { - Criteria crt = Db_crt_.eq_(ary[i], null); - rv = (i == 0)? crt : Criteria_.And(rv, crt); - } - return rv; - } - public static Criteria wrap_(String name, Criteria crt) {return Criteria_wrapper.new_(name, crt);} + public static Criteria_fld wrap_(String key, Criteria crt) {return Criteria_fld.new_(key, crt);} } diff --git a/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine.java b/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine.java index 2c8f22d86..19b264a1f 100644 --- a/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine.java +++ b/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine.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.dbs; import gplx.*; -import gplx.stores.*; import java.sql.*; +import gplx.stores.*; import gplx.dbs.engines.sqlite.*; class Sqlite_engine extends Db_engine_sql_base { @Override public String Tid() {return Db_url__sqlite.Tid_const;} @Override public Db_engine New_clone(Db_url connectInfo) { diff --git a/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine_.java b/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine_.java index 7fab6a30d..4c117740f 100644 --- a/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine_.java +++ b/140_dbs/src_300_sqlDbs/gplx/dbs/Sqlite_engine_.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.dbs; import gplx.*; +import gplx.core.primitives.*; import gplx.dbs.engines.sqlite.*; public class Sqlite_engine_ { public static void Db_attach(Db_conn p, String alias, String url) { String s = String_.Format("ATTACH '{0}' AS {1};", url, alias); diff --git a/140_dbs/src_400_tdbs/gplx/dbs/TdbDelete.java b/140_dbs/src_400_tdbs/gplx/dbs/TdbDelete.java index c3c66e931..2b864e140 100644 --- a/140_dbs/src_400_tdbs/gplx/dbs/TdbDelete.java +++ b/140_dbs/src_400_tdbs/gplx/dbs/TdbDelete.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.criterias.*; +import gplx.core.criterias.*; import gplx.lists.*; /*GfoNde*/ class TdbDeleteWkr implements Db_qryWkr { public Object Exec(Db_engine engineObj, Db_qry cmdObj) { diff --git a/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java b/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java index 36f08d4d3..18bc33a49 100644 --- a/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.java +++ b/140_dbs/src_400_tdbs/gplx/dbs/TdbSelect.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.criterias.*; import gplx.dbs.sqls.*; +import gplx.core.criterias.*; import gplx.dbs.sqls.*; import gplx.lists.*; /*ComparerAble*/ import gplx.stores.*; /*GfoNdeRdr*/ class TdbSelectWkr implements Db_qryWkr { public Object Exec(Db_engine engineObj, Db_qry cmdObj) { @@ -24,7 +24,7 @@ class TdbSelectWkr implements Db_qryWkr { if (cmd.From().Tbls().Count() > 1) throw Err_.new_key_("gplx.tdbs", "joins not supported for tdbs").Add("sql", cmd.Xto_sql()); TdbTable tbl = engine.FetchTbl(cmd.From().BaseTable().TblName()); - GfoNdeList rv = (cmd.Where() == Db_qry_.WhereAll && cmd.Limit() == Db_qry_select.Limit_disabled) ? rv = tbl.Rows() : FilterRecords(tbl, cmd.Where().Crt(), cmd.Limit()); + GfoNdeList rv = (cmd.Where() == Db_qry_.WhereAll && cmd.Limit() == Db_qry_select.Limit_disabled) ? rv = tbl.Rows() : FilterRecords(tbl, cmd.Where(), cmd.Limit()); if (cmd.GroupBy() != null) rv = TdbGroupByWkr.GroupByExec(cmd, rv, tbl); if (cmd.OrderBy() != null) { // don't use null pattern here; if null ORDER BY, then don't call .Sort on GfoNdeList diff --git a/140_dbs/src_400_tdbs/gplx/dbs/TdbUpdate.java b/140_dbs/src_400_tdbs/gplx/dbs/TdbUpdate.java index 933f7e2b4..ad6982526 100644 --- a/140_dbs/src_400_tdbs/gplx/dbs/TdbUpdate.java +++ b/140_dbs/src_400_tdbs/gplx/dbs/TdbUpdate.java @@ -16,15 +16,15 @@ 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.criterias.*; +import gplx.core.criterias.*; import gplx.lists.*; /*GfoNde*/ class TdbUpdateWkr implements Db_qryWkr { public Object Exec(Db_engine engineObj, Db_qry cmdObj) { TdbEngine engine = TdbEngine.cast_(engineObj); Db_qry_update cmd = (Db_qry_update)cmdObj; int rv = 0; - TdbTable tbl = engine.FetchTbl(cmd.BaseTable()); - Criteria crt = cmd.Where().Crt(); + TdbTable tbl = engine.FetchTbl(cmd.Base_table()); + Criteria crt = cmd.Where(); for (int i = 0; i < tbl.Rows().Count(); i++) { GfoNde row = (GfoNde)tbl.Rows().FetchAt_asGfoNde(i); if (crt.Matches(row)) { diff --git a/140_dbs/src_410_stores/gplx/stores/DbMaprRdr.java b/140_dbs/src_410_stores/gplx/stores/DbMaprRdr.java index 9e31a34bf..671eaf933 100644 --- a/140_dbs/src_410_stores/gplx/stores/DbMaprRdr.java +++ b/140_dbs/src_410_stores/gplx/stores/DbMaprRdr.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.stores; import gplx.*; -import gplx.criterias.*; import gplx.dbs.*; +import gplx.core.criterias.*; import gplx.dbs.*; public class DbMaprRdr extends DataRdr_base implements SrlMgr { @Override public String NameOfNode() {return "DbMaprRdr";} @Override public Object StoreRoot(SrlObj subProto, String key) { diff --git a/140_dbs/src_410_stores/gplx/stores/DbMaprWtr.java b/140_dbs/src_410_stores/gplx/stores/DbMaprWtr.java index 5c5041672..908610918 100644 --- a/140_dbs/src_410_stores/gplx/stores/DbMaprWtr.java +++ b/140_dbs/src_410_stores/gplx/stores/DbMaprWtr.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.stores; import gplx.*; -import gplx.criterias.*; import gplx.dbs.*; +import gplx.core.criterias.*; import gplx.dbs.*; public class DbMaprWtr extends DataWtr_base implements DataWtr { public void InitWtr(String key, Object val) {} @Override public Object StoreRoot(SrlObj root, String key) { diff --git a/140_dbs/tst/gplx/dbs/AnsiSqlWtr_tst.java b/140_dbs/tst/gplx/dbs/AnsiSqlWtr_tst.java index 4d085684d..afc259694 100644 --- a/140_dbs/tst/gplx/dbs/AnsiSqlWtr_tst.java +++ b/140_dbs/tst/gplx/dbs/AnsiSqlWtr_tst.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.dbs; import gplx.*; import org.junit.*; -import gplx.criterias.*; import gplx.dbs.sqls.*; +import gplx.core.criterias.*; import gplx.dbs.sqls.*; public class AnsiSqlWtr_tst { Sql_qry_wtr sqlWtr = Sql_qry_wtr_.new_ansi(); @Test public void Insert() { diff --git a/140_dbs/tst/gplx/dbs/Db_conn_fxt.java b/140_dbs/tst/gplx/dbs/Db_conn_fxt.java index c96b50ca7..7d870a2e9 100644 --- a/140_dbs/tst/gplx/dbs/Db_conn_fxt.java +++ b/140_dbs/tst/gplx/dbs/Db_conn_fxt.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.dbs; import gplx.*; +import gplx.dbs.engines.sqlite.*; public class Db_conn_fxt implements RlsAble { public Db_conn Conn() {return conn;} public Db_conn_fxt Conn_(Db_conn v) {conn = v; return this;} Db_conn conn; public void DmlAffectedAvailable_(boolean v) {dmlAffectedAvailable = v;} private boolean dmlAffectedAvailable = true; diff --git a/140_dbs/tst/gplx/dbs/Db_crt_tst.java b/140_dbs/tst/gplx/dbs/Db_crt_tst.java index 2ccfc1def..ced559b78 100644 --- a/140_dbs/tst/gplx/dbs/Db_crt_tst.java +++ b/140_dbs/tst/gplx/dbs/Db_crt_tst.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.dbs; import gplx.*; import org.junit.*; -import gplx.criterias.*; +import gplx.core.criterias.*; public class Db_crt_tst { @Before public void setup() { row = GfoNde_.vals_(GfoFldList_.new_().Add("id", IntClassXtn._).Add("name", StringClassXtn._), Object_.Ary(1, "me")); diff --git a/140_dbs/tst/gplx/dbs/IoSqlCriteriaWriter_tst.java b/140_dbs/tst/gplx/dbs/IoSqlCriteriaWriter_tst.java index 9f7e198c3..aead42f70 100644 --- a/140_dbs/tst/gplx/dbs/IoSqlCriteriaWriter_tst.java +++ b/140_dbs/tst/gplx/dbs/IoSqlCriteriaWriter_tst.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.dbs; import gplx.*; -import org.junit.*; -import gplx.criterias.*; /*Criteria_base*/ +import org.junit.*; import gplx.core.strings.*; +import gplx.core.criterias.*; /*Criteria_base*/ import gplx.ios.*; import gplx.dbs.sqls.*; public class IoSqlCriteriaWriter_tst { @Test public void Type() { @@ -49,12 +49,12 @@ public class IoSqlCriteriaWriter_tst { ( ioCrt_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmDir.Type_Dir)), ioCrt_(IoItm_base_.Prop_Type, Criteria_.eq_(IoItmFil.Type_Fil)) )); } - Criteria ioCrt_(String fld, Criteria crt) {return Criteria_wrapper.new_(fld, crt);} + Criteria ioCrt_(String fld, Criteria crt) {return Criteria_fld.new_(fld, crt);} String fld; void tst_Write(String expd, Criteria crt) { String_bldr sb = String_bldr_.new_(); Sql_qry_wtr_ansi whereWtr = (Sql_qry_wtr_ansi)Sql_qry_wtr_.new_ansi(); - whereWtr.Bld_where(sb, crt); + whereWtr.Bld_where_val(sb, crt); Tfds.Eq(expd, sb.XtoStr()); } } 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 17dbead38..402783c04 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/ColorAdp.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.gfui; import gplx.*; -import gplx.texts.*; +import gplx.core.strings.*; import gplx.texts.*; public class ColorAdp { public int Value() {return val;} int val; public int Alpha() {return (255 & val >> 24);} 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 2f847a517..ab83c87b9 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/FontAdp.java @@ -18,6 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; import java.awt.Font; import java.awt.Toolkit; +import gplx.core.strings.*; public class FontAdp implements GfoInvkAble { public String Name() {return name;} public FontAdp Name_(String val) {name = val; InitUnder(); return this;} private String name; public float Size() {return size;} public FontAdp Size_(float val) {size = val; InitUnder(); return this;} float size; 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 2cabc2af2..2cd2541ba 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/FontStyleAdp_.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 gplx.core.primitives.*; public class FontStyleAdp_ implements ParseAble { public static final FontStyleAdp Plain = new FontStyleAdp(0) 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 ebfd46c8f..beb731b3c 100644 --- a/150_gfui/src_110_draw_core/gplx/gfui/PenAdp.java +++ b/150_gfui/src_110_draw_core/gplx/gfui/PenAdp.java @@ -18,6 +18,7 @@ along with this program. If not, see . package gplx.gfui; import gplx.*; import java.awt.BasicStroke; import java.awt.Stroke; +import gplx.core.strings.*; public class PenAdp implements GfoInvkAble { public float Width() {return width;} public void Width_set(float v) {width = v; InitUnder();} float width; public ColorAdp Color() {return color;} public void Color_set(ColorAdp v) {color = v; InitUnder();} ColorAdp color; 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 9259b10d1..27a549cc1 100644 --- a/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.java +++ b/150_gfui/src_120_draw_objs/gplx/gfui/GfuiBorderMgr.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 gplx.core.strings.*; public class GfuiBorderMgr { public PenAdp All() {return all;} public GfuiBorderMgr All_(PenAdp v) {SyncPens(true); all = v; return this;} PenAdp all; public PenAdp Left() {return left;} public GfuiBorderMgr Left_(PenAdp v) {SyncPens(false); left = v; return this;} PenAdp left; diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptArg.java b/150_gfui/src_200_ipt/gplx/gfui/IptArg.java index eee835fb8..bdcd4f0e0 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptArg.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptArg.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 gplx.core.strings.*; public interface IptArg { String Key(); boolean Eq(IptArg comp); // NOTE: this relies on unique key across all IptArgs; EX: .Key() cannot be just "left"; would have issues with key.left and mouse.left diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr_tst.java b/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr_tst.java index 4c45431e9..a8ff5eedf 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr_tst.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptBndMgr_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.gfui; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class IptBndMgr_tst { @Before public void setup() { fx = new IptBndMgr_fx(); diff --git a/150_gfui/src_200_ipt/gplx/gfui/IptBnd_.java b/150_gfui/src_200_ipt/gplx/gfui/IptBnd_.java index 3948b4ab9..a67ab1cc8 100644 --- a/150_gfui/src_200_ipt/gplx/gfui/IptBnd_.java +++ b/150_gfui/src_200_ipt/gplx/gfui/IptBnd_.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 gplx.core.strings.*; public class IptBnd_ { public static void msg_(IptCfg cfg, IptBndsOwner box, String bndKey, GfoMsg m, IptArg... ipt) {bld_(cfg, box, GfoInvkAble_.as_(box), bndKey, m, ipt);} public static void msg_to_(IptCfg cfg, IptBndsOwner box, GfoInvkAble invk, String bndKey, GfoMsg m, IptArg... ipt) { 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 807946e8e..e96ee4360 100644 --- a/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.java +++ b/150_gfui/src_300_gxw/gplx/gfui/GxwTextHtml_lang.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 gplx.core.strings.*; import java.awt.Color; import java.awt.Component; import java.awt.Font; 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 097f7c57d..782dff28c 100644 --- a/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.java +++ b/150_gfui/src_410_box_core/gplx/gfui/GfuiElemBase.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 gplx.core.strings.*; public class GfuiElemBase implements GfuiElem { //% Layout public GfoEvMgr EvMgr() {if (evMgr == null) evMgr = GfoEvMgr.new_(this); return evMgr;} GfoEvMgr evMgr; diff --git a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java index 97c50eb47..cfb193691 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg.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 gplx.core.primitives.*; public class Gfui_html_cfg implements GfoInvkAble { public String Doc_html() {return Exec_fmt(fmtr_doc_html);} private Bry_fmtr fmtr_doc_html = Bry_fmtr.new_(); public String Doc_body_focus() {return Exec_fmt(fmtr_doc_body_focus);} private Bry_fmtr fmtr_doc_body_focus = Bry_fmtr.new_(); diff --git a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg_tst.java b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg_tst.java index 07c26f73c..8dbdf9d2a 100644 --- a/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg_tst.java +++ b/150_gfui/src_420_box_basic/gplx/gfui/Gfui_html_cfg_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.gfui; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Gfui_html_cfg_tst { private Gfui_html_cfg_fxt fxt = new Gfui_html_cfg_fxt(); @Before public void init() {fxt.Reset();} diff --git a/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java b/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java index c216809c8..1e27172d2 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java +++ b/150_gfui/src_600_adp/gplx/gfui/ClipboardAdp_.java @@ -22,6 +22,7 @@ import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.UnsupportedFlavorException; import java.io.IOException; +import gplx.core.strings.*; public class ClipboardAdp_ { public static void SetText(String text) { StringSelection data = new StringSelection(text); diff --git a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java index e12001c41..468e905b8 100644 --- a/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.java +++ b/150_gfui/src_600_adp/gplx/gfui/ImageAdp_.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 gplx.core.primitives.*; import gplx.ios.*; /*IoStream*/ import java.io.File; import java.io.FileInputStream; diff --git a/150_gfui/tst/gplx/gfui/GfxItm_base.java b/150_gfui/tst/gplx/gfui/GfxItm_base.java index 7aaf88c31..b056ffc81 100644 --- a/150_gfui/tst/gplx/gfui/GfxItm_base.java +++ b/150_gfui/tst/gplx/gfui/GfxItm_base.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 gplx.core.strings.*; public abstract class GfxItm_base implements GfxItm { public PointAdp Pos() {return pos;} PointAdp pos = PointAdp_.Zero; public SizeAdp Size() {return size;} SizeAdp size = SizeAdp_.Zero; diff --git a/150_gfui/tst/gplx/gfui/GfxLineItm.java b/150_gfui/tst/gplx/gfui/GfxLineItm.java index 56ff872ef..f2885dd16 100644 --- a/150_gfui/tst/gplx/gfui/GfxLineItm.java +++ b/150_gfui/tst/gplx/gfui/GfxLineItm.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 gplx.core.strings.*; public class GfxLineItm implements GfxItm { public PointAdp Src() {return src;} PointAdp src = PointAdp_.Zero; public PointAdp Trg() {return trg;} PointAdp trg = PointAdp_.Zero; diff --git a/150_gfui/tst/gplx/gfui/GfxRectItm.java b/150_gfui/tst/gplx/gfui/GfxRectItm.java index e7d8d2a2c..70824f323 100644 --- a/150_gfui/tst/gplx/gfui/GfxRectItm.java +++ b/150_gfui/tst/gplx/gfui/GfxRectItm.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 gplx.core.strings.*; public class GfxRectItm extends GfxItm_base { public float Width() {return width;} float width; public ColorAdp Color() {return color;} ColorAdp color; diff --git a/150_gfui/xtn/gplx/gfui/Swt_html.java b/150_gfui/xtn/gplx/gfui/Swt_html.java index 5c87cb950..3281cf38a 100644 --- a/150_gfui/xtn/gplx/gfui/Swt_html.java +++ b/150_gfui/xtn/gplx/gfui/Swt_html.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.core.primitives.*; import java.security.acl.Owner; import gplx.*; import gplx.threads.ThreadAdp_; diff --git a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java index 6e0c26aa3..bf5be0a5f 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_bwd_mgr.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.btries; import gplx.*; import gplx.core.*; +import gplx.core.primitives.*; public class Btrie_bwd_mgr { public int Match_pos() {return match_pos;} private int match_pos; public Object Match_exact(byte[] src, int bgn_pos, int end_pos) { diff --git a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java index 0c1284b24..b206aa003 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_fast_mgr.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.btries; import gplx.*; import gplx.core.*; +import gplx.core.primitives.*; public class Btrie_fast_mgr { private ByteTrieItm_fast root; public boolean CaseAny() {return root.CaseAny();} public Btrie_fast_mgr CaseAny_(boolean v) {root.CaseAny_(v); return this;} diff --git a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java index e2f9e16eb..84ecb781f 100644 --- a/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.java +++ b/400_xowa/src/gplx/core/btries/Btrie_slim_mgr.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.btries; import gplx.*; import gplx.core.*; +import gplx.core.primitives.*; public class Btrie_slim_mgr implements Btrie_mgr { Btrie_slim_mgr(boolean case_match) {root = new Btrie_slim_itm(Byte_.Zero, null, !case_match);} private Btrie_slim_itm root; public int Count() {return count;} private int count; 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 8fedbf415..22e18f409 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_itm.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.regxs; import gplx.*; import gplx.core.*; +import gplx.core.strings.*; public interface Gfo_pattern_itm { byte Tid(); void Compile(byte[] src, int bgn, int end); diff --git a/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java b/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java index 8da850f68..bec23051c 100644 --- a/400_xowa/src/gplx/core/regxs/Gfo_pattern_tst.java +++ b/400_xowa/src/gplx/core/regxs/Gfo_pattern_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.core.regxs; import gplx.*; import gplx.core.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Gfo_pattern_tst { @Before public void init() {fxt.Clear();} private Gfo_pattern_itm_fxt fxt = new Gfo_pattern_itm_fxt(); @Test public void Compile() { diff --git a/400_xowa/src/gplx/dbs/schemas/Schema_loader_mgr_.java b/400_xowa/src/gplx/dbs/schemas/Schema_loader_mgr_.java index 8a50f3d87..00c72a5bd 100644 --- a/400_xowa/src/gplx/dbs/schemas/Schema_loader_mgr_.java +++ b/400_xowa/src/gplx/dbs/schemas/Schema_loader_mgr_.java @@ -27,7 +27,7 @@ class Schema_loader_mgr__sqlite implements Schema_loader_mgr { public void Load(Schema_db_mgr db_mgr, Db_conn conn) { Gfo_usr_dlg_._.Log_many("", "", "db.schema.load.bgn: conn=~{0}", conn.Url().Xto_api()); Schema_tbl_mgr tbl_mgr = db_mgr.Tbl_mgr(); - Db_qry__select_in_tbl qry = Db_qry__select_in_tbl.new_("sqlite_master", null, String_.Ary("type", "name", "sql")); + Db_qry__select_in_tbl qry = Db_qry__select_in_tbl.new_("sqlite_master", String_.Ary_empty, String_.Ary("type", "name", "sql")); Db_stmt stmt = Db_stmt_.new_select_as_rdr(conn, qry); Db_rdr rdr = stmt.Exec_select_as_rdr(); while (rdr.Move_next()) { diff --git a/400_xowa/src/gplx/fsdb/Binary_search__tst.java b/400_xowa/src/gplx/fsdb/Binary_search__tst.java index e565cc570..5ba73c772 100644 --- a/400_xowa/src/gplx/fsdb/Binary_search__tst.java +++ b/400_xowa/src/gplx/fsdb/Binary_search__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.fsdb; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Binary_search__tst { private Binary_search__fxt fxt = new Binary_search__fxt(); @Test public void Basic() { diff --git a/400_xowa/src/gplx/fsdb/Fsdb_cfg_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_cfg_tbl.java index faf18ff35..923361c7e 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_cfg_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_cfg_tbl.java @@ -96,7 +96,7 @@ class Fsdb_cfg_tbl_sql extends Fsdb_cfg_tbl_base implements Fsdb_cfg_tbl { .Exec_update(); } private Db_stmt Select_stmt() { - Db_qry_select qry = Db_qry_.select_val_(Tbl_name, Fld_cfg_val, gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cfg_grp, ""), Db_crt_.eq_(Fld_cfg_key, ""))); + Db_qry_select qry = Db_qry_.select_val_(Tbl_name, Fld_cfg_val, gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cfg_grp, ""), Db_crt_.eq_(Fld_cfg_key, ""))); return conn.New_stmt(qry); } @Override public int Select_as_int_or(String grp, String key, int or) {return Int_.parse_or_(Select_as_str_or(grp, key, null), or);} @@ -110,7 +110,7 @@ class Fsdb_cfg_tbl_sql extends Fsdb_cfg_tbl_base implements Fsdb_cfg_tbl { } public Fsdb_cfg_grp Select_as_grp(String grp) { Fsdb_cfg_grp rv = null; - Db_qry_select qry = Db_qry_.select_cols_(Tbl_name, gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cfg_grp, "")), Fld_cfg_key, Fld_cfg_val); + Db_qry_select qry = Db_qry_.select_cols_(Tbl_name, gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cfg_grp, "")), Fld_cfg_key, Fld_cfg_val); DataRdr rdr = DataRdr_.Null; try { rdr = conn.New_stmt(qry).Clear().Val_str(grp).Exec_select(); diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_abc_mgr.java b/400_xowa/src/gplx/fsdb/Fsdb_db_abc_mgr.java index af968ddd1..e6ea2aef1 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_abc_mgr.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_abc_mgr.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.fsdb; import gplx.*; -import gplx.dbs.*; +import gplx.dbs.*; import gplx.dbs.engines.sqlite.*; public class Fsdb_db_abc_mgr implements RlsAble { private Db_conn boot_provider; public int Next_id() {return cfg_mgr.Next_id();} diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_fil.java b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_fil.java index f047a5ae6..e5f02dabe 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_fil.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_fil.java @@ -16,7 +16,8 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.fsdb; import gplx.*; -import gplx.dbs.*; import gplx.cache.*; +import gplx.core.primitives.*; import gplx.cache.*; +import gplx.dbs.*; import gplx.dbs.engines.sqlite.*; public class Fsdb_db_atr_fil implements RlsAble { private Gfo_cache_mgr_bry dir_cache = new Gfo_cache_mgr_bry(); private Fsdb_dir_tbl tbl_dir; private Fsdb_fil_tbl tbl_fil; private Fsdb_xtn_thm_tbl tbl_thm; diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java index fbb2a1415..ddd66d459 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_atr_tbl.java @@ -62,3 +62,20 @@ public class Fsdb_db_atr_tbl { ); private static Db_stmt_bldr stmt_bldr = new Db_stmt_bldr(Tbl_name, String_.Ary(Fld_uid), Fld_url, Fld_path_bgn); } +// class tmptbl { +// private String Tbl_name = "file_url_atr"; +// private String Fld_wiki_id +// , Fld_uid, Fld_url, Fld_path_bgn +// ; +// private Db_meta_tbl meta; +// private Db_meta_fld_list Flds = Db_meta_fld_list.new_(); +// private void Conn_() { +// Fld_wiki_id = Flds.Add_int("wiki_id"); +// Fld_uid = Flds.Add_int("uid"); +// Fld_url = Flds.Add_str("url", 255); +// Fld_path_bgn = Flds.Add_str("path_bgn", 255); +// meta = Db_meta_tbl.new_(Tbl_name, Flds +// , Db_meta_idx.new_unique(Tbl_name, "pkey", Fld_wiki_id, Fld_uid) +// ); +// } +// } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_fil.java b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_fil.java index 3912045a7..6a207b517 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_fil.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_fil.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.fsdb; import gplx.*; -import gplx.dbs.*; import gplx.ios.*; +import gplx.ios.*; import gplx.dbs.*; import gplx.dbs.engines.sqlite.*; public class Fsdb_db_bin_fil implements RlsAble { public int Id() {return id;} private int id; public Io_url Url() {return url;} private Io_url url; diff --git a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java index 90e5138d2..772b2b64b 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_db_bin_tbl.java @@ -61,5 +61,30 @@ public class Fsdb_db_bin_tbl { , ", bin_max bigint NOT NULL" , ");" ); +// public void Conn_(boolean version_is_1) { +// this.version_is_1 = version_is_1; +// if (version_is_1) { +// where_cols = String_.Ary(Fld_ns_id); +// } +// else { +// where_cols = String_.Ary(Fld_wiki_id, Fld_ns_id); +// Tbl_name = "wiki_ns_regy"; +// Fld_wiki_id = Flds.Add_int("wiki_id"); +// } +// Fld_ns_id = Flds.Add_int("ns_id"); +// Fld_ns_name = Flds.Add_str("ns_name", 255); +// Fld_ns_case = Flds.Add_byte("ns_case"); +// Fld_ns_is_alias = Flds.Add_bool("ns_is_alias"); +// Fld_ns_count = Flds.Add_int("ns_count"); +// } private static Db_stmt_bldr stmt_bldr = new Db_stmt_bldr(Tbl_name, String_.Ary(Fld_uid), Fld_url, Fld_bin_len, Fld_bin_max); +// private String tbl_name = "file_fsdb_bin"; +// private static final Db_meta_fld_list Flds = Db_meta_fld_list.new_(); +// private static final String +// Fld_wiki_id = Flds.Add_int("wiki_id") +// , Fld_uid = Flds.Add_int("uid") +// , Fld_url = Flds.Add_str("url", 255) +// , Fld_bin_len = Flds.Add_long("bin_len") +// , Fld_bin_max = Flds.Add_long("bin_max") +// ; } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_fil_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_fil_tbl.java index 9cb07490f..6bdfb1b9e 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_fil_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_fil_tbl.java @@ -71,7 +71,7 @@ public class Fsdb_fil_tbl { private Db_stmt Select_by_name_stmt() { Db_qry qry = Sqlite_engine_.Supports_indexed_by ? (Db_qry)Db_qry_sql.rdr_("SELECT * FROM fsdb_fil INDEXED BY fsdb_fil__owner WHERE fil_owner_id = ? AND fil_name = ?;") - : Db_qry_.select_().From_(Tbl_name).Cols_all_().Where_(gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_fil_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_fil_name, ""))) + : Db_qry_.select_().From_(Tbl_name).Cols_all_().Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_fil_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_fil_name, ""))) ; return conn.New_stmt(qry); } @@ -132,3 +132,27 @@ public class Fsdb_fil_tbl { Idx_owner = Db_idx_itm.sql_ ("CREATE INDEX IF NOT EXISTS fsdb_fil__owner ON fsdb_fil (fil_owner_id, fil_name, fil_id);") ; } +// class tmptbl { +// private String Tbl_name = "file_fsdb_fil"; +// private String Fld_wiki_id, Fld_fil_id, Fld_fil_owner_id, Fld_fil_name, Fld_fil_xtn_id, Fld_fil_ext_id +// , Fld_fil_size, Fld_fil_modified, Fld_fil_hash, Fld_fil_bin_db_id +// ; +// private Db_meta_tbl meta; +// private Db_meta_fld_list Flds = Db_meta_fld_list.new_(); +// private void Conn_() { +// Fld_wiki_id = Flds.Add_int("wiki_id"); +// Fld_fil_id = Flds.Add_int("fil_id"); +// Fld_fil_owner_id = Flds.Add_int("fil_owner_id"); +// Fld_fil_xtn_id = Flds.Add_int("fil_xtn_id"); +// Fld_fil_ext_id = Flds.Add_int("fil_ext_id"); +// Fld_fil_bin_db_id = Flds.Add_int("fil_bin_db_id"); // group ints at beginning of table +// Fld_fil_name = Flds.Add_str("fil_name", 255); +// Fld_fil_size = Flds.Add_long("fil_size"); +// Fld_fil_modified = Flds.Add_str("fil_modified", 14); // stored as yyyyMMddHHmmss +// Fld_fil_hash = Flds.Add_str("fil_hash", 40); +// meta = Db_meta_tbl.new_(Tbl_name, Flds +// , Db_meta_idx.new_unique(Tbl_name, "pkey", Fld_wiki_id, Fld_fil_id) +// , Db_meta_idx.new_unique(Tbl_name, "fil_owner", Fld_wiki_id, Fld_fil_owner_id, Fld_fil_name, Fld_fil_id) +// ); +// } +// } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_mnt_mgr.java b/400_xowa/src/gplx/fsdb/Fsdb_mnt_mgr.java index ceac57194..bf83bee1c 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_mnt_mgr.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_mnt_mgr.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.fsdb; import gplx.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.files.fsdb.*; public class Fsdb_mnt_mgr implements GfoInvkAble { private Db_conn conn; diff --git a/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java index e11e42779..304b9f3b3 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_mnt_tbl.java @@ -65,3 +65,20 @@ public class Fsdb_mnt_tbl { , ");" ); } +// class tmptbl { +// private String Tbl_name = "file_url_mnt"; +// private String Fld_wiki_id +// , Fld_id, Fld_name, Fld_url +// ; +// private Db_meta_tbl meta; +// private Db_meta_fld_list Flds = Db_meta_fld_list.new_(); +// private void Conn_() { +// Fld_wiki_id = Flds.Add_int("wiki_id"); +// Fld_id = Flds.Add_int("id"); +// Fld_name = Flds.Add_str("name", 255); +// Fld_url = Flds.Add_str("url", 255); +// meta = Db_meta_tbl.new_(Tbl_name, Flds +// , Db_meta_idx.new_unique(Tbl_name, "pkey", Fld_wiki_id, Fld_id) +// ); +// } +// } diff --git a/400_xowa/src/gplx/fsdb/Fsdb_xtn_thm_tbl.java b/400_xowa/src/gplx/fsdb/Fsdb_xtn_thm_tbl.java index 9b24a5c81..4da46c0eb 100644 --- a/400_xowa/src/gplx/fsdb/Fsdb_xtn_thm_tbl.java +++ b/400_xowa/src/gplx/fsdb/Fsdb_xtn_thm_tbl.java @@ -68,10 +68,10 @@ public class Fsdb_xtn_thm_tbl { } private Db_stmt Select_by_fil_w_stmt() { Db_qry_select qry = Db_qry_.select_().From_(Tbl_name).Cols_all_(); - gplx.criterias.Criteria crt + gplx.core.criterias.Criteria crt = this.Schema_thm_page() - ? gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_thm_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_thm_w, Int_.MinValue), Db_crt_.eq_(Fld_thm_time, Int_.MinValue), Db_crt_.eq_(Fld_thm_page, Int_.MinValue)) - : gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_thm_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_thm_w, Int_.MinValue), Db_crt_.eq_(Fld_thm_thumbtime, Int_.MinValue)) + ? gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_thm_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_thm_w, Int_.MinValue), Db_crt_.eq_(Fld_thm_time, Int_.MinValue), Db_crt_.eq_(Fld_thm_page, Int_.MinValue)) + : gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_thm_owner_id, Int_.MinValue), Db_crt_.eq_(Fld_thm_w, Int_.MinValue), Db_crt_.eq_(Fld_thm_thumbtime, Int_.MinValue)) ; qry.Where_(crt); return conn.New_stmt(qry); @@ -126,3 +126,30 @@ public class Fsdb_xtn_thm_tbl { public static final DateAdp Modified_null = null; public static final String Hash_null = ""; } +// class tmptbl { +// private String Tbl_name = "file_data_thm"; +// private String Fld_wiki_id +// , Fld_id, Fld_owner_id, Fld_w, Fld_h +// , Fld_time, Fld_page +// , Fld_bin_db_id, Fld_size, Fld_modified, Fld_hash +// ; +// private Db_meta_tbl meta; +// private Db_meta_fld_list Flds = Db_meta_fld_list.new_(); +// private void Conn_() { +// Fld_wiki_id = Flds.Add_int("wiki_id"); +// Fld_id = Flds.Add_int("id"); +// Fld_owner_id = Flds.Add_int("owner_id"); +// Fld_w = Flds.Add_int("w"); +// Fld_h = Flds.Add_int("h"); +// Fld_time = Flds.Add_double("time"); +// Fld_page = Flds.Add_int("page"); +// Fld_bin_db_id = Flds.Add_int("bin_db_id"); +// Fld_size = Flds.Add_long("size"); +// Fld_modified = Flds.Add_str("modified", 14); // stored as yyyyMMddHHmmss +// Fld_hash = Flds.Add_str("hash", 40); +// meta = Db_meta_tbl.new_(Tbl_name, Flds +// , Db_meta_idx.new_unique(Tbl_name, "pkey", Fld_wiki_id, Fld_id) +// , Db_meta_idx.new_unique(Tbl_name, "owner", Fld_wiki_id, Fld_owner_id, Fld_id, Fld_w, Fld_time, Fld_page) +// ); +// } +// } diff --git a/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java b/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java index 0e3c8d540..5b8116038 100644 --- a/400_xowa/src/gplx/gfs/Gfs_msg_bldr_tst.java +++ b/400_xowa/src/gplx/gfs/Gfs_msg_bldr_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.gfs; import gplx.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Gfs_msg_bldr_tst { @Before public void init() {fxt.Clear();} Gfs_msg_bldr_fxt fxt = new Gfs_msg_bldr_fxt(); @Test public void Basic() { diff --git a/400_xowa/src/gplx/html/Html_utl.java b/400_xowa/src/gplx/html/Html_utl.java index 4b4a63805..b9bf928f1 100644 --- a/400_xowa/src/gplx/html/Html_utl.java +++ b/400_xowa/src/gplx/html/Html_utl.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.html; import gplx.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Html_utl { public static byte[] Escape_for_atr_val_as_bry(Bry_bfr tmp_bfr, byte quote_byte, String s) { if (s == null) return null; 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 df099add7..4815add4e 100644 --- a/400_xowa/src/gplx/php/Php_text_itm_parser.java +++ b/400_xowa/src/gplx/php/Php_text_itm_parser.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.php; import gplx.*; +import gplx.core.primitives.*; public class Php_text_itm_parser { public static final byte Rslt_orig = 0, Rslt_dirty = 1, Rslt_fmt = 2; public boolean Quote_is_single() {return quote_is_single;} public Php_text_itm_parser Quote_is_single_(boolean v) {quote_is_single = v; return this;} private boolean quote_is_single; diff --git a/400_xowa/src/gplx/threads/Gfo_async_mgr.java b/400_xowa/src/gplx/threads/Gfo_async_mgr.java index e2f36f497..0b30c4ad0 100644 --- a/400_xowa/src/gplx/threads/Gfo_async_mgr.java +++ b/400_xowa/src/gplx/threads/Gfo_async_mgr.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.threads; import gplx.*; +import gplx.core.primitives.*; public class Gfo_async_mgr implements GfoInvkAble { private ListAdp queue = ListAdp_.new_(); private Bool_obj_ref running = Bool_obj_ref.n_(); diff --git a/400_xowa/src/gplx/xowa/Xoa_app_.java b/400_xowa/src/gplx/xowa/Xoa_app_.java index a809a47f1..897cf0aa7 100644 --- a/400_xowa/src/gplx/xowa/Xoa_app_.java +++ b/400_xowa/src/gplx/xowa/Xoa_app_.java @@ -24,7 +24,7 @@ public class Xoa_app_ { boot_mgr.Run(args); } public static final String Name = "xowa"; - public static final String Version = "2.1.4.1"; + public static final String Version = "2.2.1.1"; public static String Build_date = "2012-12-30 00:00:00"; public static String Op_sys; public static String User_agent = ""; 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 8061098ed..2bc8ac3b4 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 @@ -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.xowa.apps.fsys; import gplx.*; import gplx.xowa.*; import gplx.xowa.apps.*; +import gplx.core.primitives.*; public class Xoa_fsys_eval implements Bry_fmtr_eval_mgr { public Xoa_fsys_eval(Xoa_app app) {this.app = app;} private Xoa_app app; public boolean Enabled() {return enabled;} public void Enabled_(boolean v) {enabled = v;} private boolean enabled = true; diff --git a/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java b/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java index d16e755e7..24b245ae4 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.java +++ b/400_xowa/src/gplx/xowa/bldrs/Db_mgr_fxt.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.xowa.bldrs; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; import gplx.core.strings.*; import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.specials.search.*; import gplx.xowa.ctgs.*; import gplx.xowa.dbs.tbls.*; public class Db_mgr_fxt { public Db_mgr_fxt Ctor_fsys() {bldr_fxt = new Xob_fxt().Ctor(Xoa_test_.Url_root().GenSubDir("root")); return this;} 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 afdb1a871..eaf19e047 100644 --- a/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.java +++ b/400_xowa/src/gplx/xowa/bldrs/Xob_cmd_mgr.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.xowa.bldrs; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; import gplx.xowa.wikis.*; import gplx.xowa.xtns.wdatas.imports.*; import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.bldrs.imports.*; import gplx.xowa.bldrs.oimgs.*; import gplx.xowa.bldrs.wikis.redirects.*; import gplx.xowa.bldrs.wikis.images.*; import gplx.xowa.files.wiki_orig.*; import gplx.xowa.bldrs.files.*; diff --git a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java index 7f8d50cc4..d16e686f2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.java +++ b/400_xowa/src/gplx/xowa/bldrs/cfgs/Xob_wiki_cfg_bldr.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.xowa.bldrs.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; +import gplx.core.strings.*; public class Xob_wiki_cfg_bldr implements GfoInvkAble { public Xob_wiki_cfg_bldr(Xob_bldr bldr) {this.app = bldr.App();} private Xoa_app app; public void Exec() { 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 5ce84798d..2434dff5e 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 @@ -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.cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Xob_wiki_cfg_bldr_tst { Xob_wiki_cfg_bldr_fxt fxt = new Xob_wiki_cfg_bldr_fxt(); @Before public void init() {fxt.Clear();} diff --git a/400_xowa/src/gplx/xowa/bldrs/files/Xob_xfer_regy_tbl.java b/400_xowa/src/gplx/xowa/bldrs/files/Xob_xfer_regy_tbl.java index 02af0d760..f2f62f058 100644 --- a/400_xowa/src/gplx/xowa/bldrs/files/Xob_xfer_regy_tbl.java +++ b/400_xowa/src/gplx/xowa/bldrs/files/Xob_xfer_regy_tbl.java @@ -27,7 +27,7 @@ public class Xob_xfer_regy_tbl { public static DataRdr Select(Db_conn p, byte repo_id, byte[] ttl, int limit) { Db_qry qry = Db_qry_.select_().Cols_all_() .From_(Tbl_name) - .Where_(gplx.criterias.Criteria_.And_many(Db_crt_.mte_(Fld_orig_repo, repo_id), Db_crt_.mt_(Fld_lnki_ttl, String_.new_utf8_(ttl)), Db_crt_.eq_(Fld_xfer_status, 0))) + .Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.mte_(Fld_orig_repo, repo_id), Db_crt_.mt_(Fld_lnki_ttl, String_.new_utf8_(ttl)), Db_crt_.eq_(Fld_xfer_status, 0))) .OrderBy_many_(Fld_xfer_status, Fld_orig_repo, Fld_lnki_ttl, Fld_file_w) .Limit_(limit) ; @@ -53,7 +53,7 @@ public class Xob_xfer_regy_tbl { public static DataRdr Select_by_lnki_page_id(Db_conn p, int lnki_page_id, int select_interval) { Db_qry qry = Db_qry_.select_().Cols_all_() .From_(Tbl_name) - .Where_(gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_xfer_status, 0), Db_crt_.mte_(Fld_lnki_page_id, lnki_page_id))) + .Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_xfer_status, 0), Db_crt_.mte_(Fld_lnki_page_id, lnki_page_id))) .OrderBy_many_(Fld_lnki_page_id, Fld_lnki_id) .Limit_(select_interval) ; diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java index f3f0303ae..ce1a893f2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/Xob_search_base.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.xowa.bldrs.imports; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; +import gplx.core.primitives.*; import gplx.ios.*; import gplx.xowa.dbs.*; public abstract class Xob_search_base extends Xob_itm_dump_base implements Xobd_wkr, GfoInvkAble { diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_cleanup.java b/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_cleanup.java index 5ddb9d2a6..4be449c0f 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_cleanup.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/Xobc_core_cleanup.java @@ -17,7 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.bldrs.imports; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.*; -import gplx.criterias.*; +import gplx.core.criterias.*; public class Xobc_core_cleanup extends Xob_itm_basic_base implements Xob_cmd { private String bz2_cmd; private boolean delete_all, delete_tmp; diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java index d3d058e62..c65b4a2c1 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_category_registry_sql_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.xowa.bldrs.imports.ctgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.imports.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Xob_category_registry_sql_tst { @Before public void init() {if (Xoa_test_.Db_skip()) return; fxt.Clear();} private Xob_category_registry_sql_fxt fxt = new Xob_category_registry_sql_fxt(); @Test public void Basic() { diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java index 4ced8b9ef..1dc956a92 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_categorylinks_sql_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.xowa.bldrs.imports.ctgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.imports.*; -import org.junit.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.ctgs.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.ctgs.*; public class Xob_categorylinks_sql_tst { @Before public void init() {if (Xoa_test_.Db_skip()) return; fxt.Ctor_fsys();} Db_mgr_fxt fxt = new Db_mgr_fxt(); @After public void term() {if (Xoa_test_.Db_skip()) return; fxt.Rls();} diff --git a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java index 9a5044584..b69ea3d5c 100644 --- a/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_base.java +++ b/400_xowa/src/gplx/xowa/bldrs/imports/ctgs/Xob_ctg_v1_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.imports.ctgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; import gplx.xowa.bldrs.imports.*; -import gplx.core.btries.*; import gplx.core.flds.*; import gplx.ios.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.core.flds.*; import gplx.ios.*; public abstract class Xob_ctg_v1_base extends Xob_itm_dump_base implements Xobd_parser_wkr, GfoInvkAble { protected Xob_ctg_v1_base() {} // TEST:needed for fxt public Xob_ctg_v1_base Ctor(Xob_bldr bldr, Xow_wiki wiki) {this.Cmd_ctor(bldr, wiki); return this;} 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 717a8de58..b4644c323 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.json.*; import gplx.php.*; import gplx.gfs.*; +import gplx.core.primitives.*; import gplx.json.*; import gplx.php.*; import gplx.gfs.*; interface Json_itm_wkr { void Read_kv_sub(byte[] key, byte[] val); } 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 c2ecca415..e7fed2de6 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 @@ -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 org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Xobc_utl_make_lang_tst { @Before public void init() {fxt.Clear();} private Xobc_utl_make_lang_fxt fxt = new Xobc_utl_make_lang_fxt(); @Test public void Parse() { 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 05b58758c..b59c398a8 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.btries.*; import gplx.intl.*; import gplx.php.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.intl.*; import gplx.php.*; 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; diff --git a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xodb_db_file.java b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xodb_db_file.java index 6f4c9df98..676675d51 100644 --- a/400_xowa/src/gplx/xowa/bldrs/oimgs/Xodb_db_file.java +++ b/400_xowa/src/gplx/xowa/bldrs/oimgs/Xodb_db_file.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.xowa.bldrs.oimgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.dbs.tbls.*; public class Xodb_db_file { Xodb_db_file(Io_url url, Db_conn conn, boolean created) {this.url = url; this.conn = conn; this.created = created;} diff --git a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java index ceb437433..789aadeb2 100644 --- a/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_tst.java +++ b/400_xowa/src/gplx/xowa/bldrs/wiki_cfgs/Xoi_wiki_props_api_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.xowa.bldrs.wiki_cfgs; import gplx.*; import gplx.xowa.*; import gplx.xowa.bldrs.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; import gplx.xmls.*; import gplx.xowa.bldrs.cfgs.*; public class Xoi_wiki_props_api_tst { 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 6d3d1899f..5a3b74f4f 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr.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.ctgs; import gplx.*; import gplx.xowa.*; -import gplx.core.flds.*; +import gplx.core.primitives.*; import gplx.core.flds.*; public class Xoctg_idx_mgr implements GfoInvkAble { ListAdp itms = ListAdp_.new_(); public int Block_len() {return block_len;} public Xoctg_idx_mgr Block_len_(int v) {this.block_len = v; return this;} private int block_len = Io_mgr.Len_mb; diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java index 3bfc4c5c7..44e5e6db4 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_idx_mgr_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.xowa.ctgs; import gplx.*; import gplx.xowa.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Xoctg_idx_mgr_tst { @Before public void init() {fxt.Clear();} private Xoctg_idx_mgr_fxt fxt = new Xoctg_idx_mgr_fxt(); @Test public void Index() { diff --git a/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java index 29a2614b9..dd170cfe8 100644 --- a/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.java +++ b/400_xowa/src/gplx/xowa/ctgs/Xoctg_url.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.xowa.ctgs; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; public class Xoctg_url { public byte[][] Grp_idxs() {return grp_idxs;} private byte[][] grp_idxs = new byte[3][]; public byte[] Grp_fwds() {return grp_fwds;} private byte[] grp_fwds = new byte[3]; diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_ctx.java b/400_xowa/src/gplx/xowa/dbs/Xodb_ctx.java index f4fb1801c..3c551ef23 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_ctx.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_ctx.java @@ -18,4 +18,5 @@ along with this program. If not, see . package gplx.xowa.dbs; import gplx.*; import gplx.xowa.*; public class Xodb_ctx { public boolean Html_db_enabled() {return html_db_enabled;} public void Html_db_enabled_(boolean v) {html_db_enabled = v;} private boolean html_db_enabled; + public static final Xodb_ctx Null = null; } diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java index 9433dae64..8d7898df7 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr.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.dbs; import gplx.*; import gplx.xowa.*; -import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.specials.search.*; +import gplx.core.primitives.*; import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.specials.search.*; public interface Xodb_load_mgr { void Load_init (Xow_wiki wiki); void Load_page (Xodb_page rv, Xow_ns ns, boolean timestamp_enabled); 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 af6fe154b..af0732e15 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 @@ -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.dbs; import gplx.*; import gplx.xowa.*; -import gplx.dbs.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.apps.*; import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.specials.search.*; import gplx.xowa.dbs.tbls.*; public class Xodb_load_mgr_sql implements Xodb_load_mgr { public Xodb_load_mgr_sql(Xodb_mgr_sql db_mgr, Xodb_fsys_mgr fsys_mgr) {this.db_mgr = db_mgr; this.fsys_mgr = fsys_mgr;} private Xodb_mgr_sql db_mgr; Xodb_fsys_mgr fsys_mgr; diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java index 422a11f59..7da876b32 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_tst.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_load_mgr_sql_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.xowa.dbs; import gplx.*; import gplx.xowa.*; -import org.junit.*; import gplx.xowa.bldrs.*; import gplx.xowa.ctgs.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.xowa.bldrs.*; import gplx.xowa.ctgs.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; public class Xodb_load_mgr_sql_tst { @Before public void init() {if (Xoa_test_.Db_skip()) return; fxt.Clear();} private Xodb_load_mgr_sql_fxt fxt = new Xodb_load_mgr_sql_fxt(); @Test public void Load_ctg_ttls() { 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 96eba5552..7280a55b8 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 @@ -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.dbs; import gplx.*; import gplx.xowa.*; -import gplx.core.brys.*; import gplx.core.flds.*; import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.specials.search.*; +import gplx.core.primitives.*; import gplx.core.brys.*; import gplx.core.flds.*; import gplx.xowa.bldrs.imports.ctgs.*; import gplx.xowa.ctgs.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.specials.search.*; public class Xodb_load_mgr_txt implements Xodb_load_mgr { public Xodb_load_mgr_txt(Xow_wiki wiki) { this.wiki = wiki; diff --git a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java index 57da9429c..dc78eb3d6 100644 --- a/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.java +++ b/400_xowa/src/gplx/xowa/dbs/Xodb_mgr_sql.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.xowa.dbs; import gplx.*; import gplx.xowa.*; -import gplx.dbs.*; +import gplx.dbs.*; import gplx.dbs.engines.sqlite.*; import gplx.xowa.apps.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.ctgs.*; import gplx.xowa.hdumps.*; -import gplx.xowa2.wikis.data.tbls.*; +import gplx.xowa2.wikis.data.*; public class Xodb_mgr_sql implements Xodb_mgr, GfoInvkAble { private boolean html_db_enabled; public Xodb_mgr_sql(Xow_wiki wiki) { @@ -50,7 +50,7 @@ public class Xodb_mgr_sql implements Xodb_mgr, GfoInvkAble { public Xodb_save_mgr Save_mgr() {return save_mgr;} private Xodb_save_mgr_sql save_mgr; public Xodb_hdump_mgr Hdump_mgr() {return hdump_mgr;} private Xodb_hdump_mgr hdump_mgr; public Xodb_xowa_cfg_tbl Tbl_xowa_cfg() {return tbl_cfg;} private Xodb_xowa_cfg_tbl tbl_cfg = new Xodb_xowa_cfg_tbl(); - public Xodata_ns_regy_tbl Tbl_xowa_ns() {return tbl_ns;} private Xodata_ns_regy_tbl tbl_ns = new Xodata_ns_regy_tbl(); + public Xodb_xowa_ns_tbl Tbl_xowa_ns() {return tbl_ns;} private Xodb_xowa_ns_tbl tbl_ns = new Xodb_xowa_ns_tbl(); public Xodb_xowa_db_tbl Tbl_xowa_db() {return tbl_db;} private Xodb_xowa_db_tbl tbl_db = new Xodb_xowa_db_tbl(); public Xodb_page_tbl Tbl_page() {return tbl_page;} private Xodb_page_tbl tbl_page; public Xodb_text_tbl Tbl_text() {return tbl_text;} private Xodb_text_tbl tbl_text; @@ -168,7 +168,7 @@ public class Xodb_mgr_sql implements Xodb_mgr, GfoInvkAble { Xodb_file file = ary[i] ; if (file.Tid() != tid) continue; file.Rls(); - gplx.dbs.Db_url__sqlite sqlite = (gplx.dbs.Db_url__sqlite)file.Connect(); + Db_url__sqlite sqlite = (Db_url__sqlite)file.Connect(); Io_mgr._.DeleteFil_args(sqlite.Url()).MissingFails_off().Exec(); file.Cmd_mode_(Db_cmd_mode.Delete); } diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_itm.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_itm.java index f557e2032..9a982117d 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_itm.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_category_itm.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.xowa.ctgs.*; +import gplx.core.primitives.*; import gplx.xowa.ctgs.*; public class Xodb_category_itm { public int Id() {return id;} 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; diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_categorylinks_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_categorylinks_tbl.java index c4048d67d..77ee97f6b 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_categorylinks_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_categorylinks_tbl.java @@ -40,11 +40,11 @@ public class Xodb_categorylinks_tbl { } public int Select_by_type(Db_conn p, ListAdp list, int cat_page_id, byte arg_tid, byte[] arg_sortkey, boolean arg_is_from, int limit) { String arg_sortkey_str = arg_sortkey == null ? "" : String_.new_utf8_(arg_sortkey); - gplx.criterias.Criteria comp_crt = !arg_is_from + gplx.core.criterias.Criteria comp_crt = !arg_is_from ? Db_crt_.mte_(Fld_cl_sortkey, arg_sortkey_str) // from: sortkey >= 'val' : Db_crt_.lte_(Fld_cl_sortkey, arg_sortkey_str); // until: sortkey <= 'val' Db_qry_select qry = Db_qry_.select_().Cols_(Fld_cl_from, Fld_cl_sortkey).From_(Tbl_name) - .Where_(gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cl_to_id, -1), Db_crt_.eq_(Fld_cl_type_id, arg_tid), comp_crt)) + .Where_(gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_cl_to_id, -1), Db_crt_.eq_(Fld_cl_type_id, arg_tid), comp_crt)) .OrderBy_(Fld_cl_sortkey, !arg_is_from) .Limit_(limit + 1); // + 1 to get last_plus_one for next page / previous page Db_stmt stmt = Db_stmt_.Null; diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java index 03ac50d51..73f8aaafc 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_in_wkr_page.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.dbs.*; import gplx.criterias.*; +import gplx.dbs.*; import gplx.core.criterias.*; class Xodb_in_wkr_page_id extends Xodb_in_wkr_page_base { private ListAdp list; // list is original list of ids which may have dupes; needed to fill statement (which takes range of bgn - end); DATE:2013-12-08 private OrderedHash hash; // hash is unique list of ids; needed for fetch from rdr (which indexes by id) diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java index 6ef98ec9c..a7872404c 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_page_tbl.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.dbs.*; import gplx.criterias.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.core.criterias.*; public class Xodb_page_tbl { public static final String Tbl_name = "page" , Fld_page_id = "page_id", Fld_page_ns = "page_namespace", Fld_page_title = "page_title" @@ -226,7 +226,7 @@ public class Xodb_page_tbl { } public void Select_by_search(Cancelable cancelable, ListAdp rv, byte[] search, int results_max) { if (Bry_.Len_eq_0(search)) return; // do not allow empty search - Criteria crt = gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_page_ns, Xow_ns_.Id_main), Db_crt_.like_(Fld_page_title, "")); + Criteria crt = gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_page_ns, Xow_ns_.Id_main), Db_crt_.like_(Fld_page_title, "")); Db_qry_select qry = Db_qry_.select_().From_(Tbl_name).Cols_(Fld_page_id, Fld_page_len, Fld_page_ns, Fld_page_title).Where_(crt); // NOTE: use fields from main index only DataRdr rdr = DataRdr_.Null; Db_stmt stmt = Db_stmt_.Null; @@ -252,9 +252,9 @@ public class Xodb_page_tbl { return Bry_.Increment_last(rv, increment_pos); } public Db_stmt Select_for_parse_all_stmt(Db_conn p, int limit, byte redirect) { - Criteria crt = gplx.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_page_ns, -1), Db_crt_.mt_(Fld_page_title, "")); + Criteria crt = gplx.core.criterias.Criteria_.And_many(Db_crt_.eq_(Fld_page_ns, -1), Db_crt_.mt_(Fld_page_title, "")); if (redirect != Bool_.__byte) - crt = gplx.criterias.Criteria_.And(crt, Db_crt_.eq_(Fld_page_is_redirect, redirect)); + crt = gplx.core.criterias.Criteria_.And(crt, Db_crt_.eq_(Fld_page_is_redirect, redirect)); Db_qry_select qry = Db_qry_.select_().From_(Tbl_name).Cols_(html_db_enabled ? Flds_select_all__html_y : Flds_select_all__html_n) .Where_(crt) .Limit_(limit); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java index 06895fa79..5abb54ef7 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_search_title_word_tbl.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.dbs.*; +import gplx.core.primitives.*; import gplx.dbs.*; public class Xodb_search_title_word_tbl { public static void Create_table(Db_conn p) {Sqlite_engine_.Tbl_create(p, Tbl_name, Tbl_sql);} public static void Create_index(Gfo_usr_dlg usr_dlg, Db_conn p) {Sqlite_engine_.Idx_create(usr_dlg, p, "search", Indexes_main);} @@ -32,7 +32,7 @@ public class Xodb_search_title_word_tbl { .Cols_(Xodb_search_title_word_tbl.Fld_stw_word_id) .From_(Xodb_search_title_word_tbl.Tbl_name, "w") ; - gplx.criterias.Criteria crt = null; + gplx.core.criterias.Criteria crt = null; if (Bry_.Has(search, Byte_ascii.Asterisk)) { search = Bry_.Replace(search, Byte_ascii.Asterisk, Byte_ascii.Percent); crt = Db_crt_.like_ (Xodb_search_title_word_tbl.Fld_stw_word, String_.new_utf8_(search)); diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java index ae662b95a..26f1b869a 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_text_tbl.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.dbs.*; import gplx.ios.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.ios.*; public class Xodb_text_tbl { public Xodb_text_tbl(Xodb_mgr_sql db_mgr) {this.db_mgr = db_mgr; zip_mgr = db_mgr.Wiki().App().Zip_mgr();} private Xodb_mgr_sql db_mgr; private Io_stream_zip_mgr zip_mgr; public void Delete_all(Db_conn conn) {conn.Exec_qry(Db_qry_.delete_tbl_(Tbl_name));} diff --git a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java index 6d645ba73..78f247e42 100644 --- a/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.java +++ b/400_xowa/src/gplx/xowa/dbs/tbls/Xodb_xowa_cfg_tbl.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.dbs.tbls; import gplx.*; import gplx.xowa.*; import gplx.xowa.dbs.*; -import gplx.dbs.*; +import gplx.dbs.*; import gplx.core.primitives.*; public class Xodb_xowa_cfg_tbl { public Db_conn Conn() {return conn;} public Xodb_xowa_cfg_tbl Conn_(Db_conn conn) {this.conn = conn; return this;} Db_conn conn; private DataRdr Select(String grp) { @@ -88,7 +88,7 @@ public class Xodb_xowa_cfg_tbl { Db_qry qry = Db_qry_.update_common_(Tbl_name, Where_grp_key(grp, key), KeyVal_.new_(Fld_cfg_val, val)); conn.Exec_qry(qry); } - private gplx.criterias.Criteria Where_grp_key(String grp, String key) {return Db_crt_.eqMany_(KeyVal_.new_(Fld_cfg_grp, grp), KeyVal_.new_(Fld_cfg_key, key));} + private gplx.core.criterias.Criteria Where_grp_key(String grp, String key) {return Db_crt_.eq_many_(KeyVal_.new_(Fld_cfg_grp, grp), KeyVal_.new_(Fld_cfg_key, key));} public static final String Tbl_name = "xowa_cfg", Fld_cfg_grp = "cfg_grp", Fld_cfg_key = "cfg_key", Fld_cfg_val = "cfg_val"; public static void Create_table(Db_conn p) {Sqlite_engine_.Tbl_create(p, Tbl_name, Tbl_sql);} public static void Create_index(Db_conn p) {Sqlite_engine_.Idx_create(p, Idx_select);} diff --git a/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java b/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java index bcfec626a..ba47a1dd0 100644 --- a/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java +++ b/400_xowa/src/gplx/xowa/files/Xof_lnki_file_mgr.java @@ -37,7 +37,7 @@ public class Xof_lnki_file_mgr { page_init_needed = false; wiki.File_mgr().Fsdb_mgr().Init_by_wiki__add_bin_wkrs(wiki); // NOTE: fsdb_mgr may not be init'd for wiki; assert that that it is Create_xfer_itms(page.Lnki_list(), wiki.File_mgr().Fsdb_mgr().Patch_upright()); // NOTE: Patch_upright check must occur after Init_by_wiki; DATE:2014-05-31 - wiki.File_mgr().Fsdb_mgr().Reg_select_only(page, exec_tid, fsdb_list, orig_regy); + wiki.File_mgr().Fsdb_mgr().Orig_select_by_list(page, exec_tid, fsdb_list, orig_regy); Hash_xfer_itms(); } Xof_fsdb_itm fsdb_itm = (Xof_fsdb_itm)xfer_list.Fetch(xfer_itm.Lnki_ttl()); diff --git a/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java b/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java index caba4a88e..46a9429e7 100644 --- a/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java +++ b/400_xowa/src/gplx/xowa/files/Xow_file_mgr.java @@ -104,7 +104,7 @@ public class Xow_file_mgr implements GfoInvkAble { return meta.Orig_exists() == Bool_.Y_byte || meta.Thumbs().length != 0; } else - return fsdb_mgr.Reg_select_itm_exists(ttl_bry); + return fsdb_mgr.Orig_exists_by_ttl(ttl_bry); } public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { 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 997bd5cf3..0083dd93f 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.java +++ b/400_xowa/src/gplx/xowa/files/bins/Bin_fetcher.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.xowa.files.bins; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; interface Bin_fetcher { boolean Save_as_url(Io_url trg); boolean Save_as_bry(Bry_obj_ref bry); diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java index 52a3c79d5..6995cab9c 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_mgr.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.xowa.files.bins; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.cnvs.*; import gplx.ios.*; public class Xof_bin_mgr implements GfoInvkAble { private Xof_bin_wkr[] wkrs; private int wkrs_len; diff --git a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr_fsdb_sql.java b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr_fsdb_sql.java index 8c4b10b3d..35a4517f8 100644 --- a/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr_fsdb_sql.java +++ b/400_xowa/src/gplx/xowa/files/bins/Xof_bin_wkr_fsdb_sql.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.files.bins; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; import gplx.ios.*; import gplx.cache.*; import gplx.fsdb.*; import gplx.xowa.files.fsdb.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.ios.*; import gplx.cache.*; import gplx.fsdb.*; import gplx.xowa.files.fsdb.*; public class Xof_bin_wkr_fsdb_sql implements Xof_bin_wkr, GfoInvkAble { private byte[] bin_bfr; private int bin_flush_when = Io_mgr.Len_mb; private Int_obj_ref tmp_itm_id = Int_obj_ref.neg1_(), tmp_bin_db_id = Int_obj_ref.neg1_(), tmp_mnt_id = Int_obj_ref.neg1_(); diff --git a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img.java b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img.java index e1ca24c63..ae3c808ba 100644 --- a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img.java +++ b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img.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.xowa.files.cnvs; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; public interface Xof_img_wkr_resize_img { boolean Exec(Io_url src, Io_url trg, int trg_w, int trg_h, int ext_id, String_obj_ref rslt_val); } diff --git a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java index 51eddef2c..26f4ddfe3 100644 --- a/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.java +++ b/400_xowa/src/gplx/xowa/files/cnvs/Xof_img_wkr_resize_img_imageMagick.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.xowa.files.cnvs; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; public class Xof_img_wkr_resize_img_imageMagick implements Xof_img_wkr_resize_img { boolean init_needed = true; public Xof_img_wkr_resize_img_imageMagick(Xoa_app app, ProcessAdp cmd_convert, ProcessAdp cmd_convert_svg_to_png) {this.app = app; this.cmd_convert = cmd_convert; this.cmd_convert_svg_to_png = cmd_convert_svg_to_png;} ProcessAdp cmd_convert, cmd_convert_svg_to_png; Xoa_app app; 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 b57c8a32f..9bf8b72f0 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 @@ -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.files.cnvs; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.gfui.*; import gplx.xowa.files.cnvs.*; +import gplx.core.primitives.*; import gplx.gfui.*; import gplx.xowa.files.cnvs.*; public class Xof_img_wkr_resize_img_mok implements Xof_img_wkr_resize_img { public boolean 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(); diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java index 597da2234..b84e97925 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr.java @@ -26,18 +26,19 @@ public interface Xof_fsdb_mgr extends RlsAble { Xof_qry_mgr Qry_mgr(); Xof_bin_mgr Bin_mgr(); Xof_bin_wkr Bin_wkr_fsdb(); - Gfo_usr_dlg Usr_dlg(); Fsdb_mnt_mgr Mnt_mgr(); Cache_mgr Cache_mgr(); void Db_bin_max_(long v); void Init_by_wiki(Xow_wiki wiki, Io_url db_dir, Io_url fs_dir, Xow_repo_mgr repo_mgr); boolean Init_by_wiki(Xow_wiki wiki); boolean Init_by_wiki__add_bin_wkrs(Xow_wiki wiki); + + boolean Orig_exists_by_ttl(byte[] ttl); + void Orig_select_by_list(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash); + void Fsdb_search_by_list(Xoa_page page, byte exec_tid, ListAdp itms); + void Img_insert(Fsdb_xtn_img_itm rv, byte[] dir, byte[] fil, int ext_id, int img_w, int img_h, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr); void Thm_insert(Fsdb_xtn_thm_itm rv, byte[] dir, byte[] fil, int ext_id, int thm_w, int thm_h, double thumbtime, int page, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr); void Fil_insert(Fsdb_fil_itm rv , byte[] dir, byte[] fil, int ext_id, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr); - void Reg_insert(Xof_fsdb_itm itm, byte repo_id, byte status); - void Reg_select(Xoa_page page, byte exec_tid, ListAdp itms); - void Reg_select_only(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash); - boolean Reg_select_itm_exists(byte[] ttl); + void Orig_insert(Xof_fsdb_itm itm, byte repo_id, byte status); } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_.java index 1ccec8700..60949a9cd 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_.java @@ -53,32 +53,32 @@ public class Xof_fsdb_mgr_ { if (fsdb_mgr.Qry_mgr().Find(exec_tid, itm)) { Xof_repo_pair repo_pair = repo_mgr.Repos_get_by_wiki(itm.Orig_wiki()); if (repo_pair == null) { - fsdb_mgr.Reg_insert(itm, Xof_repo_itm.Repo_unknown, Xof_wiki_orig_wkr_.Tid_missing_qry); + fsdb_mgr.Orig_insert(itm, Xof_repo_itm.Repo_unknown, Xof_wiki_orig_wkr_.Tid_missing_qry); return; } byte orig_wiki = repo_pair.Repo_id(); // NOTE: should be itm.Orig_repo, but throws null refs if (Is_not_viewable(exec_tid, itm.Lnki_ext())) { itm.Rslt_qry_(Xof_qry_wkr_.Tid_mock); itm.Rslt_bin_(Xof_bin_wkr_.Tid_noop); - fsdb_mgr.Reg_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_noop); + fsdb_mgr.Orig_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_noop); return; } if (fsdb_mgr.Bin_mgr().Find_to_url_as_bool(ListAdp_.Null, exec_tid, itm)) { - fsdb_mgr.Reg_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_found_orig); + fsdb_mgr.Orig_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_found_orig); // TODO: this "breaks" tests b/c mock bin_wkr is fsdb; if (itm.Rslt_bin() != Xof_bin_wkr_.Tid_fsdb_wiki) // if bin is from fsdb, don't save it; occurs when page has new file listed twice; 1st file inserts into fsdb; 2nd file should find in fsdb and not save again - Fsdb_save(fsdb_mgr, itm); + Fsdb_save(usr_dlg, fsdb_mgr, itm); Js_img_mgr.Update_img(page, itm); } else { usr_dlg.Warn_many("", "", "file not found: page=~{0} file=~{1} width=~{2}", page.Url().Xto_full_str_safe(), String_.new_utf8_(itm.Lnki_ttl()), itm.Lnki_w()); itm.Rslt_bin_(Xof_bin_wkr_.Tid_not_found); - fsdb_mgr.Reg_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_missing_bin); + fsdb_mgr.Orig_insert(itm, orig_wiki, Xof_wiki_orig_wkr_.Tid_missing_bin); // gplx.xowa.files.gui.Js_img_mgr.Update_img_missing(usr_dlg, itm.Html_uid()); // TODO: update caption with "" if image is missing } } else { - fsdb_mgr.Reg_insert(itm, Xof_repo_itm.Repo_unknown, Xof_wiki_orig_wkr_.Tid_missing_qry); + fsdb_mgr.Orig_insert(itm, Xof_repo_itm.Repo_unknown, Xof_wiki_orig_wkr_.Tid_missing_qry); // gplx.xowa.files.gui.Js_img_mgr.Update_img_missing(usr_dlg, itm.Html_uid()); // TODO: update caption with "" if image is missing } } @@ -110,7 +110,7 @@ public class Xof_fsdb_mgr_ { default: throw Err_.unhandled(itm.Rslt_reg()); } } - private void Fsdb_save(Xof_fsdb_mgr fsdb_mgr, Xof_fsdb_itm itm) { + private void Fsdb_save(Gfo_usr_dlg usr_dlg, Xof_fsdb_mgr fsdb_mgr, Xof_fsdb_itm itm) { Io_url html_url = itm.Html_url(); long bin_len = Io_mgr._.QueryFil(html_url).Size(); gplx.ios.Io_stream_rdr bin_rdr = gplx.ios.Io_stream_rdr_.file_(html_url); @@ -140,7 +140,7 @@ public class Xof_fsdb_mgr_ { fsdb_mgr.Cache_mgr().Reg(fsdb_mgr.Wiki(), itm, bin_len); } catch (Exception e) { - fsdb_mgr.Usr_dlg().Warn_many("", "", "failed to save file: ttl=~{0} url=~{1} err=~{2}", String_.new_utf8_(itm.Lnki_ttl()), html_url.Raw(), Err_.Message_gplx(e)); + usr_dlg.Warn_many("", "", "failed to save file: ttl=~{0} url=~{1} err=~{2}", String_.new_utf8_(itm.Lnki_ttl()), html_url.Raw(), Err_.Message_gplx(e)); } finally {bin_rdr.Rls();} } diff --git a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java index 862fffe48..abd074d6b 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/Xof_fsdb_mgr_mem.java @@ -18,6 +18,7 @@ along with this program. If not, see . package gplx.xowa.files.fsdb; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.fsdb.*; import gplx.xowa.files.wiki_orig.*; import gplx.xowa.files.qrys.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.fsdb.caches.*; +import gplx.xowa2.files.orig_regy.*; public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { private Hash_adp_bry bin_hash = Hash_adp_bry.cs_(); private Bry_bfr bin_key_bfr = Bry_bfr.new_(); private Hash_adp_bry reg_hash = Hash_adp_bry.cs_(); @@ -28,7 +29,6 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { public Xof_bin_wkr Bin_wkr_fsdb() {return this;} public boolean Bin_wkr_resize() {return bin_wkr_resize;} public void Bin_wkr_resize_(boolean v) {bin_wkr_resize = v;} private boolean bin_wkr_resize = false; public void Db_bin_max_(long v) {} - public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Null; private Io_url fs_dir; private Xof_url_bldr url_bldr = new Xof_url_bldr(); public Cache_mgr Cache_mgr() {return cache_mgr;} private Cache_mgr cache_mgr = new Cache_mgr(null); @@ -36,7 +36,7 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { public Fsdb_mnt_mgr Mnt_mgr() {throw Err_.not_implemented_();} public boolean Init_by_wiki(Xow_wiki wiki) {throw Err_.not_implemented_();} public boolean Init_by_wiki__add_bin_wkrs(Xow_wiki wiki) {throw Err_.not_implemented_();} - public void Reg_select_only(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) {throw Err_.not_implemented_();} + public void Orig_select_by_list(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) {throw Err_.not_implemented_();} public void Init_by_wiki(Xow_wiki wiki, Io_url db_dir, Io_url fs_dir, Xow_repo_mgr repo_mgr) { this.fs_dir = fs_dir; this.wiki = wiki; @@ -64,13 +64,13 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { itm.Init(key, dir, fil, img_w, img_h, bin); bin_hash.Add(key, itm); } - public void Reg_insert(Xof_fsdb_itm fsdb_itm, byte repo_id, byte status) { + public void Orig_insert(Xof_fsdb_itm fsdb_itm, byte repo_id, byte status) { byte[] fsdb_itm_ttl = fsdb_itm.Orig_ttl(); if (reg_hash.Has(fsdb_itm_ttl)) return; Xof_orig_regy_itm regy_itm = new Xof_orig_regy_itm(fsdb_itm_ttl, status, repo_id, fsdb_itm.Orig_w(), fsdb_itm.Orig_h(), fsdb_itm.Lnki_ext().Id(), fsdb_itm.Orig_redirect()); reg_hash.Add(fsdb_itm_ttl, regy_itm); } - public void Reg_select(Xoa_page page, byte exec_tid, ListAdp itms) { + public void Fsdb_search_by_list(Xoa_page page, byte exec_tid, ListAdp itms) { int itms_len = itms.Count(); for (int i = 0; i < itms_len; i++) { Xof_fsdb_itm itm = (Xof_fsdb_itm)itms.FetchAt(i); @@ -92,7 +92,7 @@ public class Xof_fsdb_mgr_mem implements Xof_fsdb_mgr, Xof_bin_wkr { } Xof_fsdb_mgr_._.Fsdb_search(this, fs_dir, page, exec_tid, itms, bin_mgr.Repo_mgr(), url_bldr); } - public boolean Reg_select_itm_exists(byte[] ttl) {return reg_hash.Has(ttl);} + public boolean Orig_exists_by_ttl(byte[] ttl) {return reg_hash.Has(ttl);} public byte Bin_wkr_tid() {return Xof_bin_wkr_.Tid_fsdb_wiki;} public gplx.ios.Io_stream_rdr Bin_wkr_get_as_rdr(ListAdp temp_files, Xof_fsdb_itm itm, boolean is_thumb, int w) { byte[] wiki = itm.Orig_wiki(); 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 156db20af..8a9368a7a 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 @@ -16,11 +16,13 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files.fsdb; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.fsdb.*; import gplx.xowa.files.wiki_orig.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.qrys.*; import gplx.xowa.files.fsdb.caches.*; import gplx.xowa.files.fsdb.fs_roots.*; import gplx.xowa2.files.*; public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { - private Db_conn img_regy_provider = null; + private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Null; + private Db_conn orig_regy_conn = null; private Io_url app_file_dir; private Xof_url_bldr url_bldr = Xof_url_bldr.new_v2_(); public boolean Tid_is_mem() {return false;} @@ -44,7 +46,6 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { return patch_upright_tid; } private boolean patch_upright_null = true; private int patch_upright_tid; public Io_url Db_dir() {return db_dir;} public Xof_fsdb_mgr_sql Db_dir_(Io_url v) {db_dir = v; mnt_mgr.Init(db_dir); return this;} private Io_url db_dir; - public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_.Null; public Cache_mgr Cache_mgr() {return cache_mgr;} private Cache_mgr cache_mgr; public Xow_wiki Wiki() {return wiki;} private Xow_wiki wiki; public Xof_fsdb_mgr_sql(Xow_wiki wiki) {this.wiki = wiki;} @@ -68,7 +69,7 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { init = true; Xow_repo_mgr repo_mgr = wiki.File_mgr().Repo_mgr(); Init_by_wiki(wiki, wiki.App().Fsys_mgr().File_dir().GenSubDir(wiki.Domain_str()), wiki.App().Fsys_mgr().File_dir(), repo_mgr); - Xof_qry_wkr_xowa_reg qry_xowa = new Xof_qry_wkr_xowa_reg(img_regy_provider); + Xof_qry_wkr_xowa_reg qry_xowa = new Xof_qry_wkr_xowa_reg(orig_regy_conn); // Xof_qry_wkr_xowa qry_xowa = new Xof_qry_wkr_xowa(new Xof_wiki_finder(wiki.App().Wiki_mgr().Get_by_key_or_make(Xow_wiki_.Domain_commons_bry), wiki), new gplx.xowa.files.qrys.Xof_img_meta_wkr_xowa()); Xof_qry_wkr_wmf_api qry_wmf_api = new Xof_qry_wkr_wmf_api(wiki, new Xof_img_wkr_api_size_base_wmf()); qry_mgr.Add_many(qry_xowa, qry_wmf_api); @@ -80,19 +81,19 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { public void Init_by_wiki(Xow_wiki wiki, Io_url db_dir, Io_url app_file_dir, Xow_repo_mgr repo_mgr) { this.app_file_dir = app_file_dir; this.db_dir = db_dir; - img_regy_provider = Wiki_orig_provider(db_dir); + orig_regy_conn = Wiki_orig_provider(db_dir); mnt_mgr.Init(db_dir); bin_mgr = new Xof_bin_mgr(wiki, this, repo_mgr); bin_wkr_fsdb = new Xof_bin_wkr_fsdb_sql(this).Bin_bfr_len_(64 * Io_mgr.Len_kb); // most thumbs are 40 kb cache_mgr = wiki.App().File_mgr().Cache_mgr(); } private boolean init = false; - public boolean Reg_select_itm_exists(byte[] ttl) {return Xof_wiki_orig_tbl.Select_itm_exists(img_regy_provider, ttl);} - public void Reg_select_only(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) { - Xof_wiki_orig_tbl.Select_list(wiki.App().Usr_dlg(), img_regy_provider, wiki.Db_mgr().Db_ctx(), exec_tid, itms, hash, url_bldr, bin_mgr.Repo_mgr()); + public boolean Orig_exists_by_ttl(byte[] ttl) {return Xof_wiki_orig_tbl.Select_itm_exists(orig_regy_conn, ttl);} + public void Orig_select_by_list(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) { + Xof_wiki_orig_tbl.Select_list(wiki.App().Usr_dlg(), orig_regy_conn, wiki.Db_mgr().Db_ctx(), exec_tid, itms, hash, url_bldr, bin_mgr.Repo_mgr()); } - public void Reg_select(Xoa_page page, byte exec_tid, ListAdp itms) { + public void Fsdb_search_by_list(Xoa_page page, byte exec_tid, ListAdp itms) { OrderedHash hash = OrderedHash_.new_bry_(); - Reg_select_only(page, exec_tid, itms, hash); + Orig_select_by_list(page, exec_tid, itms, hash); Xof_fsdb_mgr_._.Fsdb_search(this, app_file_dir, page, exec_tid, itms, bin_mgr.Repo_mgr(), url_bldr); } public boolean Download(Xofv_file_itm itm) { @@ -105,10 +106,10 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { } public Fsdb_fil_itm Fil_select_bin(byte[] dir, byte[] fil, boolean is_thumb, int width, double thumbtime) {return mnt_mgr.Fil_select_bin(dir, fil, is_thumb, width, thumbtime);} public boolean Thm_select_bin(byte[] dir, byte[] fil, Fsdb_xtn_thm_itm thm) {return mnt_mgr.Thm_select_bin(dir, fil, thm);} - public void Reg_insert(Xof_fsdb_itm itm, byte repo_id, byte status) { + public void Orig_insert(Xof_fsdb_itm itm, byte repo_id, byte status) { byte[] orig_page = itm.Orig_ttl(); - if (!Xof_wiki_orig_tbl.Select_itm_exists(img_regy_provider, orig_page)) - Xof_wiki_orig_tbl.Insert(img_regy_provider, orig_page, status, repo_id, itm.Orig_redirect(), itm.Lnki_ext().Id(), itm.Orig_w(), itm.Orig_h()); + if (!Xof_wiki_orig_tbl.Select_itm_exists(orig_regy_conn, orig_page)) + Xof_wiki_orig_tbl.Insert(orig_regy_conn, orig_page, status, repo_id, itm.Orig_redirect(), itm.Lnki_ext().Id(), itm.Orig_w(), itm.Orig_h()); } public void Fil_insert(Fsdb_fil_itm rv , byte[] dir, byte[] fil, int ext_id, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr) { mnt_mgr.Fil_insert(rv, dir, fil, ext_id, modified, hash, bin_len, bin_rdr); @@ -121,16 +122,16 @@ public class Xof_fsdb_mgr_sql implements Xof_fsdb_mgr, GfoInvkAble { } public void Txn_open() { mnt_mgr.Txn_open(); - img_regy_provider.Txn_mgr().Txn_bgn_if_none(); + orig_regy_conn.Txn_mgr().Txn_bgn_if_none(); } public void Txn_save() { mnt_mgr.Txn_save(); - img_regy_provider.Txn_mgr().Txn_end_all(); + orig_regy_conn.Txn_mgr().Txn_end_all(); } public void Rls() { this.Txn_save(); // NOTE: must call save, else user db will not update next id; DATE:2014-02-11 mnt_mgr.Rls(); - img_regy_provider.Conn_term(); + orig_regy_conn.Conn_term(); } public static Io_url Wiki_orig_url(Io_url root_dir) {return root_dir.GenSubFil("wiki.orig#00.sqlite3");} public static Db_conn Wiki_orig_provider(Io_url root_dir) { diff --git a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_mgr.java index 077e72bd2..101a2924d 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_fil_mgr.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.xowa.files.fsdb.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.fsdb.*; class Cache_fil_mgr { diff --git a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_mgr.java b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_mgr.java index 1ab935cde..ec46e4fa4 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_mgr.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/caches/Cache_mgr.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.xowa.files.fsdb.caches; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.users.dbs.*; import gplx.xowa2.files.*; public class Cache_mgr implements Xou_db_wkr, GfoInvkAble { diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java index 1e5b11a87..787c18215 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_dir.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.xowa.files.fsdb.fs_roots; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.gfui.*; import gplx.fsdb.*; import gplx.xowa.files.wiki_orig.*; class Fs_root_dir { 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 2bc16d519..cc3cf9705 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 @@ -20,13 +20,12 @@ import gplx.ios.*; import gplx.fsdb.*; import gplx.xowa.files.qrys.*; import gplx.xowa.files.bins.*; import gplx.xowa.files.fsdb.caches.*; import gplx.xowa.files.gui.*; -public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { +public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { // read images from file-system dir public boolean Tid_is_mem() {return false;} public Xow_wiki Wiki() {return wiki;} private Xow_wiki wiki; public Xof_qry_mgr Qry_mgr() {throw Err_.not_implemented_();} public Xof_bin_mgr Bin_mgr() {throw Err_.not_implemented_();} public Xof_bin_wkr Bin_wkr_fsdb() {throw Err_.not_implemented_();} - public Gfo_usr_dlg Usr_dlg() {return usr_dlg;} private Gfo_usr_dlg usr_dlg; public Cache_mgr Cache_mgr() {throw Err_.not_implemented_();} public void Db_bin_max_(long v) {throw Err_.not_implemented_();} public int Patch_upright() {return Xof_patch_upright_tid_.Tid_all;} @@ -34,17 +33,16 @@ public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { public void Img_insert(Fsdb_xtn_img_itm rv, byte[] dir, byte[] fil, int ext_id, int img_w, int img_h, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr) {throw Err_.not_implemented_();} public void Thm_insert(Fsdb_xtn_thm_itm rv, byte[] dir, byte[] fil, int ext_id, int thm_w, int thm_h, double thumbtime, int page, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr) {throw Err_.not_implemented_();} public void Fil_insert(Fsdb_fil_itm rv , byte[] dir, byte[] fil, int ext_id, DateAdp modified, String hash, long bin_len, gplx.ios.Io_stream_rdr bin_rdr) {throw Err_.not_implemented_();} - public void Reg_insert(Xof_fsdb_itm itm, byte repo_id, byte status) {throw Err_.not_implemented_();} + public void Orig_insert(Xof_fsdb_itm itm, byte repo_id, byte status) {throw Err_.not_implemented_();} private Fs_root_wkr_fsdb fsdb_wkr; public Fs_root_fsdb_mgr(Xow_wiki wiki) {this.Init_by_wiki(wiki); fsdb_wkr = new Fs_root_wkr_fsdb(wiki);} public boolean Init_by_wiki(Xow_wiki wiki) { this.wiki = wiki; - this.usr_dlg = wiki.App().Usr_dlg(); return true; } public boolean Init_by_wiki__add_bin_wkrs(Xow_wiki wiki) {return this.Init_by_wiki(wiki);} public void Init_by_wiki(Xow_wiki wiki, Io_url db_dir, Io_url fs_dir, Xow_repo_mgr repo_mgr) {this.Init_by_wiki(wiki);} - public void Reg_select(Xoa_page page, byte exec_tid, ListAdp itms) { + public void Fsdb_search_by_list(Xoa_page page, byte exec_tid, ListAdp itms) { int itms_len = itms.Count(); for (int i = 0; i < itms_len; i++) { Xof_fsdb_itm itm = (Xof_fsdb_itm)itms.FetchAt(i); @@ -52,8 +50,8 @@ public class Fs_root_fsdb_mgr implements Xof_fsdb_mgr, GfoInvkAble { Js_img_mgr.Update_img(page, itm); } } - public void Reg_select_only(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) {} - public boolean Reg_select_itm_exists(byte[] ttl) {throw Err_.not_implemented_();} + public void Orig_select_by_list(Xoa_page page, byte exec_tid, ListAdp itms, OrderedHash hash) {} + public boolean Orig_exists_by_ttl(byte[] ttl) {throw Err_.not_implemented_();} public void Rls() {} private Io_url Xto_url(byte[] v) { if (Op_sys.Cur().Tid_is_wnt()) diff --git a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java index 2e476bc75..d4a66b55a 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/fs_roots/Fs_root_wkr_fsdb.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.files.fsdb.fs_roots; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; -import gplx.dbs.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.fsdb.*; public class Fs_root_wkr_fsdb { private Xow_wiki wiki; diff --git a/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java b/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java index 96ac748f2..afe3cc9ff 100644 --- a/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java +++ b/400_xowa/src/gplx/xowa/files/fsdb/tsts/Xof_file_fxt.java @@ -68,7 +68,7 @@ class Xof_file_fxt { Xof_fsdb_itm itm = itm_(String_.new_utf8_(arg.Ttl()), arg.Lnki_type(), arg.Lnki_w(), arg.Lnki_h(), arg.Lnki_upright(), arg.Lnki_thumbtime()); ListAdp itms_list = ListAdp_.new_(); itms_list.Add(itm); - fsdb_mgr.Reg_select(Xoa_page.Empty, arg.Exec_tid(), itms_list); + fsdb_mgr.Fsdb_search_by_list(Xoa_page.Empty, arg.Exec_tid(), itms_list); if (arg.Rslt_reg() != Xof_wiki_orig_wkr_.Tid_null) Tfds.Eq(arg.Rslt_reg(), itm.Rslt_reg(), "rslt_reg"); if (arg.Rslt_qry() != Xof_qry_wkr_.Tid_null) Tfds.Eq(arg.Rslt_qry(), itm.Rslt_qry(), "rslt_qry"); if (arg.Rslt_bin() != Xof_bin_wkr_.Tid_null) Tfds.Eq(arg.Rslt_bin(), itm.Rslt_bin(), "rslt_bin"); @@ -104,7 +104,7 @@ class Xof_file_fxt { Xof_fsdb_itm itm = itm_(ttl, Xop_lnki_type.Id_null, Xop_lnki_tkn.Width_null, Xop_lnki_tkn.Height_null, Xop_lnki_tkn.Upright_null, Xof_doc_thumb.Null_as_int); ListAdp list = ListAdp_.new_(); list.Add(itm); - fsdb_mgr.Reg_select(Xoa_page.Empty, Xof_exec_tid.Tid_wiki_page, list); + fsdb_mgr.Fsdb_search_by_list(Xoa_page.Empty, Xof_exec_tid.Tid_wiki_page, list); return itm; } public static String file_img_(int w, int h) {return String_.Format("{0},{1}", w, h);} diff --git a/400_xowa/src/gplx/xowa/files/qrys/Xof_qry_wkr_xowa_reg.java b/400_xowa/src/gplx/xowa/files/qrys/Xof_qry_wkr_xowa_reg.java index 60293fcd7..b73e96436 100644 --- a/400_xowa/src/gplx/xowa/files/qrys/Xof_qry_wkr_xowa_reg.java +++ b/400_xowa/src/gplx/xowa/files/qrys/Xof_qry_wkr_xowa_reg.java @@ -17,6 +17,7 @@ along with this program. If not, see . */ package gplx.xowa.files.qrys; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; import gplx.xowa.files.fsdb.*; import gplx.xowa.files.wiki_orig.*; +import gplx.xowa2.files.orig_regy.*; public class Xof_qry_wkr_xowa_reg implements Xof_qry_wkr { private Db_conn conn; public Xof_qry_wkr_xowa_reg(Db_conn p) {this.conn = p;} diff --git a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_orig_regy_tbl.java b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_orig_regy_tbl.java deleted file mode 100644 index 8f999b5a9..000000000 --- a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_orig_regy_tbl.java +++ /dev/null @@ -1,114 +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.xowa.files.wiki_orig; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.files.fsdb.*; -public class Xof_orig_regy_tbl implements Db_conn_itm { - public void Conn_term() {} - public Xof_orig_regy_tbl() { - Ctor_for_meta(); - } - public Db_conn Conn() {return conn;} public Xof_orig_regy_tbl Conn_(Db_conn v) {conn = v; conn.Itms_add(this); return this;} private Db_conn conn; -// public void Select_list(Cancelable cancelable, Xodb_ctx db_ctx, byte exec_tid, ListAdp itms, OrderedHash hash, Xof_url_bldr url_bldr, Xow_repo_mgr repo_mgr) { -// Xof_wiki_orig_tbl_in_wkr in_wkr = new Xof_wiki_orig_tbl_in_wkr(); -// in_wkr.Init(itms, hash); -// in_wkr.Select_in(p, cancelable, db_ctx, 0, itms.Count()); -// Xof_wiki_orig_tbl_evaluator.Rdr_done(exec_tid, itms, hash, url_bldr, repo_mgr); -// } - public boolean Select_itm_exists(byte[] ttl) {return Select_itm(ttl) != Xof_orig_regy_itm.Null;} - public Xof_orig_regy_itm Select_itm(byte[] ttl) { - Xof_orig_regy_itm rv = Xof_orig_regy_itm.Null; - Db_rdr rdr = Db_rdr_.Null; - try { - Db_stmt stmt = conn.New_stmt_select_all_where(tbl_name, Flds.Xto_str_ary(), Fld_orig_ttl); - rdr = stmt.Clear().Val_bry_as_str(ttl).Exec_select_as_rdr(); - if (rdr.Move_next()) - rv = Make_itm(rdr); - } - catch (Exception e) { - Tfds.WriteText(Err_.Message_gplx(e)); - } - finally {rdr.Rls();} - return rv; - } - public void Insert(byte repo, byte[] ttl, int ext, int w, int h, byte[] redirect) { - Db_stmt stmt = Db_stmt_.Null; - try { - stmt = conn.New_stmt_insert(tbl_name, Flds.Xto_str_ary()); - stmt.Clear() - .Val_byte(repo).Val_bry_as_str(ttl).Val_int(ext).Val_int(w).Val_int(h).Val_bry_as_str(redirect) - .Exec_insert(); - } finally {stmt.Rls();} - } - private String tbl_name = "file_orig_regy"; - private String Fld_orig_repo, Fld_orig_ttl, Fld_orig_ext, Fld_orig_w, Fld_orig_h, Fld_orig_redirect; - private final Db_meta_fld_list Flds = Db_meta_fld_list.new_(); - private void Ctor_for_meta() { - tbl_name = "wiki_orig"; - Fld_orig_repo = Flds.Add_byte("orig_repo"); - Fld_orig_ttl = Flds.Add_str("orig_ttl", 1024); - Fld_orig_ext = Flds.Add_int("orig_ext"); - Fld_orig_w = Flds.Add_int("orig_w"); - Fld_orig_h = Flds.Add_int("orig_h"); - Fld_orig_redirect = Flds.Add_str("orig_redirect", 1024); - } - public Db_meta_tbl new_meta() { - return Db_meta_tbl.new_(tbl_name, Flds.Xto_fld_ary() - , Db_meta_idx.new_unique(tbl_name, "key" , Fld_orig_ttl) - ); - } - private Xof_orig_regy_itm Make_itm(Db_rdr rdr) { - Xof_orig_regy_itm rv = new Xof_orig_regy_itm - ( rdr.Read_bry_by_str(Fld_orig_ttl) - , Xof_wiki_orig_wkr_.Tid_found_orig - , rdr.Read_byte(Fld_orig_repo) - , rdr.Read_int(Fld_orig_w) - , rdr.Read_int(Fld_orig_h) - , rdr.Read_int(Fld_orig_ext) - , rdr.Read_bry_by_str(Fld_orig_redirect) - ); - return rv; - } -} -abstract class Db_in_wkr__base { - public abstract int Interval(); - public abstract Db_qry Make_qry (Object db_ctx, int bgn, int end); - public abstract void Fill_stmt (Db_stmt stmt, int bgn, int end); - public abstract void Read_data (Cancelable cancelable, Object db_ctx, Db_rdr rdr); - public void Select_in(Cancelable cancelable, Object db_ctx, Db_conn conn, int full_bgn, int full_end) { - Db_rdr rdr = Db_rdr_.Null; - Db_stmt stmt = Db_stmt_.Null; - int part_len = Interval(); - for (int part_bgn = full_bgn; part_bgn < full_end; part_bgn += part_len) { - int part_end = part_bgn + part_len; - if (part_end > full_end) part_end = full_end; - try { - stmt = conn.New_stmt(Make_qry(db_ctx, part_bgn, part_end)); - Fill_stmt(stmt, part_bgn, part_end); - rdr = stmt.Exec_select_as_rdr(); - Read_data(cancelable, db_ctx, rdr); - } - finally {rdr.Rls(); stmt.Rls();} - } - } - public static Object[] In_ary(int len) { - Object[] rv = new Object[len]; - for (int i = 0; i < len; i++) - rv[i] = ""; - return rv; - } -} diff --git a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java index b8f1414dd..ca1271d60 100644 --- a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.java +++ b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl.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.files.wiki_orig; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; -import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.files.fsdb.*; +import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.files.fsdb.*; import gplx.xowa2.files.orig_regy.*; public class Xof_wiki_orig_tbl { public static void Create_table(Db_conn p) { Sqlite_engine_.Tbl_create(p, Tbl_name, Tbl_sql); diff --git a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java index 6af128215..5fed53b8a 100644 --- a/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java +++ b/400_xowa/src/gplx/xowa/files/wiki_orig/Xof_wiki_orig_tbl_in_wkr.java @@ -16,7 +16,9 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package gplx.xowa.files.wiki_orig; import gplx.*; import gplx.xowa.*; import gplx.xowa.files.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.dbs.*; import gplx.xowa.files.fsdb.*; +import gplx.xowa2.files.orig_regy.*; class Xof_wiki_orig_tbl_in_wkr extends gplx.xowa.dbs.tbls.Xodb_in_wkr_base { private ListAdp itms_all; @Override public int Interval() {return Sqlite_engine_.Stmt_arg_max;} diff --git a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java index b063cf783..51b43a86f 100644 --- a/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.java +++ b/400_xowa/src/gplx/xowa/gui/bnds/Xog_bnd_mgr_srl.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.gui.bnds; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; -import gplx.srls.dsvs.*; import gplx.gfui.*; import gplx.xowa.cfgs2.*; +import gplx.core.primitives.*; import gplx.srls.dsvs.*; import gplx.gfui.*; import gplx.xowa.cfgs2.*; public class Xog_bnd_mgr_srl extends Dsv_wkr_base { private Xoa_app app; private Xog_bnd_mgr bnd_mgr; 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 8925ff516..8e52601f0 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 @@ -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.gui.views; import gplx.*; import gplx.xowa.*; import gplx.xowa.gui.*; -import gplx.core.btries.*; import gplx.gfui.*; import gplx.html.*; import gplx.xowa.gui.menus.*; import gplx.xowa.gui.menus.dom.*; import gplx.xowa.html.modules.*; import gplx.xowa.pages.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.gfui.*; import gplx.html.*; import gplx.xowa.gui.menus.*; import gplx.xowa.gui.menus.dom.*; import gplx.xowa.html.modules.*; import gplx.xowa.pages.*; public class Xog_html_itm implements GfoInvkAble, GfoEvObj { private Xoa_app app; public Xog_html_itm(Xog_tab_itm owner_tab) { diff --git a/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java b/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java index 868d44c62..f32764593 100644 --- a/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/Xowd_hdump_mgr.java @@ -20,7 +20,7 @@ import gplx.intl.*; import gplx.dbs.*; import gplx.xowa.html.hzips.*; import gplx.xowa.hdumps.core.*; import gplx.xowa.hdumps.loads.*; import gplx.xowa.hdumps.htmls.*; import gplx.xowa.apps.fsys.*; import gplx.xowa2.apps.*; import gplx.xowa2.wikis.*; import gplx.xowa2.wikis.data.*; import gplx.xowa2.gui.*; public class Xowd_hdump_mgr { - private final Xoav_app app; private final Xowv_wiki wiki; private final Xodata_db_mgr wiki_db_mgr; + private final Xoav_app app; private final Xowv_wiki wiki; private final Xowd_data_mgr wiki_db_mgr; private Xodb_page dbpg = new Xodb_page(); private Hdump_load_mgr load_mgr = new Hdump_load_mgr(); private Hdump_html_body html_body = new Hdump_html_body(); @@ -29,10 +29,10 @@ public class Xowd_hdump_mgr { html_body.Init_by_app(app.Usr_dlg(), app.Fsys_mgr(), app.Utl_encoder_fsys()); } public void Get_by_ttl(Xog_page rv, Gfo_url url, Xoa_ttl ttl) { - wiki_db_mgr.Tbl_page_regy().Select_by_ttl(dbpg, ttl.Ns(), ttl.Page_db()); + wiki_db_mgr.Tbl__page().Select_by_ttl(dbpg, ttl.Ns(), ttl.Page_db()); if (dbpg.Redirect_id() != -1) Select_by_id(rv, dbpg); if (dbpg.Html_db_id() == -1) return; // should return "not found" message - load_mgr.Load2(rv, Db_conn_pool.I.Get_or_new(wiki_db_mgr.Key_by_idx(dbpg.Html_db_id())), dbpg.Id(), ttl); + load_mgr.Load2(rv, Db_conn_pool.I.Get_or_new(wiki_db_mgr.Url_by_idx(dbpg.Html_db_id())), dbpg.Id(), ttl); Bry_bfr bfr = app.Utl_bfr_mkr().Get_m001(); html_body.Init_by_page(wiki.Domain_bry(), rv).Write(bfr); wiki.Hzip_mgr().Load(bfr, ttl.Page_db(), bfr.Xto_bry_and_clear()); @@ -42,7 +42,7 @@ public class Xowd_hdump_mgr { int redirect_count = 0; while (redirect_count < 5) { int redirect_id = dbpg.Redirect_id(); - wiki_db_mgr.Tbl_page_regy().Select_by_id(dbpg, redirect_id); + wiki_db_mgr.Tbl__page().Select_by_id(dbpg, redirect_id); if (redirect_id == -1) break; } } diff --git a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm.java b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm.java index bc41fc56f..e21198ebc 100644 --- a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm.java +++ b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm.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.hdumps.srls; import gplx.*; import gplx.xowa.*; import gplx.xowa.hdumps.*; -import gplx.xowa.hdumps.core.*; +import gplx.core.primitives.*; import gplx.xowa.hdumps.core.*; import gplx.xowa2.gui.*; public interface Hpg_srl_itm { byte Tid(); diff --git a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm_.java b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm_.java index 69361acdc..d2479a62f 100644 --- a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm_.java +++ b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm_.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.hdumps.srls; import gplx.*; import gplx.xowa.*; import gplx.xowa.hdumps.*; -import gplx.xowa.hdumps.core.*; +import gplx.core.primitives.*; import gplx.xowa.hdumps.core.*; import gplx.xowa2.gui.*; public class Hpg_srl_itm_ { public static final byte // SERIALIZED diff --git a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm__tst.java b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm__tst.java index d362cddb1..d9b6da736 100644 --- a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm__tst.java +++ b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_itm__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.xowa.hdumps.srls; import gplx.*; import gplx.xowa.*; import gplx.xowa.hdumps.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Hpg_srl_itm__tst { @Before public void init() {fxt.Clear();} private Hpg_srl_itm__fxt fxt = new Hpg_srl_itm__fxt(); @Test public void Srl() { diff --git a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_mgr.java b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_mgr.java index a1a3e1576..544c2e6c2 100644 --- a/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_mgr.java +++ b/400_xowa/src/gplx/xowa/hdumps/srls/Hpg_srl_mgr.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.hdumps.srls; import gplx.*; import gplx.xowa.*; import gplx.xowa.hdumps.*; -import gplx.xowa.hdumps.core.*; +import gplx.core.primitives.*; import gplx.xowa.hdumps.core.*; import gplx.xowa2.gui.*; public class Hpg_srl_mgr { private Int_obj_ref count_ref = Int_obj_ref.zero_(); 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 d8357477e..3e481f0de 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_html_wtr.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.xowa.html; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.html.*; import gplx.xowa.wikis.*; import gplx.xowa.net.*; import gplx.xowa.parsers.apos.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.parsers.hdrs.*; import gplx.xowa.parsers.lists.*; import gplx.xowa.html.lnkis.*; import gplx.xowa.parsers.tblws.*; import gplx.xowa.parsers.paras.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.dynamicPageList.*; import gplx.xowa.xtns.math.*; import gplx.xowa.langs.vnts.*; import gplx.xowa.xtns.cite.*; import gplx.xowa.html.hzips.*; diff --git a/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java b/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java index 71757c0b3..2f759a703 100644 --- a/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.java +++ b/400_xowa/src/gplx/xowa/html/Xoh_imgs_mgr.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.xowa.html; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; import gplx.xowa.wikis.*; public class Xoh_imgs_mgr implements GfoInvkAble { public Xoh_imgs_mgr(Xow_html_mgr html_mgr) {wiki_is_default = html_mgr.Wiki().Domain_tid() == Xow_wiki_domain_.Tid_home;} private boolean wiki_is_default; diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java index 4f7b3e80e..a0b9a8d59 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_itm__anchor.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.html.hzips; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -import gplx.core.brys.*; import gplx.html.*; import gplx.xowa.apps.ttls.*; import gplx.xowa.hdumps.srls.*; +import gplx.core.primitives.*; import gplx.core.brys.*; import gplx.html.*; import gplx.xowa.apps.ttls.*; import gplx.xowa.hdumps.srls.*; public class Xow_hzip_itm__anchor { private Xow_hzip_mgr hzip_mgr; private Xoa_ttl_parser ttl_parser; private Byte_obj_ref xtid_ref = Byte_obj_ref.zero_(); private Bry_rdr bry_rdr = new Bry_rdr(); diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java index 0587f17fa..7983cf123 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_mgr.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.html.hzips; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -import gplx.core.btries.*; import gplx.xowa.apps.ttls.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.xowa.apps.ttls.*; public class Xow_hzip_mgr { private Gfo_usr_dlg usr_dlg; private byte[] page_url; private byte[] src; private int src_len; diff --git a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java index 73e54dcf6..9c153b5f2 100644 --- a/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.java +++ b/400_xowa/src/gplx/xowa/html/hzips/Xow_hzip_xtid.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.xowa.html.hzips; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.primitives.*; class Xow_hzip_xtid { public static int Find_xtid(Xow_hzip_mgr hzip_mgr, byte[] src, int src_len, int bgn, int pos, Byte_obj_ref xtid_ref) { int xtid_bgn = pos + Len_xtid; if (!Bry_.Match(src, pos, xtid_bgn, Bry_xtid)) return Xow_hzip_mgr.Unhandled; // next atr should be "xtid='" diff --git a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java index 2c82c4375..accf5d92a 100644 --- a/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.java +++ b/400_xowa/src/gplx/xowa/html/lnkis/Xoh_file_mgr.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.xowa.html.lnkis; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.primitives.*; import gplx.xowa.files.*; import gplx.xowa.parsers.lnkis.*; public class Xoh_file_mgr { private final Xow_wiki wiki; private final Bool_obj_ref queue_add_ref = Bool_obj_ref.n_(); diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java index 6023991e1..7c48e1e2b 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_mgr.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.html.modules.popups; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.modules.*; -import gplx.threads.*; +import gplx.core.primitives.*; import gplx.threads.*; import gplx.xowa.gui.views.*; import gplx.xowa.specials.search.*; import gplx.xowa.apis.xowa.html.modules.*; diff --git a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java index e12b83321..5c8ccedb8 100644 --- a/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_tst.java +++ b/400_xowa/src/gplx/xowa/html/modules/popups/Xow_popup_parser_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.xowa.html.modules.popups; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; import gplx.xowa.html.modules.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.xowa.apis.xowa.html.modules.*; import gplx.xowa.gui.views.*; public class Xow_popup_parser_tst { diff --git a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java index f291e8372..0282a7e69 100644 --- a/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/html/sidebar/Xowh_sidebar_mgr_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.xowa.html.sidebar; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Xowh_sidebar_mgr_tst { @Before public void init() {fxt.Clear();} private Xowh_sidebar_mgr_fxt fxt = new Xowh_sidebar_mgr_fxt(); @Test public void Grp() { diff --git a/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java b/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java index ce2d2ad73..923f2a31b 100644 --- a/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.java +++ b/400_xowa/src/gplx/xowa/html/tocs/Xow_hdr_mgr.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.xowa.html.tocs; import gplx.*; import gplx.xowa.*; import gplx.xowa.html.*; +import gplx.core.primitives.*; import gplx.xowa.parsers.amps.*; import gplx.xowa.parsers.hdrs.*; public class Xow_hdr_mgr { private Xow_wiki wiki; private Xoa_page page; diff --git a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm.java b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm.java index fc309ba07..1c24a3ba2 100644 --- a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm.java +++ b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_itm.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.xowa.langs.cases; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; +import gplx.core.primitives.*; import gplx.intl.*; public interface Xol_case_itm extends Gfo_case_itm { byte Tid(); diff --git a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java index 1e8ddb073..49126d66d 100644 --- a/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/langs/cases/Xol_case_mgr_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.xowa.langs.cases; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Xol_case_mgr_tst { @Before public void init() {fxt.Clear();} private Xol_case_mgr_fxt fxt = new Xol_case_mgr_fxt(); @Test public void Mw_parse() { diff --git a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_.java b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_.java index 89df032dd..ef560ce23 100644 --- a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_.java +++ b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_.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.langs.grammars; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Xol_grammar_ { public static final byte Tid__max = 9; public static final byte Tid_genitive = 0, Tid_elative = 1, Tid_partitive = 2, Tid_illative = 3, Tid_inessive = 4, Tid_accusative = 5, Tid_instrumental = 6, Tid_prepositional = 7, Tid_dative = 8, Tid_unknown = Byte_.Max_value_127; diff --git a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java index adc3df7f2..70c372352 100644 --- a/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.java +++ b/400_xowa/src/gplx/xowa/langs/grammars/Xol_grammar_fi.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.langs.grammars; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Xol_grammar_fi implements Xol_grammar { public boolean Vowel_harmony(byte[] word, int word_len) { // $aou = preg_match( '/[aou][^äöy]*$/i', $word ); diff --git a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java index cbd836e61..c01d3145d 100644 --- a/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_base.java +++ b/400_xowa/src/gplx/xowa/langs/numbers/Xol_num_fmtr_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.langs.numbers; import gplx.*; import gplx.xowa.*; import gplx.xowa.langs.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Xol_num_fmtr_base implements GfoInvkAble { private Btrie_fast_mgr dlm_trie = Btrie_fast_mgr.cs_(); private Xol_num_grp[] grp_ary = Xol_num_grp.Ary_empty; int grp_ary_len; diff --git a/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java b/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java index 69c75faf3..f03b49757 100644 --- a/400_xowa/src/gplx/xowa/servers/Gxw_html_server.java +++ b/400_xowa/src/gplx/xowa/servers/Gxw_html_server.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.servers; import gplx.*; import gplx.xowa.*; -import gplx.gfui.*; +import gplx.core.primitives.*; import gplx.gfui.*; import gplx.xowa.servers.tcp.*; import gplx.xowa.servers.http.*; public class Gxw_html_server implements Gxw_html { diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java index 9ba3c9df7..0e799c73a 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_msg_rdr.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.xowa.servers.tcp; import gplx.*; import gplx.xowa.*; import gplx.xowa.servers.*; +import gplx.core.primitives.*; import gplx.ios.*; import gplx.texts.*; public class Xosrv_msg_rdr { public Xosrv_msg_rdr(byte[] default_body_bry, IoStream rdr) {this.default_body_bry = default_body_bry; default_body_bry_len = default_body_bry.length; this.rdr = rdr;} private byte[] header_bry = new byte[24], default_body_bry; int default_body_bry_len; diff --git a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java index 707e7ca58..fb4fa69ea 100644 --- a/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.java +++ b/400_xowa/src/gplx/xowa/servers/tcp/Xosrv_server.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.servers.tcp; import gplx.*; import gplx.xowa.*; import gplx.xowa.servers.*; -import gplx.ios.*; import gplx.json.*; import gplx.threads.*; +import gplx.core.primitives.*; import gplx.ios.*; import gplx.json.*; import gplx.threads.*; public class Xosrv_server implements GfoInvkAble { private long last_cmd; public Xosrv_socket_rdr Rdr() {return rdr;} private Xosrv_socket_rdr rdr = new Xosrv_socket_rdr(); diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java index c9fa9b911..c01acc507 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser.java @@ -26,30 +26,32 @@ public class Wmf_latest_parser { public void Parse(byte[] src) { hash.Clear(); Bry_bfr tmp_bfr = Bry_bfr.reset_(255); - byte[] name_bgn_bry = Bry_.new_ascii_(""); - byte[] size_bgn_bry = Bry_.new_ascii_(""); + byte[] name_bgn_bry = Bry_.new_ascii_("\n"); + byte[] date_end_bry = Bry_.new_ascii_(" "); +// byte[] size_bgn_bry = Bry_.new_ascii_(""); Btrie_slim_mgr date_trie = Btrie_slim_mgr.cs_() .Add_bry("Jan", "01").Add_bry("Feb", "02").Add_bry("Mar", "03").Add_bry("Apr", "04").Add_bry("May", "05").Add_bry("Jun", "06") .Add_bry("Jul", "07").Add_bry("Aug", "08").Add_bry("Sep", "09").Add_bry("Oct", "10").Add_bry("Nov", "11").Add_bry("Dec", "12") ; - Btrie_slim_mgr size_trie = Btrie_slim_mgr.cs_() - .Add_bry("B", " B").Add_bry("K", " KB").Add_bry("M", " MB").Add_bry("G", " GB"); - byte[] date_or = Bry_.new_ascii_("1970-01-01"); - byte[] size_or = Bry_.new_ascii_("0 B"); +// Btrie_slim_mgr size_trie = Btrie_slim_mgr.cs_() +// .Add_bry("B", " B").Add_bry("K", " KB").Add_bry("M", " MB").Add_bry("G", " GB"); + byte[] date_or = Bry_.new_ascii_("1970-01-01 00:00:00"); +// byte[] size_or = Bry_.new_ascii_("0 B"); int size_end = 0; int src_len = src.length; while (true) { int name_bgn = Bry_finder.Move_fwd(src, name_bgn_bry, size_end, src_len); if (name_bgn == Bry_finder.Not_found) break; int name_end = Bry_finder.Find_fwd(src, Byte_ascii.Quote, name_bgn, src_len); byte[] name = Bry_.Mid(src, name_bgn, name_end); int date_bgn = Bry_finder.Move_fwd(src, date_bgn_bry, name_end, src_len); if (date_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_._.Warn_many("", "", "date_bgn not found"); break;} - int date_end = Bry_finder.Find_fwd(src, Byte_ascii.Lt, date_bgn, src_len); + date_bgn = Bry_finder.Find_fwd_while_space_or_tab(src, date_bgn, src_len); if (date_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_._.Warn_many("", "", "date_bgn not found"); break;} + int date_end = Bry_finder.Find_fwd(src, date_end_bry, date_bgn, src_len); byte[] date_bry = Bry_.Mid(src, date_bgn, date_end); - DateAdp date = DateAdp_.parse_fmt(String_.new_ascii_(Replace_or(tmp_bfr, date_trie, date_bry, 5, date_or)), "yyyy-MM-dd hh:mm:ss"); - int size_bgn = Bry_finder.Move_fwd(src, size_bgn_bry, date_end, src_len); if (size_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_._.Warn_many("", "", "size_bgn not found"); break;} - size_end = Bry_finder.Find_fwd(src, Byte_ascii.Lt, size_bgn, src_len); + DateAdp date = DateAdp_.parse_fmt(String_.new_ascii_(Replace_or(tmp_bfr, date_trie, date_bry, 3, date_or)), "dd-MM-yyyy HH:mm"); + int size_bgn = Bry_finder.Find_fwd_while_space_or_tab(src, date_end, src_len); if (size_bgn == Bry_finder.Not_found) {Gfo_usr_dlg_._.Warn_many("", "", "size_bgn not found"); break;} + size_end = Bry_finder.Find_fwd(src, Byte_ascii.CarriageReturn, size_bgn, src_len); byte[] size_bry = Bry_.Mid(src, size_bgn, size_end); - long size = Io_size_.parse_or_(String_.new_ascii_(Replace_or(tmp_bfr, size_trie, size_bry, size_bry.length - 1, size_or)), 0); + long size = Long_.parse_or_(String_.new_utf8_(size_bry), -1); Wmf_latest_itm itm = new Wmf_latest_itm(name, date, size); hash.Add(name, itm); } diff --git a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java index b0239029a..82a8fcb5a 100644 --- a/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java +++ b/400_xowa/src/gplx/xowa/setup/maints/Wmf_latest_parser_tst.java @@ -21,15 +21,15 @@ public class Wmf_latest_parser_tst { @Before public void init() {fxt.Clear();} private Wmf_latest_parser_fxt fxt = new Wmf_latest_parser_fxt(); @Test public void Parse() { fxt.Test_parse - ( "enwiki-latest-pages-articles.xml.bz22014-Dec-10 06:53:2010.7Gapplication/x-bzip" - , fxt.itm("enwiki-latest-pages-articles.xml.bz2", "2014-12-10 06:53:20", "10.7 GB") + ( "\nenwiki-latest-pages-articles.xml.bz2 15-Jan-2015 05:43 11575640561\r\n" + , fxt.itm("enwiki-latest-pages-articles.xml.bz2", "2015-01-15 05:43", "10.781 GB") ); } -// @Test public void Smoke() { -// Wmf_latest_parser parser = new Wmf_latest_parser(); -// parser.Parse(Io_mgr._.LoadFilBry("C:\\wmf_latest.html")); -// Tfds.Write(String_.Concat_lines_nl(Wmf_latest_parser_fxt.Xto_str_ary(parser.Xto_ary()))); -// } + @Test public void Smoke() { + Wmf_latest_parser parser = new Wmf_latest_parser(); + parser.Parse(Io_mgr._.LoadFilBry("C:\\wmf_latest.html")); + Tfds.Write(String_.Concat_lines_nl(Wmf_latest_parser_fxt.Xto_str_ary(parser.Xto_ary()))); + } } class Wmf_latest_parser_fxt { public void Clear() {} diff --git a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java index 90b298486..b5eb2399b 100644 --- a/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.java +++ b/400_xowa/src/gplx/xowa/specials/allPages/Xows_page_allpages.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.specials.allPages; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; -import gplx.xowa.html.*; import gplx.xowa.html.lnkis.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; import gplx.xowa.html.lnkis.*; import gplx.xowa.wikis.*; public class Xows_page_allpages implements GfoInvkAble, Bry_fmtr_arg, Xows_page { public Xows_page_allpages(Xow_wiki wiki) { diff --git a/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java b/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java index db642ca37..1890ee740 100644 --- a/400_xowa/src/gplx/xowa/specials/movePage/Move_page.java +++ b/400_xowa/src/gplx/xowa/specials/movePage/Move_page.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.xowa.specials.movePage; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; +import gplx.core.primitives.*; public class Move_page implements Xows_page { private Move_trg_ns_list_fmtr ns_list_fmtr = new Move_trg_ns_list_fmtr(); private Move_url_args args = new Move_url_args(); diff --git a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java index b94e42663..ec13219dd 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xog_search_suggest_cmd.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.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; +import gplx.core.primitives.*; class Xog_search_suggest_cmd implements GfoInvkAble, Cancelable { public Xog_search_suggest_cmd(Xoa_app app, Xog_search_suggest_mgr mgr) { this.app = app; this.mgr = mgr; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java index 7693730b6..9cc15ec41 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_core.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.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; -import gplx.xowa.wikis.*; +import gplx.core.primitives.*; import gplx.xowa.wikis.*; public class Xosrh_core implements GfoInvkAble, Xows_page { public Xosrh_core(Xow_wiki wiki) {this.wiki = wiki;} public Xow_wiki Wiki() {return wiki;} private Xow_wiki wiki; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java index aac065876..8c7f2656b 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_ns_mgr.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.xowa.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; +import gplx.core.primitives.*; public class Xosrh_ns_mgr { private OrderedHash ns_hash = OrderedHash_.new_(); private boolean ns_all, ns_main; diff --git a/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java b/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java index 51cfe8285..1b7aaa623 100644 --- a/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.java +++ b/400_xowa/src/gplx/xowa/specials/search/Xosrh_scanner.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.specials.search; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; class Xosrh_scanner { ListAdp tkns = ListAdp_.new_(); byte[] src; int src_len; int pos; int txt_bgn; public Xosrh_qry_tkn[] Scan(byte[] src) { diff --git a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java index a30c223ee..420287e21 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/file_browsers/Xoa_url_arg_mgr.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.xowa.specials.xowa.file_browsers; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.xowa.specials.xowa.*; +import gplx.core.primitives.*; class Xoa_url_arg_mgr { private final Hash_adp_bry hash = Hash_adp_bry.cs_(); private final Xoa_url_enum_mgr enm_mgr; diff --git a/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java b/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java index e3a2bed2e..19500da87 100644 --- a/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.java +++ b/400_xowa/src/gplx/xowa/specials/xowa/system_data/System_data_page.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.xowa.specials.xowa.system_data; import gplx.*; import gplx.xowa.*; import gplx.xowa.specials.*; import gplx.xowa.specials.xowa.*; +import gplx.core.primitives.*; public class System_data_page implements Xows_page { private Xoa_url_arg_hash arg_hash = new Xoa_url_arg_hash(); public void Special_gen(Xoa_url url, Xoa_page page, Xow_wiki wiki, Xoa_ttl ttl) { diff --git a/400_xowa/src/gplx/xowa/users/Xoc_layout_mgr.java b/400_xowa/src/gplx/xowa/users/Xoc_layout_mgr.java index bde374595..b59ea1e13 100644 --- a/400_xowa/src/gplx/xowa/users/Xoc_layout_mgr.java +++ b/400_xowa/src/gplx/xowa/users/Xoc_layout_mgr.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.users; import gplx.*; import gplx.xowa.*; -import gplx.gfui.*; +import gplx.core.primitives.*; import gplx.gfui.*; public class Xoc_layout_mgr implements GfoInvkAble { public Xoc_layout_mgr(Xoa_app app) { this.app = app; diff --git a/400_xowa/src/gplx/xowa/users/data/Xoud_data_mgr.java b/400_xowa/src/gplx/xowa/users/data/Xoud_data_mgr.java index 274734eaa..5da364f58 100644 --- a/400_xowa/src/gplx/xowa/users/data/Xoud_data_mgr.java +++ b/400_xowa/src/gplx/xowa/users/data/Xoud_data_mgr.java @@ -23,17 +23,17 @@ public class Xoud_data_mgr { public Xoud_regy_mgr Regy_mgr() {return regy_mgr;} private final Xoud_regy_mgr regy_mgr = new Xoud_regy_mgr(); public Xoud_history_mgr History_mgr() {return history_mgr;} private final Xoud_history_mgr history_mgr = new Xoud_history_mgr(); public Xoud_site_mgr Site_mgr() {return site_mgr;} private final Xoud_site_mgr site_mgr = new Xoud_site_mgr(); - public void Init_by_boot(Db_conn user_db_provider) { + public void Init_by_boot(Db_conn user_conn) { user_db.Schema().Loader_(Schema_loader_mgr_.Sqlite); Init_user_db_changes(user_db.Schema().Updater()); - user_db.Init(user_db_provider); - regy_mgr.Init(user_db_provider); - site_mgr.Init(user_db_provider); - history_mgr.History_tbl().Conn_(user_db_provider); + user_db.Init(user_conn); + regy_mgr.Init(user_conn); + site_mgr.Init(user_conn); + history_mgr.History_tbl().Conn_(user_conn); } private void Init_user_db_changes(Schema_update_mgr updater) { updater.Add(Schema_update_cmd_.Make_tbl_create(Xoud_regy_tbl.Tbl_name , Xoud_regy_tbl.Tbl_sql , Xoud_regy_tbl.Idx_core)); updater.Add(Schema_update_cmd_.Make_tbl_create(Xoud_history_tbl.Tbl_name, Xoud_history_tbl.Tbl_sql , Xoud_history_tbl.Idx_core)); - updater.Add(Schema_update_cmd_.Make_tbl_create(Xoud_site_tbl.Tbl_name , Xoud_site_tbl.Tbl_sql)); +// updater.Add(Schema_update_cmd_.Make_tbl_create(Xoud_site_tbl.Tbl_name , Xoud_site_tbl.Tbl_sql)); } } diff --git a/400_xowa/src/gplx/xowa/users/dbs/Xou_db_mgr.java b/400_xowa/src/gplx/xowa/users/dbs/Xou_db_mgr.java index ba6fa87b2..315d2a64c 100644 --- a/400_xowa/src/gplx/xowa/users/dbs/Xou_db_mgr.java +++ b/400_xowa/src/gplx/xowa/users/dbs/Xou_db_mgr.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.xowa.users.dbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*; +import gplx.core.primitives.*; import gplx.dbs.*; import gplx.xowa.dbs.tbls.*; public class Xou_db_mgr { diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java index 7980b24e3..75c31697e 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_itm.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.xowa.users.history; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*; +import gplx.core.primitives.*; public class Xou_history_itm { public Xou_history_itm(byte[] wiki, byte[] page) { this.wiki = wiki; diff --git a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java index 36a4168d4..e95f6e6a1 100644 --- a/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.java +++ b/400_xowa/src/gplx/xowa/users/history/Xou_history_mgr.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.xowa.users.history; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*; +import gplx.core.primitives.*; public class Xou_history_mgr implements GfoInvkAble { private final Xou_history_html html_mgr = new Xou_history_html(); private Xou_history_sorter sorter = new Xou_history_sorter().Sort_fld_(Xou_history_itm.Fld_view_end).Ascending_(false); private final Io_url history_fil; diff --git a/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java b/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java index 30a6ab9e6..44e1c1471 100644 --- a/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.java +++ b/400_xowa/src/gplx/xowa/users/prefs/Prefs_mgr.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.users.prefs; import gplx.*; import gplx.xowa.*; import gplx.xowa.users.*; -import gplx.html.*; import gplx.gfui.*; +import gplx.core.primitives.*; import gplx.html.*; import gplx.gfui.*; public class Prefs_mgr implements GfoInvkAble { public Prefs_mgr(Xoa_app app) { this.app = app; diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_abrv_.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_abrv_.java index 5eb32e985..56039fb61 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_abrv_.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_abrv_.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.wikis; import gplx.*; import gplx.xowa.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Xow_wiki_abrv_ { public static boolean parse_(Xow_wiki_abrv rv, byte[] src, int bgn, int end) { rv.Clear(); diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java index aba3cf9bf..bf38ecfee 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias.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.wikis; import gplx.*; import gplx.xowa.*; -import gplx.core.btries.*; import gplx.xowa.wikis.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.xowa.wikis.*; public class Xow_wiki_alias { public Io_url Fil() {return fil;} public Xow_wiki_alias Fil_(Io_url v) {fil = v; return this;} Io_url fil; public byte Tid() {return tid;} private byte tid; diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java index ceac2e7dc..769988b5a 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_tst.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_alias_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.xowa.wikis; import gplx.*; import gplx.xowa.*; -import org.junit.*; import gplx.xowa.wikis.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.xowa.wikis.*; public class Xow_wiki_alias_tst { Xow_wiki_alias_fxt fxt = new Xow_wiki_alias_fxt(); @Test public void Parse() {fxt.Parse("enwiki-20121201-pages-articles.xml.bz2", "en.wikipedia.org", "20121201", Xow_wiki_alias.Tid_pages_articles);} diff --git a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java index 92816256b..d57726170 100644 --- a/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.java +++ b/400_xowa/src/gplx/xowa/wikis/Xow_wiki_domain_.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.xowa.wikis; import gplx.*; import gplx.xowa.*; +import gplx.core.primitives.*; public class Xow_wiki_domain_ { public static byte[] Key_by_tid(byte tid) {return Key__ary[tid];} public static final byte Tid_by_key_null = Byte_.Max_value_127; diff --git a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java index ef7ca35c4..e8db285a2 100644 --- a/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_tst.java +++ b/400_xowa/src/gplx/xowa/wikis/xwikis/Xow_xwiki_mgr_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.xowa.wikis.xwikis; import gplx.*; import gplx.xowa.*; import gplx.xowa.wikis.*; -import org.junit.*; import gplx.xowa.wikis.*; import gplx.xowa.langs.*; +import org.junit.*; import gplx.core.strings.*; import gplx.xowa.wikis.*; import gplx.xowa.langs.*; public class Xow_xwiki_mgr_tst { @Before public void init() {fxt.Clear();} private Xow_xwiki_mgr_fxt fxt = new Xow_xwiki_mgr_fxt(); @Test public void Add_bulk_wiki_en() {fxt.Test_add_bulk("w|en.wikipedia.org" , Xol_lang_itm_.Id__unknown , Xow_wiki_domain_.Tid_wikipedia , "w" , "http://en.wikipedia.org/wiki/~{0}", "en.wikipedia.org");} diff --git a/400_xowa/src/gplx/xowa/xtns/Xow_xtn_mgr.java b/400_xowa/src/gplx/xowa/xtns/Xow_xtn_mgr.java index 2bab591fe..bf4067a07 100644 --- a/400_xowa/src/gplx/xowa/xtns/Xow_xtn_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/Xow_xtn_mgr.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.xtns; import gplx.*; import gplx.xowa.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.xowa.xtns.cite.*; import gplx.xowa.xtns.imaps.*; import gplx.xowa.xtns.relatedSites.*; import gplx.xowa.xtns.proofreadPage.*; import gplx.xowa.xtns.wdatas.*; import gplx.xowa.xtns.insiders.*; import gplx.xowa.xtns.indicators.*; public class Xow_xtn_mgr implements GfoInvkAble { diff --git a/400_xowa/src/gplx/xowa/xtns/cite/Ref_nde.java b/400_xowa/src/gplx/xowa/xtns/cite/Ref_nde.java index 423272771..ed6c9ae60 100644 --- a/400_xowa/src/gplx/xowa/xtns/cite/Ref_nde.java +++ b/400_xowa/src/gplx/xowa/xtns/cite/Ref_nde.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.xowa.xtns.cite; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; public class Ref_nde implements Xox_xnde, Xop_xnde_atr_parser { public byte[] Name() {return name;} public Ref_nde Name_(byte[] v) {name = v; return this;} private byte[] name = Bry_.Empty; diff --git a/400_xowa/src/gplx/xowa/xtns/cite/References_nde.java b/400_xowa/src/gplx/xowa/xtns/cite/References_nde.java index cb0ffad1c..b007f89a8 100644 --- a/400_xowa/src/gplx/xowa/xtns/cite/References_nde.java +++ b/400_xowa/src/gplx/xowa/xtns/cite/References_nde.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.xowa.xtns.cite; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; public class References_nde implements Xox_xnde, Xop_xnde_atr_parser { public byte[] Group() {return group;} public References_nde Group_(byte[] v) {group = v; return this;} private byte[] group = Bry_.Empty; diff --git a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm.java b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm.java index b43f55bf3..c70df3b8c 100644 --- a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm.java +++ b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm.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.xtns.dynamicPageList; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.html.*; -import gplx.xowa.html.*; +import gplx.core.primitives.*; +import gplx.html.*; import gplx.xowa.html.*; class Dpl_itm { public ListAdp Ctg_includes() {return ctg_includes;} private ListAdp ctg_includes; public ListAdp Ctg_excludes() {return ctg_excludes;} private ListAdp ctg_excludes; diff --git a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm_keys.java b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm_keys.java index 92272e0bb..786abb35b 100644 --- a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm_keys.java +++ b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_itm_keys.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.xowa.xtns.dynamicPageList; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; class Dpl_itm_keys { public static byte Parse(byte[] src, int bgn, int end, byte or) { Object o = keys.Get_by_mid(src, bgn, end); diff --git a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde.java b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde.java index 4956dd48b..c67a27d20 100644 --- a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde.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.xowa.xtns.dynamicPageList; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; import gplx.xowa.dbs.*; import gplx.xowa.ctgs.*; public class Dpl_xnde implements Xox_xnde, Xop_xnde_atr_parser { diff --git a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java index 7f2743f4c..93f459d65 100644 --- a/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/dynamicPageList/Dpl_xnde_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.xowa.xtns.dynamicPageList; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import org.junit.*; +import org.junit.*; import gplx.core.strings.*; public class Dpl_xnde_tst { private Dpl_xnde_fxt fxt = new Dpl_xnde_fxt(); @Before public void init() {fxt.Clear();} diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java index d771e2414..f5ead7ab9 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_itm_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.xtns.gallery; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; import gplx.xowa.parsers.lnkis.redlinks.*; import gplx.xowa.files.*; public class Gallery_itm_parser { diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base_.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base_.java index 2682d44ef..0a7f3370f 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base_.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_mgr_base_.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.xowa.xtns.gallery; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; class Gallery_mgr_base_ { public static byte Get_or_traditional(byte[] bry) { Byte_obj_val rv = (Byte_obj_val)Hash.Fetch(bry); diff --git a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_xnde.java b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_xnde.java index 05ec39bd7..2b199ffd4 100644 --- a/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/gallery/Gallery_xnde.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.xowa.xtns.gallery; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.fsdb.*; import gplx.xowa.parsers.logs.*; import gplx.xowa.html.*; import gplx.xowa.files.*; import gplx.xowa.files.fsdb.*; diff --git a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java index 6d2a40d44..fad511f2b 100644 --- a/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/hieros/Hiero_mw_tables_parser.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.xowa.xtns.hieros; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.php.*; import gplx.srls.dsvs.*; public class Hiero_mw_tables_parser { private Php_parser parser = new Php_parser(); private Php_evaluator evaluator; diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_desc_tid.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_desc_tid.java index 77d13b37d..401d080c5 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_desc_tid.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_desc_tid.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.xtns.imaps; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; class Imap_desc_tid { public static final byte Tid_tr = 0, Tid_br = 1, Tid_bl = 2, Tid_tl = 3, Tid_none = 4, Tid_null = 5; public static final byte[] diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java index c36bef285..5a92d4647 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_itm_shape.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.xowa.xtns.imaps; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.parsers.lnkes.*; import gplx.xowa.html.*; import gplx.xowa.net.*; interface Imap_link_owner { void Link_tid_(int v); diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java index 94b7a2421..c7411e86b 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_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.xtns.imaps; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.core.btries.*; import gplx.xowa.parsers.lnkis.redlinks.*; +import gplx.core.btries.*; import gplx.core.primitives.*; import gplx.xowa.parsers.lnkis.redlinks.*; class Imap_parser { private Imap_xtn_mgr xtn_mgr; private Xoa_url page_url; private Gfo_usr_dlg usr_dlg = Gfo_usr_dlg_._; private byte[] imap_img_src; diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser_tst.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser_tst.java index bcad3111a..5a800ea79 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_parser_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.xowa.xtns.imaps; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import org.junit.*; +import org.junit.*; import gplx.core.primitives.*; public class Imap_parser_tst { @Before public void init() {fxt.Reset();} private Imap_parser_fxt fxt = new Imap_parser_fxt(); @Test public void Rect_pass() {fxt.Test_shape("rect 1 2 3 4 [[A]]" , fxt.itm_rect_("[[A]]", 1, 2, 3, 4));} diff --git a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_pts_fmtr_arg.java b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_pts_fmtr_arg.java index 4b0bc48b1..248f04fce 100644 --- a/400_xowa/src/gplx/xowa/xtns/imaps/Imap_pts_fmtr_arg.java +++ b/400_xowa/src/gplx/xowa/xtns/imaps/Imap_pts_fmtr_arg.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.xowa.xtns.imaps; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; class Imap_pts_fmtr_arg implements Bry_fmtr_arg { private double scale = 1; private Double_obj_val[] pts; public void Scale_(double v) {this.scale = v;} diff --git a/400_xowa/src/gplx/xowa/xtns/indicators/Indicator_xnde.java b/400_xowa/src/gplx/xowa/xtns/indicators/Indicator_xnde.java index 820ba8884..0496e74f5 100644 --- a/400_xowa/src/gplx/xowa/xtns/indicators/Indicator_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/indicators/Indicator_xnde.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.xtns.indicators; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.xowa.html.*; import gplx.xowa.pages.skins.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; import gplx.xowa.pages.skins.*; public class Indicator_xnde implements Xox_xnde, Xop_xnde_atr_parser { public byte[] Name() {return name;} private byte[] name; public byte[] Html() {return html;} private byte[] html; diff --git a/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java b/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java index adc9078e1..e2dc2d60d 100644 --- a/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.java +++ b/400_xowa/src/gplx/xowa/xtns/listings/Listing_xnde.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.xtns.listings; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.html.*; -import gplx.xowa.html.*; +import gplx.core.primitives.*; +import gplx.html.*; import gplx.xowa.html.*; public class Listing_xnde implements Xox_xnde, Xop_xnde_atr_parser { public Listing_xnde(int tag_id) {} private byte[] xatr_name, xatr_alt, xatr_address, xatr_directions, xatr_phone, xatr_tollfree, xatr_email, xatr_fax, xatr_url, xatr_hours, xatr_price, xatr_checkin, xatr_checkout; diff --git a/400_xowa/src/gplx/xowa/xtns/lst/Lst_section_nde.java b/400_xowa/src/gplx/xowa/xtns/lst/Lst_section_nde.java index 7b5e70a55..b33243c0c 100644 --- a/400_xowa/src/gplx/xowa/xtns/lst/Lst_section_nde.java +++ b/400_xowa/src/gplx/xowa/xtns/lst/Lst_section_nde.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.xowa.xtns.lst; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.html.*; public class Lst_section_nde implements Xox_xnde, Xop_xnde_atr_parser { public byte[] Section_name() {return section_name;} private byte[] section_name; diff --git a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_dd2dms_func.java b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_dd2dms_func.java index a99a645d6..d7d6a75df 100644 --- a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_dd2dms_func.java +++ b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_dd2dms_func.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.xowa.xtns.mapSources; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.xtns.pfuncs.*; public class Map_dd2dms_func extends Pf_func_base { @Override public int Id() {return Xol_kwd_grp_.Id_mapSources_dd2dms;} diff --git a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java index 458846658..b2e817d48 100644 --- a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.java +++ b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_geolink_func.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.xowa.xtns.mapSources; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; +import gplx.core.primitives.*; import gplx.xowa.xtns.pfuncs.*; public class Map_geolink_func extends Pf_func_base { @Override public int Id() {return Xol_kwd_grp_.Id_mapSources_geoLink;} diff --git a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java index d0d23c688..4a2cc5f49 100644 --- a/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java +++ b/400_xowa/src/gplx/xowa/xtns/mapSources/Map_math.java @@ -16,8 +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.xtns.mapSources; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import org.junit.*; -import gplx.core.btries.*; +import org.junit.*; import gplx.core.primitives.*; import gplx.core.btries.*; class Map_math {// REF.MW:MapSources_math.php private int word_idx_nsew; private double[] rv = new double[4]; diff --git a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java index 5a74a2f3d..319cd32a2 100644 --- a/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.java +++ b/400_xowa/src/gplx/xowa/xtns/math/Xof_math_mgr.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.xtns.math; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; -import gplx.xowa.apps.fsys.*; +import gplx.core.strings.*; import gplx.xowa.apps.fsys.*; public class Xof_math_mgr implements GfoInvkAble { public Xof_math_mgr(Xoa_app app) {this.app = app; html_wtr = new Xof_math_html_wtr();} private Xoa_app app; public ProcessAdp Cmd_convert_tex_to_dvi() {return cmd_convert_tex_to_dvi;} private ProcessAdp cmd_convert_tex_to_dvi = new ProcessAdp(); diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_iferror.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_iferror.java index 5cef2b530..489931581 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_iferror.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/ifs/Pfunc_iferror.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.xtns.pfuncs.ifs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.pfuncs.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Pfunc_iferror extends Pf_func_base { @Override public boolean Func_require_colon_arg() {return true;} @Override public void Func_evaluate(Xop_ctx ctx, byte[] src, Xot_invk caller, Xot_invk self, Bry_bfr bb) { diff --git a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java index 3752268e2..7359845db 100644 --- a/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.java +++ b/400_xowa/src/gplx/xowa/xtns/pfuncs/ttls/Pfunc_rel2abs.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.xtns.pfuncs.ttls; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*; import gplx.xowa.xtns.pfuncs.*; -import gplx.core.btries.*; +import gplx.core.primitives.*; import gplx.core.btries.*; public class Pfunc_rel2abs extends Pf_func_base { @Override public boolean Func_require_colon_arg() {return true;} private static final byte[] Ary_dot_slash = Bry_.new_ascii_("./"), Ary_dot_dot = Bry_.new_ascii_(".."), Ary_dot_dot_slash = Bry_.new_ascii_("../"); diff --git a/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde.java b/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde.java index ed7d5a11f..93a8b4e74 100644 --- a/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde.java +++ b/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde.java @@ -43,7 +43,9 @@ public class Poem_nde implements Xox_xnde { boolean indent_enabled = false; if (line_is_1st) line_is_1st = false; else { - if (Bry_.Match(src, line_bgn, line_bgn + Xowa_br_mark.length, Xowa_br_mark)) // "
\n" already inserted by XOWA; do not insert again; DATE:2014-10-20 + int line_end_w_br = line_bgn + Xowa_br_mark.length; + if ( line_end_w_br < src_end // check for out of bounds; PAGE:en.s:The Hebrew Nation did not write it; DATE:2015-01-31 + && Bry_.Match(src, line_bgn, line_end_w_br, Xowa_br_mark)) // "
\n" already inserted by XOWA; do not insert again; DATE:2014-10-20 bfr.Add_byte_nl(); else bfr.Add(Html_tag_.Br_inl).Add_byte_nl().Add(Xowa_br_mark); // add "
\n" unless 1st line; EX: "\n\s" should not add leading "
\n" diff --git a/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde_tst.java b/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde_tst.java index 783db44e1..1e5911708 100644 --- a/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde_tst.java +++ b/400_xowa/src/gplx/xowa/xtns/poems/Poem_nde_tst.java @@ -130,6 +130,20 @@ public class Poem_nde_tst { , "" )); } + @Test public void Err_dangling_comment() {// PURPOSE: ArrayIndexOutOfBoundsError if poem has and ends with