public Xobc_import_step_itm[] Select_by_task_id(int task_id) {
   List_adp list = List_adp_.New();
   Db_rdr rdr =
       conn.Stmt_sql(
               Db_sql_.Make_by_fmt(
                   String_.Ary(
                       "SELECT  s.*",
                       "FROM    import_step s",
                       "        JOIN step_map sm ON s.step_id = sm.step_id",
                       "WHERE   sm.task_id = {0}"),
                   task_id))
           .Exec_select__rls_auto();
   try {
     while (rdr.Move_next()) {
       list.Add(New_itm(rdr));
     }
   } finally {
     rdr.Rls();
   }
   return (Xobc_import_step_itm[]) list.To_ary_and_clear(Xobc_import_step_itm.class);
 }
예제 #2
0
public class Pfunc_scrib_lib implements Scrib_lib {
  private Scrib_core core;

  public Scrib_lua_mod Mod() {
    return mod;
  }

  private Scrib_lua_mod mod;

  public Scrib_lib Init() {
    procs.Init_by_lib(this, Proc_names);
    return this;
  }

  public void Core_(Scrib_core v) {
    this.core = v;
  } // TEST:

  public Scrib_lib Clone_lib(Scrib_core core) {
    return new Pfunc_scrib_lib();
  }

  public Scrib_lua_mod Register(Scrib_core core, Io_url script_dir) {
    this.core = core;
    Init();
    mod =
        core.RegisterInterface(
            this,
            core.App()
                .Fsys_mgr()
                .Bin_xtns_dir()
                .GenSubFil_nest("ParserFunctions", "mw.ext.ParserFunctions.lua"));
    return mod;
  }

  public Scrib_proc_mgr Procs() {
    return procs;
  }

  private Scrib_proc_mgr procs = new Scrib_proc_mgr();

  public boolean Procs_exec(int key, Scrib_proc_args args, Scrib_proc_rslt rslt) {
    switch (key) {
      case Proc_expr:
        return Expr(args, rslt);
      default:
        throw Err_.new_unhandled(key);
    }
  }

  private static final int Proc_expr = 0;
  public static final String Invk_expr = "expr";
  private static final String[] Proc_names = String_.Ary(Invk_expr);

  public boolean Expr(Scrib_proc_args args, Scrib_proc_rslt rslt) {
    byte[] expr_bry =
        args.Xstr_bry_or_null(
            0); // NOTE: some modules will pass in an int; PAGE:en.w:531_BC DATE:2016-04-29
    Bry_bfr tmp_bfr = core.Wiki().Utl__bfr_mkr().Get_b128();
    Pfunc_expr.Evaluate(tmp_bfr, core.Ctx(), expr_bry);
    String expr_rslt = tmp_bfr.To_str_and_rls();
    return rslt.Init_obj(
        expr_rslt); // NOTE: always return rslt; don't throw error even if expr is invalid;
                    // EX:mw.ParserFuntion.expr('fail'); PAGE:es.w:Freer_(Texas) DATE:2015-07-28
  }
}