| … | |
… | |
| 156 | # |
156 | # |
| 157 | sub set { |
157 | sub set { |
| 158 | my $self = shift; my %D = (@_); |
158 | my $self = shift; my %D = (@_); |
| 159 | my $data = $self->{context}{$self->{dataName}}; |
159 | my $data = $self->{context}{$self->{dataName}}; |
| 160 | foreach my $x (keys(%D)) { |
160 | foreach my $x (keys(%D)) { |
| 161 | $data->{$x} = (defined($data->{$x}) && ref($data->{$x}) eq 'HASH') ? |
161 | my $xref = $data->{$x}; |
| 162 | {%{$data->{$x}},%{$D{$x}}} : |
162 | if (defined($xref) && ref($xref) eq 'HASH') { |
| 163 | $self->create($D{$x}); |
163 | foreach my $id (keys %{$D{$x}}) {$xref->{$id} = $D{$x}{$id}} |
|
|
164 | } else { |
|
|
165 | $data->{$x} = $self->create($D{$x}); |
|
|
166 | } |
| 164 | }; |
167 | }; |
| 165 | } |
168 | } |
| 166 | |
169 | |
| 167 | # |
170 | # |
| 168 | # Get the names of all items |
171 | # Get the names of all items |