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

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

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

revision 1.2 by joko, Sun Feb 9 05:02:05 2003 UTC revision 1.3 by joko, Tue Feb 11 06:28:24 2003 UTC
# Line 6  Line 6 
6  ##  ##
7  ##    ----------------------------------------------------------------------------------------  ##    ----------------------------------------------------------------------------------------
8  ##    $Log$  ##    $Log$
9    ##    Revision 1.3  2003/02/11 06:28:24  joko
10    ##    + changes to metadata structure
11    ##
12  ##    Revision 1.2  2003/02/09 05:02:05  joko  ##    Revision 1.2  2003/02/09 05:02:05  joko
13  ##    + major structure changes  ##    + major structure changes
14  ##    - refactored code to sister modules  ##    - refactored code to sister modules
# Line 29  use mixin::with qw( Data::Transfer::Sync Line 32  use mixin::with qw( Data::Transfer::Sync
32    
33  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   main  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   main
34    
 # get logger instance  
 my $logger = Log::Dispatch::Config->instance;  
   
35  use Data::Dumper;  use Data::Dumper;
36    use libdb qw( quotesql );
37    use Data::Transform::Deep qw( refexpr2perlref );
38    
39    # get logger instance
40    my $logger = Log::Dispatch::Config->instance;
41    
42  # TODO: refactor (still)!!! take this list from already established/given metadata ....  # TODO: refactor (still)!!! take this list from already established/given metadata ....
43  # .... also internally: passing around and mungling these metadata doesn't make sense anymore.  # .... also internally: passing around and mungling these metadata doesn't make sense anymore.
# Line 43  sub options2metadata { Line 46  sub options2metadata {
46    
47    $logger->debug( __PACKAGE__ . "->transformMetadata" );    $logger->debug( __PACKAGE__ . "->transformMetadata" );
48    
49  #print Dumper($self->{options});    # trace
50        #print Dumper($self->{options});
51        #print Dumper($self->{args_raw});
52        #exit;
53    
54    # decompose identifiers and write to metadata (for each descent)    # decompose identifiers and write to metadata (for each descent)
55    foreach ('source', 'target') {    foreach ('source', 'target') {
# Line 60  sub options2metadata { Line 66  sub options2metadata {
66      $self->{meta}->{$_}->{nodeName} = $self->{options}->{$_}->{nodeName};      $self->{meta}->{$_}->{nodeName} = $self->{options}->{$_}->{nodeName};
67            
68      # Filter      # Filter
69      if (my $item_filter = $self->{args}->{$_ . '_filter'}) {      if (my $item_filter = $self->{options}->{$_}->{filter}) {
70        $self->{meta}->{$_}->{filter} = $item_filter;        $self->{meta}->{$_}->{filter} = $item_filter;
71      }      }
72    
# Line 79  sub options2metadata { Line 85  sub options2metadata {
85      }      }
86            
87      # TypeProvider      # TypeProvider
88        # FIXME! this is still Vdeprecated!!!
89      if (my $item_type = $self->{args}->{$_ . '_type'}) {      if (my $item_type = $self->{args}->{$_ . '_type'}) {
90        my @item_type = split(':', $item_type);        my @item_type = split(':', $item_type);
91        $self->{meta}->{$_}->{TypeProvider} = { method => $item_type[0], arg => $item_type[1] };        $self->{meta}->{$_}->{TypeProvider} = { method => $item_type[0], arg => $item_type[1] };
92      }      }
93    
94        # trace
95          #print Dumper($self);
96          #exit;
97            
98      # Callbacks - writers (will be triggered _before_ writing to target)      # Callbacks - writers (will be triggered _before_ writing to target)
99      if (my $item_writers = $self->{args}->{$_ . '_callbacks_write'}) {      if (my $item_writers = $self->{options}->{$_}->{callbacks}->{write}) {
100        my $descent = $_;     # this is important since the following code inside the map wants to use its own context variables        my $descent = $_;     # this is important since the following code inside the map wants to use its own context variables
101        map { $self->{meta}->{$descent}->{Callback}->{write}->{$_}++; } @$item_writers;        map { $self->{meta}->{$descent}->{Callback}->{write}->{$_}++; } @$item_writers;
102      }      }
103            
104      # Callbacks - readers (will be triggered _after_ reading from source)      # Callbacks - readers (will be triggered _after_ reading from source)
105      if (my $item_readers = $self->{args}->{$_ . '_callbacks_read'}) {      if (my $item_readers = $self->{options}->{$_}->{callbacks}->{read}) {
106        my $descent = $_;        my $descent = $_;
107        map { $self->{meta}->{$descent}->{Callback}->{read}->{$_}++; } @$item_readers;        map { $self->{meta}->{$descent}->{Callback}->{read}->{$_}++; } @$item_readers;
108      }      }
109            
110      # resolve storage objects      # resolve storage handles
111      $self->{meta}->{$_}->{storage} = $self->{options}->{$_}->{storage}->{handle};        $self->{meta}->{$_}->{storage} = $self->{options}->{$_}->{storage}->{handle};
112    
113        # transfer storage handle options to metadata
114          #map { $self->{meta}->{$_}->{isIdentAuthority} = 1 } @{$self->{id_authorities}};
115          #map { $self->{meta}->{$_}->{isChecksumAuthority} = 1; } @{$self->{checksum_authorities}};
116          #map { $self->{meta}->{$_}->{isWriteProtected} = 1; } @{$self->{write_protected}};
117          #print Dumper($self->{options}->{$_});
118          #exit;
119          $self->{meta}->{$_}->{isIdentAuthority} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isIdentAuthority};
120          $self->{meta}->{$_}->{isWriteProtected} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isWriteProtected};
121          $self->{meta}->{$_}->{isChecksumAuthority} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isChecksumAuthority};
122    
123    }    }
124    
125    #print Dumper($self->{meta});    #print Dumper($self->{meta});

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

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