--- nfo/perl/libs/Data/Storage/Container.pm 2002/12/04 07:38:07 1.4 +++ nfo/perl/libs/Data/Storage/Container.pm 2003/01/19 02:39:57 1.5 @@ -1,8 +1,12 @@ ################################################ # -# $Id: Container.pm,v 1.4 2002/12/04 07:38:07 jonen Exp $ +# $Id: Container.pm,v 1.5 2003/01/19 02:39:57 joko Exp $ # # $Log: Container.pm,v $ +# Revision 1.5 2003/01/19 02:39:57 joko +# + moved 'deep_copy' from module 'libp' to module 'Data::Transform::Deep' +# + preserved order for hashes '$self->{config}' and '$self->{locator}' by using Tie::IxHash +# # Revision 1.4 2002/12/04 07:38:07 jonen # + deep copy # @@ -31,8 +35,12 @@ # get logger instance my $logger = Log::Dispatch::Config->instance; -use libp qw( deep_copy ); + +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - main +use Tie::IxHash; use Data::Dumper; + +use Data::Transform::Deep qw( deep_copy ); use Data::Storage; #use Data::Storage::Locator; @@ -46,7 +54,14 @@ $logger->debug( __PACKAGE__ . "->new( @args )" ); my $self = { @_ }; - return bless $self, $class; + bless $self, $class; + + # preserve order of configuration variables + #$self->{config} = {}; + tie %{$self->{config}}, 'Tie::IxHash'; + tie %{$self->{locator}}, 'Tie::IxHash'; + + return $self; } sub addConfig { @@ -116,6 +131,7 @@ sub initLocators { my $self = shift; foreach (keys %{$self->{config}}) { + #print $_, "\n"; $self->initLocator($_, $self->{config}->{$_}) if !/^_/; } #print "locs: ", Dumper($self->{locator}); @@ -202,6 +218,7 @@ sub initStorages { my $self = shift; foreach (keys %{$self->{locator}}) { + #print $_, "\n"; $self->initStorage($_); } }