--- nfo/perl/libs/Data/Transfer/Sync/Core.pm 2003/05/13 08:17:52 1.9 +++ nfo/perl/libs/Data/Transfer/Sync/Core.pm 2004/05/11 20:03:48 1.11 @@ -1,6 +1,6 @@ ## ------------------------------------------------------------------------- ## -## $Id: Core.pm,v 1.9 2003/05/13 08:17:52 joko Exp $ +## $Id: Core.pm,v 1.11 2004/05/11 20:03:48 jonen Exp $ ## ## Copyright (c) 2002 Andreas Motl ## @@ -8,6 +8,12 @@ ## ## ------------------------------------------------------------------------- ## $Log: Core.pm,v $ +## Revision 1.11 2004/05/11 20:03:48 jonen +## bugfix[joko] related to Attribute Map +## +## Revision 1.10 2003/06/25 23:03:57 joko +## no debugging +## ## Revision 1.9 2003/05/13 08:17:52 joko ## buildAttributeMap now propagates error ## @@ -101,6 +107,7 @@ #use misc::HashExt; use Hash::Serializer; use Data::Mungle::Compare::Struct qw( getDifference isEmpty ); +use Data::Mungle::Transform::Deep qw( deep_copy expand ); use Data::Storage::Container; use DesignPattern::Object; use shortcuts::database qw( quotesql ); @@ -188,7 +195,8 @@ return; } - + #print Dumper(@$results); + #exit; # check if we actually *have* a synchronization method if (!$self->{options}->{metadata}->{syncMethod}) { @@ -199,12 +207,15 @@ # dereference my @results = @{$results}; + #print Dumper(@results); # iterate through set foreach my $source_node_real (@results) { print ":" if $self->{verbose}; + #print Dumper($source_node_real); + $tc->{total}++; #print "======================== iter", "\n"; @@ -216,12 +227,13 @@ # - after all, just take care for now that this object doesn't get updated! # - so, just use its reference for now - if some cloning is needed in future, do this here! my $source_node = $source_node_real; + #my $source_node = expand($source_node_real); # modify entry - handle new style callbacks (the readers) # trace - #print Dumper($source_node); - #exit; + #print Dumper($source_node); + #exit; my $descent = 'source'; @@ -237,6 +249,8 @@ foreach my $node (keys %{$callbacks->{read}}) { + #print "cb_node: $node", "\n"; + my $object = $source_node; my $value; # = $source_node->{$node}; @@ -355,10 +369,14 @@ next; } + #print Dumper($self->{node}->{source}); + # build map to actually transfer the data from source to target if (!$self->buildAttributeMap()) { #$logger->warning( __PACKAGE__ . "->_run: Attribute Map could not be created. Will not insert or modify node."); - $tc->{skip}++; + push( @{$tc->{error_per_row}}, "Attribute Map could not be created. Will not insert or modify node $self->{node}->{source}->{ident}."); + #push( @{$tc->{error_per_row}}, "Attribute Map could not be created. Will not insert or modify node " . Dumper($self->{node}->{source}) . "."); + $tc->{error}++; print "e" if $self->{verbose}; next; } @@ -425,6 +443,9 @@ $self->_doModifySource_IdentChecksum($self->{node}->{target}->{ident}); } + #print "UNLOAD", "\n"; + #$self->{meta}->{source}->{storage}->unload( $self->{node}->{source}->{payload} ); + } print "\n" if $self->{verbose};