acs_sc::msg_type::parse_spec (private)
acs_sc::msg_type::parse_spec -name name -spec spec
Defined in packages/acs-service-contract/tcl/msg-type-procs.tcl
#The specification for the message type could be like this! #case_id:integer #foobar:string,multiple
- Switches:
- -name
(required)- Name of new msg_type
- -spec
(required)- Spec in ad_page_contract style format, namely { foo:integer bar:string,multiple }
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: db_transaction { # First, create the msg_type acs_sc::msg_type::new -name $name set nargs 0 # Then create the elements foreach element $spec { incr nargs # element:flag,flag set elementv [split $element :] set flagsv [split [lindex $elementv 1] ","] set element_name [string trim [lindex $elementv 0]] if { [llength $flagsv] > 1 } { set idx [lsearch $flagsv "multiple"] if { [llength $flagsv] > 2 || $idx == -1 } { error "Only one modified flag allowed, and that's multiple as in foo:integer,multiple" } # Remove the 'multiple' flag set flagsv [lreplace $flagsv $idx $idx] set element_type "[lindex $flagsv 0]" set isset_p "t" } else { set element_type [lindex $flagsv 0] set isset_p "f" } acs_sc::msg_type::element::new -msg_type_name $name -element_name $element_name -element_msg_type_name $element_type -element_msg_type_isset_p $isset_p -element_pos $nargs } } return $nargsGeneric XQL file: packages/acs-service-contract/tcl/msg-type-procs.xql
PostgreSQL XQL file: packages/acs-service-contract/tcl/msg-type-procs-postgresql.xql
Oracle XQL file: packages/acs-service-contract/tcl/msg-type-procs-oracle.xql