/[papo]/papo/zot/zot2dot.pl
ViewVC logotype

Diff of /papo/zot/zot2dot.pl

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

revision 1.6 by jlenton, Mon Dec 2 02:02:53 2002 UTC revision 1.7 by jlenton, Mon Aug 4 22:23:02 2003 UTC
# Line 5  use Data::Dumper; Line 5  use Data::Dumper;
5  use lib "$ENV{HOME}/public_perl/";  use lib "$ENV{HOME}/public_perl/";
6  use Zot;  use Zot;
7    
8  our ($f, $l, $h, $c, $t);  our ($f, $l, $h, $c, $t, $e);
9    
10  my $compact = $c ? 1 : 0;  my $compact = $c ? 1 : 0;
11  my $full = $f ? 1 : 0;  my $full = $f ? 1 : 0;
12  my $labels = $l ? 1 : 0;  my $labels = $l ? 1 : 0;
13  my $history = $h ? 1 : 0;  my $history = $h ? 1 : 0;
14    my $endpoints = $e ? 1 : 0;
15  my %target_tables;  my %target_tables;
16  $target_tables{$_}++  $target_tables{$_}++
17      foreach (split /,/, $t);      foreach (split /,/, $t);
# Line 101  foreach my $root ($zot->roots) Line 102  foreach my $root ($zot->roots)
102                                          $style{'table'});                                          $style{'table'});
103              foreach my $rel ($table->rels)              foreach my $rel ($table->rels)
104              {              {
105                  $a{$table->name} .= sprintf( "    \"%s::%s\" [label=%s %s %s];\n",                   $a{$table->name} .= sprintf( "    \"%s::%s\" [label=%s %s %s];\n",
106                                               $table->name, $rel, $rel,                                                $table->name, $rel, $rel,
107                                               $style{'rel'}{'node'},                                                $style{'rel'}{'node'},
108                                               $rel eq '_table' ? $style{'rel'}{'private'} : '' );                                                $rel eq '_table' ? $style{'rel'}{'private'} : '' );
109                  $a{$table->name} .= sprintf( "    %s -> \"%s::%s\" [%s %s];\n",                   $a{$table->name} .= sprintf( "    %s -> \"%s::%s\" [%s %s];\n",
110                                               $table->name, $table->name, $rel,                                                $table->name, $table->name, $rel,
111                                               $style{'rel'}{'tail'});                                                $style{'rel'}{'tail'});
112    
113                  $relh{$table->name}{$table->rel($rel)} .= sprintf( "    \"%s::%s\" -> %s [lhead=\"cluster_%s\" %s %s];\n",                   $a{'ENDPOINT_' . $table->name} .= sprintf( "    %s [shape=doubleoctagon]\n    \"%s::%s\" -> %s [%s %s];\n",
114                                    $table->name, $rel, $table->rel($rel), $table->rel($rel),                                                $table->rel($rel), $table->name, $rel, $table->rel($rel),
115                                    $style{'rel'}{'head'},                                                $style{'rel'}{'head'})
116                                    $labels ? qq'label="$rel"' : '');                        if ($endpoints and not $target_tables{$table->rel($rel)});
117    
118                     $relh{$table->name}{$table->rel($rel)} .= sprintf( "    \"%s::%s\" -> %s [lhead=\"cluster_%s\" %s %s];\n",
119                                                                        $table->name, $rel, $table->rel($rel), $table->rel($rel),
120                                                                        $style{'rel'}{'head'},
121                                                                        $labels ? qq'label="$rel"' : '');
122    
123                  push( @gotcha,  $table )                   push( @gotcha,  $table )
124                      if ($rel eq '_table');                        if ($rel eq '_table');
125              }              }
126              foreach my $attr ($table->attrs)              foreach my $attr ($table->attrs)
127              {              {
# Line 129  foreach my $root ($zot->roots) Line 135  foreach my $root ($zot->roots)
135              }              }
136    
137              $a{$table->name} .= sprintf "label=\"%s\" %s}\n", $table->name, $style{'cluster'}{'table'} ;              $a{$table->name} .= sprintf "label=\"%s\" %s}\n", $table->name, $style{'cluster'}{'table'} ;
138                $a{$table->name} .= delete $a{'ENDPOINT_' . $table->name}
139                     if exists $a{'ENDPOINT_' . $table->name};
140          }          }
141    
142          foreach my $table (@gotcha)          foreach my $table (@gotcha)

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

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26