]> jspc29.x-matter.uni-frankfurt.de Git - mvdsensorcontrol.git/commitdiff
lot of outsourcing done
authorMichael Wiebusch <stratomaster@gmx.net>
Mon, 15 Jul 2013 18:00:50 +0000 (20:00 +0200)
committerMichael Wiebusch <stratomaster@gmx.net>
Mon, 15 Jul 2013 18:00:50 +0000 (20:00 +0200)
tools/jtageditor.pl
tools/xmlOperations.pm

index 0b78c20dcff6bd332bad7efb23660a7d12b1074d..3e63c3a93e56f97be8caffc5749f91ab92b15427 100755 (executable)
@@ -51,7 +51,7 @@ if ( !keys %cgiHash )
 
 
 # some global variables
-our $parser       = XML::LibXML->new();
+
 our $specFile     = "";
 our $configFile      = "";
 our $specFileName = "";
@@ -60,10 +60,7 @@ our $specTree;
 our $configTree;
 our $configMapsType;
 
-our %fileLevelHash;
 
-our $ancestryTree;
-our @ancestryList;
 
 our $confDir = '../config';
 our $specDir = '../specs';
@@ -377,7 +374,7 @@ sub print_fields {
       $readOnlyFlag = 1;
     }
 
-    print "<tr class='fileLevel" . $fileLevelHash{$isHeritageFrom} . "'>";
+    print "<tr class='fileLevel" . getFileLevel($isHeritageFrom) . "'>";
     print "<td width=120 title=\"$fieldDescr\"";
     print ">$fieldName</td>";
     print "<td> &nbsp;=&nbsp;</td>";
@@ -433,23 +430,23 @@ sub print_ancestorInfo {
   print "<table class='fileLevel'><tr><td>";
 
   #print "<table class='fileLevel1' padding=0 spacing=0><tr><td>";
-  if (@ancestryList)
+  if (getAncestryList())
   {    # if ancestry is not empty, print current ancestry as a nested table
         # and also a button that can unlink the heritage
 
-    my $tableNestingDepth = @ancestryList;
-    for my $ancestor ( reverse(@ancestryList) ) {
-      print "<table class=fileLevel" . $fileLevelHash{$ancestor} . ">";
+    my $tableNestingDepth = getAncestryList();
+    for my $ancestor ( reverse(getAncestryList()) ) {
+      print "<table class=fileLevel" . getFileLevel($ancestor) . ">";
       print "<tr><td colspan=2>";
     }
-    for my $ancestor (@ancestryList) {
+    for my $ancestor (getAncestryList()) {
 
       print "</td></tr><tr><td>$ancestor </td><td valign='bottom'>";
       print "<img src='../share/eye16.png' onclick=''></img>";
       print
 "<input type='checkbox' checked=true onchange='hideThisFileLevel(\"fileLevel"
-        . $fileLevelHash{$ancestor} . "\",this.checked)'></td>";
-      if ( $fileLevelHash{$ancestor} eq "1" ) {
+        . getFileLevel($ancestor) . "\",this.checked)'></td>";
+      if ( getFileLevel($ancestor) eq "1" ) {
         print <<EOF;
 <td class='button_move' title='unlink includes' onclick='changeAncestor("")'>&nbsp;X&nbsp;</td>
 EOF
@@ -508,62 +505,7 @@ EOF
 
 }
 
-###############################
-## general xml tools
-###############################
-
-
-sub mergeTrees { # give me two trees, tree1 overwrites everything in tree0 and will consequently be integrated in tree0
-  my $tree0 = $_[0];
-  my $tree1 = $_[1];
-
-  my $maps0 = $tree0->findnodes("/MAPS")->shift();
-  my $maps1 = $tree1->findnodes("/MAPS")->shift();
-
-  my @registers0 = $tree0->findnodes("/MAPS/register");
-  my @registers1 = $tree1->findnodes("/MAPS/register");
-
-  for my $register1 (@registers1) {
-    my $registerName = $register1->findvalue("./\@name");
-    if ( $registerName eq "" ) {
-      die "registerName in tree1 undefined!";
-    }
-
-    # if current register does not exist in tree0, create it
-    my $register0 =
-      $maps0->findnodes( "./register[\@name='" . $registerName . "']" )
-      ->shift();
-    if ( $register0 eq "" ) {
-      $register0 = $maps0->addNewChild( "", "register" );
-      $register0->setAttribute( "name", $registerName );
-    }
-
-    my @fields1 = $register1->findnodes("./field");
-    for my $field1 (@fields1) {
-      my $fieldName = $field1->findvalue("./\@name");
 
-      # if field with same name exists in tree0/register0 delete it!
-      my $field0 =
-        $register0->findnodes( "./field[\@name='" . $fieldName . "']" )
-        ->shift();
-      unless ( $field0 eq "" ) {
-        $register0->removeChild($field0);
-      }
-
-      # copy current field from tree1/register1 to tree0/register0
-
-      $register0->addChild($field1);
-    }
-
-  }
-}
-
-
-
-sub getAncestor {
-  my $xmltree = $configTree;
-  return ( $xmltree->findvalue("/MAPS/\@inheritSettingsFrom") || "" );
-}
 
 
 
index 54d6deb4a2b9ff52177a44f548f75a1c4edadd6a..176509cbc7a693468af3e0d1006cae8dfc40ce80 100644 (file)
@@ -1,6 +1,19 @@
 #!/usr/bin/perl -w
 
+my $parser       = XML::LibXML->new();
 
+my %fileLevelHash;
+
+my $ancestryTree;
+my @ancestryList;
+
+sub getFileLevel{
+  return $fileLevelHash{$_[0]};
+}
+
+sub getAncestryList{
+  return @ancestryList;
+}
 
 ###############################
 ## xml file operations
@@ -374,6 +387,64 @@ sub writeConfigFile(){
 # description: writes the current $configTree to $configFile
 
 
+###############################
+## general xml tools
+###############################
+
+
+sub mergeTrees { # give me two trees, tree1 overwrites everything in tree0 and will consequently be integrated in tree0
+  my $tree0 = $_[0];
+  my $tree1 = $_[1];
+
+  my $maps0 = $tree0->findnodes("/MAPS")->shift();
+  my $maps1 = $tree1->findnodes("/MAPS")->shift();
+
+  my @registers0 = $tree0->findnodes("/MAPS/register");
+  my @registers1 = $tree1->findnodes("/MAPS/register");
+
+  for my $register1 (@registers1) {
+    my $registerName = $register1->findvalue("./\@name");
+    if ( $registerName eq "" ) {
+      die "registerName in tree1 undefined!";
+    }
+
+    # if current register does not exist in tree0, create it
+    my $register0 =
+      $maps0->findnodes( "./register[\@name='" . $registerName . "']" )
+      ->shift();
+    if ( $register0 eq "" ) {
+      $register0 = $maps0->addNewChild( "", "register" );
+      $register0->setAttribute( "name", $registerName );
+    }
+
+    my @fields1 = $register1->findnodes("./field");
+    for my $field1 (@fields1) {
+      my $fieldName = $field1->findvalue("./\@name");
+
+      # if field with same name exists in tree0/register0 delete it!
+      my $field0 =
+        $register0->findnodes( "./field[\@name='" . $fieldName . "']" )
+        ->shift();
+      unless ( $field0 eq "" ) {
+        $register0->removeChild($field0);
+      }
+
+      # copy current field from tree1/register1 to tree0/register0
+
+      $register0->addChild($field1);
+    }
+
+  }
+}
+
+
+
+# sub getAncestor {
+#   my $xmltree = $configTree;
+#   return ( $xmltree->findvalue("/MAPS/\@inheritSettingsFrom") || "" );
+# }
+
+
 1;
 
 __END__