Index: openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl,v diff -u -N -r1.67 -r1.68 --- openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl 5 May 2008 12:16:56 -0000 1.67 +++ openacs-4/packages/xotcl-core/tcl/05-db-procs.tcl 6 May 2008 12:36:06 -0000 1.68 @@ -1276,7 +1276,7 @@ {-dbn ""} {-sql ""} {-full_statement_name ""} - {-as_order_composite:boolean true} + {-as_ordered_composite:boolean true} {-object_class "::xotcl::Object"} {-named_objects:boolean false} {-destroy_on_cleanup:boolean true} @@ -1307,7 +1307,7 @@ } { if {$object_class eq ""} {set object_class [self]} if {$sql eq ""} {set sql [my instance_select_query]} - if {$as_order_composite} { + if {$as_ordered_composite} { set __result [::xo::OrderedComposite new] if {$destroy_on_cleanup} {$__result destroy_on_cleanup} } else { @@ -1325,7 +1325,7 @@ } else { set o [$object_class new] } - if {$as_order_composite} { + if {$as_ordered_composite} { $__result add $o } elseif {$destroy_on_cleanup} { $o destroy_on_cleanup Index: openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl 13 Nov 2007 11:36:12 -0000 1.6 +++ openacs-4/packages/xotcl-core/tcl/06-param-procs.tcl 6 May 2008 12:36:07 -0000 1.7 @@ -311,7 +311,7 @@ ::xo::db::apm_parameter instantiate_objects \ -sql [::xo::db::apm_parameter instance_select_query] \ -object_class ::xo::db::apm_parameter \ - -as_order_composite false -named_objects true -destroy_on_cleanup false + -as_ordered_composite false -named_objects true -destroy_on_cleanup false ns_log notice "--p got [llength [::xo::db::apm_parameter info instances]] parameters" #foreach p [::xo::db::apm_parameter info instances] { ns_log notice [$p serialize] } Index: openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl,v diff -u -N -r1.12 -r1.13 --- openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl 26 Jan 2008 00:58:59 -0000 1.12 +++ openacs-4/packages/xotcl-core/tcl/20-Ordered-Composite-procs.tcl 6 May 2008 12:36:07 -0000 1.13 @@ -52,7 +52,14 @@ #my log "-- adding __parent [self] to $obj -- calling after_insert" #$obj __after_insert } - + OrderedComposite instproc delete obj { + my instvar __children + set p [lsearch -exact $__children $obj] + if {$p == -1} {error "can't delete '$obj' from $__children"} + set __children [lreplace $__children $p $p] + $obj destroy + } + OrderedComposite instproc last_child {} { lindex [my set __children] end }