Changeset 29685 for main/trunk/package-kits/scripts
- Timestamp:
- 2015-01-14T11:12:49+13:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/package-kits/scripts/gs-mkservlet.pl
r29684 r29685 12 12 13 13 my $delete = 0; 14 my $file = "/usr/share/greenstone/web/WEB-INF/servlets.xml"; 15 my $description = ""; 16 my $class = "org.greenstone.gsdl3.LibraryServlet"; 17 my ($name, $site, $interface); 14 my %params = ( 15 'file' => "/usr/share/greenstone/web/WEB-INF/servlets.xml", 16 'name' => undef, 17 'description' => "", 18 'class' => "org.greenstone.gsdl3.LibraryServlet", 19 'library' => undef, 20 'site' => undef, 21 'interface' => undef, 22 'receptionist' => "DefaultReceptionist", 23 'default_lang' => "en", 24 ); 18 25 19 26 while (@ARGV) { 20 27 for (shift) { 21 if (/^-delete$/) { 22 $delete = 1; 23 } elsif (/^-file$/) { 24 ($file = shift) or die "Expected -file <file>\n"; 25 } elsif (/^-name$/) { 26 ($name = shift) or die "Expected -name <name>\n"; 27 } elsif (/^-desc\(ription\)?$/) { 28 ($description = shift) or die "Expected -desc <description>\n"; 29 } elsif (/^-class$/) { 30 ($class = shift) or die "Expected -class <class>\n"; 31 } elsif (/^-site$/) { 32 ($site = shift) or die "Expected -site <site>\n"; 33 } elsif (/^-interface$/) { 34 ($interface = shift) or die "Expected -interface <interface>\n"; 35 } else { 36 die "Unknown flag '$_'\n"; 28 if (s/^-//) { 29 if (/^delete$/) { 30 $delete = 1; 31 last; 32 } elsif (exists $params{$_}) { 33 ($params{$_} = shift) or die "Expected -$_ <$_>\n"; 34 last; 35 } 37 36 } 37 die "Unknown flag '$_'\n"; 38 38 } 39 39 } 40 40 41 41 if ($delete) { 42 my $servlets = read_xml $ file;42 my $servlets = read_xml $params{file}; 43 43 44 44 my $deleted = 0; … … 46 46 my $servlet_array = $servlets->get ("servlet"); 47 47 if (ref $servlet_array eq 'ARRAY') { 48 my @array = grep { $_->get ("servlet-name") ne $ name} @$servlet_array;48 my @array = grep { $_->get ("servlet-name") ne $params{name} } @$servlet_array; 49 49 $deleted = (scalar @array < scalar @$servlet_array); 50 50 $servlets->set ("servlet" => \@array); 51 } elsif ($servlet_array->get ("servlet-name") eq $ name) {51 } elsif ($servlet_array->get ("servlet-name") eq $params{name}) { 52 52 $servlets->delete ("servlet"); 53 53 $deleted = 1; … … 56 56 die "Servlet not found\n" unless $deleted; 57 57 58 write_xml ($servlets, $ file);58 write_xml ($servlets, $params{file}); 59 59 } else { 60 (defined $ name and defined $site and defined $interface) or die "Requires name, site, interface\n";60 (defined $params{name} and defined $params{site} and defined $params{interface}) or die "Requires name, site, interface\n"; 61 61 62 Greenstone::Site->new ($ site)->exists or die "Site '$site' does not exist\n";63 Greenstone::Interface->new ($ interface)->exists or die "Interface '$interface' does not exist\n";62 Greenstone::Site->new ($params{site})->exists or die "Site '$params{site}' does not exist\n"; 63 Greenstone::Interface->new ($params{interface})->exists or die "Interface '$params{interface}' does not exist\n"; 64 64 65 my $servlets = read_xml $ file;65 my $servlets = read_xml $params{file}; 66 66 67 67 my $servlet_array = $servlets->get ("servlet"); … … 70 70 } 71 71 for my $servlet (@$servlet_array) { 72 $servlet->get ("servlet-name") eq $ nameand die "A servlet already exists with that name\n";72 $servlet->get ("servlet-name") eq $params{name} and die "A servlet already exists with that name\n"; 73 73 my $servlet_params = $servlet->get ("init-param"); 74 74 unless (ref $servlet_params eq 'ARRAY') { … … 85 85 } 86 86 } 87 $servlet_site eq $ site and $servlet_interface eq $interfaceand87 $servlet_site eq $params{site} and $servlet_interface eq $params{interface} and 88 88 die "A servlet already exists with that combination of site and interface\n"; 89 89 } … … 101 101 Hash::Ordered->new ( 102 102 'servlet' => Hash::Ordered->new ( 103 'servlet-name' => $ name,104 'description' => $ description,105 'servlet-class'=> $ class,103 'servlet-name' => $params{name}, 104 'description' => $params{description}, 105 'servlet-class'=> $params{class}, 106 106 'init-param' => [ 107 init_param ('site_name', $site), 108 init_param ('interface_name', $interface), 107 init_param ('library_name', 108 (defined $params{library} ? $params{library} : $params{name} )), 109 init_param ('site_name', $params{site}), 110 init_param ('interface_name', $params{interface}), 111 init_param ('receptionist_class', $params{receptionist}), 112 init_param ('default_lang', $params{default_lang}), 109 113 ], 110 114 ), 111 115 ), 112 $ file,116 $params{file}, 113 117 '>>' 114 118 );
Note:
See TracChangeset
for help on using the changeset viewer.