Changeset 21687

Show
Ignore:
Timestamp:
27.01.2010 20:54:06 (9 years ago)
Author:
ak19
Message:

1. Minor changes for when when fedora uses Greenstone 3's tomcat: Only for GS3 in this case, don't need the file gsdl.xml since the file greenstone3.xml in GS3's tomcat already contains the necessary information. 2. In g2futil.pm: When writing out the file gsdl.xml, tries for 1 x 20 seconds to see whether the fedora server has started up again.

Location:
main/trunk/greenstone2
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/bin/script/g2f-buildcol.pl

    r18590 r21687  
    170170 
    171171    if (!$collectdir) { 
    172     ##    my $collect_dir = util::filename_cat($ENV{'GREENSTONE3_HOME'}, 
    173     ##                   "web","sites","localsite","collect"); 
    174  
    175  
    176     $collectdir = util::filename_cat($ENV{'GSDLHOME'},"collect"); 
     172    if($ENV{'GSDL3HOME'}) { 
     173        $collectdir = &util::filename_cat($ENV{'GSDL3HOME'},"sites","localsite","collect"); 
     174    } else { 
     175        $collectdir = util::filename_cat($ENV{'GSDLHOME'},"collect"); 
     176    } 
    177177    } 
    178178 
  • main/trunk/greenstone2/bin/script/g2f-import.pl

    r18590 r21687  
    179179 
    180180    if (!$collectdir) { 
    181     # Explicitly set one 
    182  
    183     ##  $collectdir = util::filename_cat($ENV{'GREENSTONE3_HOME'}, 
    184     ##           "web","sites","localsite","collect"); 
    185  
    186     $collectdir = &util::filename_cat($ENV{'GSDLHOME'},"collect"); 
    187  
    188     } 
    189  
    190     # method that will tell Fedora where the ultimate output of g2f-import and g2f-build 
    191     # will be found: Points Fedora to the collect directory where FedoraMETS will be output. 
    192     &g2futil::write_gsdl_xml_file($hostname, $collectdir, $options); 
     181    # Explicitly set one, depending on whether it's GS2 or GS3 
     182    if($ENV{'GSDL3HOME'}) { 
     183        $collectdir = &util::filename_cat($ENV{'GSDL3HOME'},"sites","localsite","collect"); 
     184    } else { 
     185        $collectdir = &util::filename_cat($ENV{'GSDLHOME'},"collect"); 
     186    } 
     187    } 
     188 
     189    # if GS3, and if Fedora uses Greenstone's tomcat, then we do not need to write out the file gsdl.xml into Fedora's tomcat 
     190    my $localfedora = &util::filename_cat($ENV{'GSDL3SRCHOME'}, "packages", "tomcat", "conf", "Catalina", "localhost", "fedora.xml"); 
     191    unless($ENV{'GSDL3SRCHOME'} && -e $localfedora) { 
     192    # method that will tell Fedora where the ultimate output of g2f-import and g2f-build 
     193    # will be found: Points Fedora to the collect directory where FedoraMETS will be output. 
     194    &g2futil::write_gsdl_xml_file($hostname, $collectdir, $options); 
     195    } 
    193196 
    194197    my $full_gs_col = &util::filename_cat($collectdir,$gs_col); 
  • main/trunk/greenstone2/perllib/g2futil.pm

    r21588 r21687  
    291291    # The top of this file has already made sure that FEDORA_HOME is set, but for GS3 
    292292    # CATALINA_HOME is set to GS' own tomcat. Since we'll be working with fedora, we need 
    293     # to temporarily set CATALINA_HOME to fedora's tomcat. (Catalina is undefined for GS2). 
     293    # to temporarily set CATALINA_HOME to fedora's tomcat. (Catalina is undefined for GS2.) 
    294294    my $gs_catalina_home = $ENV{'CATALINA_HOME'} if defined $ENV{'CATALINA_HOME'}; 
    295295    $ENV{'CATALINA_HOME'} = &util::filename_cat($ENV{'FEDORA_HOME'}, "tomcat"); 
     
    396396    print STDERR "Fedora server restarted. Waiting for it to become ready...\n"; 
    397397    #print STDERR "****$protocol://$hostname:$port/fedora/search\n"; 
    398      
    399398    $! = 0; 
    400  
    401399    #my $fedoraServerReady = system("wget -q --spider --waitretry=10 --tries=20 $protocol://$hostname:$port/fedora/search"); 
     400 
    402401    # The retries above won't work if the server isn't running:  
    403402    # http://www.gnu.org/software/wget/manual/wget.html 
     
    406405    # with the exception of fatal errors like "connection refused" or "not found" (404), which ARE NOT RETRIED. 
    407406 
    408     # retry fedora server every second for a total of 15 times until the server is ready 
     407    # retry fedora server every second for a total of 20 times until the server is ready 
    409408    my $fedoraServerReady = 0; 
    410409    my $count = 0; 
     
    416415        #print STDERR "$count second(s)\n"; 
    417416    } 
    418     } while($fedoraServerReady != 0 && $count < 15); 
     417    } while($fedoraServerReady != 0 && $count < 20); 
    419418 
    420419    if($fedoraServerReady != 0) { 
  • main/trunk/greenstone2/perllib/plugouts/FedoraMETSPlugout.pm

    r20414 r21687  
    543543    $gsdl_href =~ s/^$collectparent(\/|\\)?//; # remove the collectparent path in gsdl_href and any trailing slash 
    544544    $gsdl_href =~ s/\\/\//g;                   # make sure we have url paths (which only use / not \) 
    545     $gsdl_href = "/gsdl/$gsdl_href";           # prepend gsdl 
     545    my $localfedora = &util::filename_cat($ENV{'GSDL3SRCHOME'}, "packages", "tomcat", "conf", "Catalina", "localhost", "fedora.xml"); 
     546    if($ENV{'GSDL3SRCHOME'} && -e $localfedora) {                   # prepend gsdl 
     547        $gsdl_href = "/greenstone3/sites/localsite/$gsdl_href";     # Fedora uses Greenstone's tomcat 
     548    } else { 
     549        $gsdl_href = "/gsdl/$gsdl_href"; 
     550    } 
    546551 
    547552    my $fserver = $ENV{'FEDORA_HOSTNAME'}; 
     
    550555    my $fdomain = "http://$fserver:$fport"; 
    551556    $xlink_href  = "$fdomain$gsdl_href"; 
    552     } 
    553      
     557#ERROR: $xlink_href  = "$fname"; 
     558    } 
    554559 
    555560    return $xlink_href; 
     
    674679           $gsdl_href =~ s/^$collectparent(\/|\\)?//; # remove the collectparent path in gsdl_href and any trailing slash 
    675680           $gsdl_href =~ s/\\/\//g;                   # make sure we have url paths (which only use / not \) 
    676            $gsdl_href = "/gsdl/$gsdl_href";           # prepend gsdl 
     681           my $localfedora = &util::filename_cat($ENV{'GSDL3SRCHOME'}, "packages", "tomcat", "conf", "Catalina", "localhost", "fedora.xml"); 
     682           if($ENV{'GSDL3SRCHOME'} && -e $localfedora) {                   # prepend gsdl 
     683           $gsdl_href = "/greenstone3/sites/localsite/$gsdl_href";     # Fedora uses Greenstone's tomcat 
     684           } else { 
     685           $gsdl_href = "/gsdl/$gsdl_href"; 
     686           } 
    677687 
    678688           my $fserver = $ENV{'FEDORA_HOSTNAME'}; 
     
    681691           my $fdomain = "http://$fserver:$fport"; 
    682692           $xlink_href = "xlink:href=\"$fdomain$gsdl_href\""; 
     693#ERROR: $xlink_href = "xlink:href=\"$assfilePath\""; 
    683694       } 
    684695