acs_sc::impl::binding::init_procs (private)

 acs_sc::impl::binding::init_procs -impl_id impl_id

Defined in packages/acs-service-contract/tcl/implementation-procs.tcl

Initialize the procs so we can call the service contract. Note that this proc doesn't really work, because it doesn't initialize the aliases in all interpreters, only in one.

Switches:
-impl_id (required)

Partial Call Graph (max 5 caller/called nodes):
%3 acs_sc::impl::new_from_spec acs_sc::impl::new_from_spec (public) acs_sc::impl::binding::init_procs acs_sc::impl::binding::init_procs acs_sc::impl::new_from_spec->acs_sc::impl::binding::init_procs acs_sc_proc acs_sc_proc (private) acs_sc::impl::binding::init_procs->acs_sc_proc apm_mark_files_for_reload apm_mark_files_for_reload (public) acs_sc::impl::binding::init_procs->apm_mark_files_for_reload db_foreach db_foreach (public) acs_sc::impl::binding::init_procs->db_foreach

Testcases:
No testcase defined.
Source code:
    # LARS:
    # This is a hack to get around the problem with multiple interpreters:
    # We ask the APM to reload the acs-service-contract-init file, which will
    # redefine the service contract wrapper procs

    set file "/packages/acs-service-contract/tcl/acs-service-contract-init.tcl"
    apm_mark_files_for_reload -force_reload [list $file]

    return
    #----------------------------------------------------------------------
    # NOTE: End of actual proc above this line. Stale code below
    #----------------------------------------------------------------------




    # LARS:
    # This is the left-over stuff, which we could one day resurrect if we
    # decide to implement an apm_eval feature, which can eval chunks of code
    # in each interpreter. Then we could just say
    # apm_eval "acs_sc::impl::binding::init_procs_internal -impl_id $impl_id"

    # Get the list of aliases
    db_foreach impl_operation {
        select impl_contract_name,
               impl_operation_name,
               impl_name
        from   acs_sc_impl_aliases
        where  impl_id = :impl_id
    } -column_array row {
        lappend rows [array get row]
    }

    # Register them
    # Hm. We need to do this in all interpreters
    foreach row_list $rows {
        array set row $row_list
        acs_sc_proc $row(impl_contract_name) $row(impl_operation_name) $row(impl_name)
    }
Generic XQL file:
packages/acs-service-contract/tcl/implementation-procs.xql

PostgreSQL XQL file:
packages/acs-service-contract/tcl/implementation-procs-postgresql.xql

Oracle XQL file:
packages/acs-service-contract/tcl/implementation-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: