/[cvs]/nfo/perl/libs/Data/Transfer/Sync/StorageInterface.pm
ViewVC logotype

Diff of /nfo/perl/libs/Data/Transfer/Sync/StorageInterface.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by joko, Fri Feb 14 14:14:38 2003 UTC revision 1.7 by joko, Thu Mar 27 15:31:16 2003 UTC
# Line 6  Line 6 
6  ##  ##
7  ##    ----------------------------------------------------------------------------------------  ##    ----------------------------------------------------------------------------------------
8  ##    $Log$  ##    $Log$
9    ##    Revision 1.7  2003/03/27 15:31:16  joko
10    ##    fixes to modules regarding new namespace(s) below Data::Mungle::*
11    ##
12    ##    Revision 1.6  2003/02/21 01:47:53  joko
13    ##    renamed core function
14    ##
15    ##    Revision 1.5  2003/02/20 20:24:33  joko
16    ##    + additional pre-flight checks
17    ##
18  ##    Revision 1.4  2003/02/14 14:14:38  joko  ##    Revision 1.4  2003/02/14 14:14:38  joko
19  ##    + new code refactored here  ##    + new code refactored here
20  ##  ##
# Line 40  use mixin::with qw( Data::Transfer::Sync Line 49  use mixin::with qw( Data::Transfer::Sync
49  use Data::Dumper;  use Data::Dumper;
50  use Hash::Merge qw( merge );  use Hash::Merge qw( merge );
51  use libdb qw( hash2Sql );  use libdb qw( hash2Sql );
52  use Data::Transform::Deep qw( hash2object );  use Data::Mungle::Transform::Deep qw( merge_to );
53    
54    
55  # get logger instance  # get logger instance
# Line 130  sub _statloadNode { Line 139  sub _statloadNode {
139    my $ident = shift;    my $ident = shift;
140    my $force = shift;    my $force = shift;
141    
142    =pod
143      #print "isa: ", UNIVERSAL::isa($self->{meta}->{$descent}->{storage}), "\n";
144    
145      # this seems to be the first time we access this side,
146      # so just check (again) for a valid storage handle
147      if (! ref $self->{meta}->{$descent}->{storage}) {
148        $logger->critical( __PACKAGE__ . "->_statloadNode( descent=$descent ident=$ident ): Storage handle undefined!" );
149        return;
150      }
151    =cut
152    
153    #$logger->debug( __PACKAGE__ . "->_statloadNode( descent=$descent ident=$ident )" );    #$logger->debug( __PACKAGE__ . "->_statloadNode( descent=$descent ident=$ident )" );
154    
155    # fetch entry to retrieve checksum from    # fetch entry to retrieve checksum from
# Line 237  sub _touchNodeSet { Line 257  sub _touchNodeSet {
257          next;          next;
258        }        }
259            
260        # 2.b check storage handle type
261          my $dbType = $self->{meta}->{$descent}->{storage}->{locator}->{type};
262          if (!$dbType) {
263            $logger->critical( __PACKAGE__ . "->touchNodeSet: Storage ( descent='$descent', dbKey='$dbkey' ) has no 'dbType' - configuration-error?" );
264            next;
265          }
266    
267      # 3. check if descents (and nodes?) are actually available....      # 3. check if descents (and nodes?) are actually available....
268        # TODO:        # TODO:
269        # eventually pre-check mode of access-attempt (read/write) here to provide an "early-croak" if possible        # eventually pre-check mode of access-attempt (read/write) here to provide an "early-croak" if possible
# Line 245  sub _touchNodeSet { Line 272  sub _touchNodeSet {
272        # print Dumper($self->{meta}->{$descent}->{storage}->{locator});        # print Dumper($self->{meta}->{$descent}->{storage}->{locator});
273    
274    
       my $dbType = $self->{meta}->{$descent}->{storage}->{locator}->{type};  
275        my $nodeName = $self->{meta}->{$descent}->{nodeName};        my $nodeName = $self->{meta}->{$descent}->{nodeName};
276        my $accessorType = $self->{meta}->{$descent}->{accessorType};        my $accessorType = $self->{meta}->{$descent}->{accessorType};
277        my $accessorName = $self->{meta}->{$descent}->{accessorName};        my $accessorName = $self->{meta}->{$descent}->{accessorName};
# Line 451  sub _modifyNode { Line 477  sub _modifyNode {
477          # mix in (merge) values ...          # mix in (merge) values ...
478            # TODO: use Hash::Merge here? benchmark!            # TODO: use Hash::Merge here? benchmark!
479            # no! we'd need a Object::Merge here! it's *...2object*            # no! we'd need a Object::Merge here! it's *...2object*
480            hash2object($object, $map);            merge_to($object, $map);
481        
482          # trace          # trace
483            #print Dumper($object);            #print Dumper($object);
# Line 483  sub _modifyNode { Line 509  sub _modifyNode {
509        # mix in values        # mix in values
510          #print Dumper($object);          #print Dumper($object);
511          # TODO: use Hash::Merge here???          # TODO: use Hash::Merge here???
512          hash2object($object, $map);          merge_to($object, $map);
513          #print Dumper($object);          #print Dumper($object);
514          #exit;          #exit;
515    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed