/[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.4 by joko, Fri Feb 14 14:06:20 2003 UTC
# Line 6  Line 6 
6  ##  ##
7  ##    ----------------------------------------------------------------------------------------  ##    ----------------------------------------------------------------------------------------
8  ##    $Log$  ##    $Log$
9    ##    Revision 1.4  2003/02/14 14:06:20  joko
10    ##    + minor fix to old metadata structure
11    ##
12    ##    Revision 1.3  2003/02/11 06:28:24  joko
13    ##    + changes to metadata structure
14    ##
15  ##    Revision 1.2  2003/02/09 05:02:05  joko  ##    Revision 1.2  2003/02/09 05:02:05  joko
16  ##    + major structure changes  ##    + major structure changes
17  ##    - refactored code to sister modules  ##    - refactored code to sister modules
# Line 29  use mixin::with qw( Data::Transfer::Sync Line 35  use mixin::with qw( Data::Transfer::Sync
35    
36  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   main  # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   main
37    
 # get logger instance  
 my $logger = Log::Dispatch::Config->instance;  
   
38  use Data::Dumper;  use Data::Dumper;
39    use libdb qw( quotesql );
40    use Data::Transform::Deep qw( refexpr2perlref );
41    
42    # get logger instance
43    my $logger = Log::Dispatch::Config->instance;
44    
45  # TODO: refactor (still)!!! take this list from already established/given metadata ....  # TODO: refactor (still)!!! take this list from already established/given metadata ....
46  # .... 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 49  sub options2metadata {
49    
50    $logger->debug( __PACKAGE__ . "->transformMetadata" );    $logger->debug( __PACKAGE__ . "->transformMetadata" );
51    
52  #print Dumper($self->{options});    # trace
53        #print Dumper($self->{options});
54        #print Dumper($self->{args_raw});
55        #exit;
56    
57    # decompose identifiers and write to metadata (for each descent)    # decompose identifiers and write to metadata (for each descent)
58    foreach ('source', 'target') {    foreach ('source', 'target') {
# Line 60  sub options2metadata { Line 69  sub options2metadata {
69      $self->{meta}->{$_}->{nodeName} = $self->{options}->{$_}->{nodeName};      $self->{meta}->{$_}->{nodeName} = $self->{options}->{$_}->{nodeName};
70            
71      # Filter      # Filter
72      if (my $item_filter = $self->{args}->{$_ . '_filter'}) {      if (my $item_filter = $self->{options}->{$_}->{filter}) {
73        $self->{meta}->{$_}->{filter} = $item_filter;        $self->{meta}->{$_}->{filter} = $item_filter;
74      }      }
75    
# Line 79  sub options2metadata { Line 88  sub options2metadata {
88      }      }
89            
90      # TypeProvider      # TypeProvider
91      if (my $item_type = $self->{args}->{$_ . '_type'}) {      # FIXME! this is still Vdeprecated!!!
92        if (my $item_type = $self->{options}->{$_ . '_type'}) {
93        my @item_type = split(':', $item_type);        my @item_type = split(':', $item_type);
94        $self->{meta}->{$_}->{TypeProvider} = { method => $item_type[0], arg => $item_type[1] };        $self->{meta}->{$_}->{TypeProvider} = { method => $item_type[0], arg => $item_type[1] };
95      }      }
96    
97        # trace
98          #print Dumper($self);
99          #exit;
100            
101      # Callbacks - writers (will be triggered _before_ writing to target)      # Callbacks - writers (will be triggered _before_ writing to target)
102      if (my $item_writers = $self->{args}->{$_ . '_callbacks_write'}) {      if (my $item_writers = $self->{options}->{$_}->{callbacks}->{write}) {
103        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
104        map { $self->{meta}->{$descent}->{Callback}->{write}->{$_}++; } @$item_writers;        map { $self->{meta}->{$descent}->{Callback}->{write}->{$_}++; } @$item_writers;
105      }      }
106            
107      # Callbacks - readers (will be triggered _after_ reading from source)      # Callbacks - readers (will be triggered _after_ reading from source)
108      if (my $item_readers = $self->{args}->{$_ . '_callbacks_read'}) {      if (my $item_readers = $self->{options}->{$_}->{callbacks}->{read}) {
109        my $descent = $_;        my $descent = $_;
110        map { $self->{meta}->{$descent}->{Callback}->{read}->{$_}++; } @$item_readers;        map { $self->{meta}->{$descent}->{Callback}->{read}->{$_}++; } @$item_readers;
111      }      }
112            
113      # resolve storage objects      # resolve storage handles
114      $self->{meta}->{$_}->{storage} = $self->{options}->{$_}->{storage}->{handle};        $self->{meta}->{$_}->{storage} = $self->{options}->{$_}->{storage}->{handle};
115    
116        # transfer storage handle options to metadata
117          #map { $self->{meta}->{$_}->{isIdentAuthority} = 1 } @{$self->{id_authorities}};
118          #map { $self->{meta}->{$_}->{isChecksumAuthority} = 1; } @{$self->{checksum_authorities}};
119          #map { $self->{meta}->{$_}->{isWriteProtected} = 1; } @{$self->{write_protected}};
120          #print Dumper($self->{options}->{$_});
121          #exit;
122          $self->{meta}->{$_}->{isIdentAuthority} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isIdentAuthority};
123          $self->{meta}->{$_}->{isWriteProtected} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isWriteProtected};
124          $self->{meta}->{$_}->{isChecksumAuthority} = $self->{options}->{$_}->{storage}->{handle}->{locator}->{sync}->{isChecksumAuthority};
125    
126    }    }
127    
128    #print Dumper($self->{meta});    #print Dumper($self->{meta});

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

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