From 60708754c26e10ee5e8cb5e5f765f8d88c6dcb50 Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 30 Jan 2006 15:49:54 +0000 Subject: [PATCH] moving to UNIVERSAL::require to suck in implementation modules git-svn-id: svn://svn.open-ils.org/ILS/trunk@2888 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../OpenILS/Application/Circ/Rules.pm | 2 +- .../perlmods/OpenILS/Application/Search.pm | 2 +- .../perlmods/OpenILS/Application/Storage.pm | 8 +-- .../OpenILS/Application/Storage/CDBI.pm | 2 +- .../OpenILS/Application/Storage/Publisher.pm | 71 +++++++++++++++---- Open-ILS/src/perlmods/OpenILS/EX.pm | 2 +- Open-ILS/src/perlmods/OpenILS/Perm.pm | 2 +- Open-ILS/src/perlmods/OpenILS/WWW/FastJS.pm | 2 +- Open-ILS/src/perlmods/OpenILS/WWW/Redirect.pm | 2 +- Open-ILS/src/perlmods/OpenILS/WWW/Reporter.pm | 2 +- Open-ILS/src/perlmods/OpenILS/WWW/Web.pm | 2 +- OpenSRF/src/perlmods/OpenSRF.pm | 1 + OpenSRF/src/perlmods/OpenSRF/Application.pm | 2 +- OpenSRF/src/perlmods/OpenSRF/DOM.pm | 2 +- OpenSRF/src/perlmods/OpenSRF/System.pm | 3 +- OpenSRF/src/perlmods/OpenSRF/Transport.pm | 2 +- .../perlmods/OpenSRF/Transport/Listener.pm | 2 +- .../perlmods/OpenSRF/Transport/PeerHandle.pm | 2 +- 18 files changed, 78 insertions(+), 33 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Rules.pm b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Rules.pm index ab86c73c96..2de0ae1230 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Circ/Rules.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Circ/Rules.pm @@ -22,7 +22,7 @@ use OpenILS::Utils::Fieldmapper; use OpenILS::EX; use OpenSRF::Utils::Logger qw(:level); -use Template qw(:template); +use Template; use Template::Stash; use Time::HiRes qw(time); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Search.pm b/Open-ILS/src/perlmods/OpenILS/Application/Search.pm index 3abe2ae2d5..39100a2939 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Search.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Search.pm @@ -38,7 +38,7 @@ sub initialize { $implementation = "OpenILS::Application::Search::AddedContent" unless $implementation; $logger->debug("Attempting to load Added Content handler: $implementation"); - eval "use $implementation"; + $implementation->use; if($@) { $logger->error("Unable to load Added Content handler [$implementation]: $@"); return; diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage.pm index d02cc9cd2d..dda401215d 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage.pm @@ -27,7 +27,7 @@ sub initialize { $log->debug("Attempting to load $driver ...", DEBUG); - eval "use $driver;"; + $driver->use; if ($@) { $log->debug( "Can't load $driver! : $@", ERROR ); $log->error( "Can't load $driver! : $@"); @@ -39,13 +39,13 @@ sub initialize { # Suck in the method publishing modules @OpenILS::Application::Storage::CDBI::ISA = ( $driver ); - eval 'use OpenILS::Application::Storage::Publisher;'; + OpenILS::Application::Storage::Publisher->use; if ($@) { $log->debug("FAILURE LOADING Publisher! $@", ERROR); throw OpenILS::EX::PANIC ( "FAILURE LOADING Publisher! : $@" ); } - #eval 'use OpenILS::Application::Storage::WORM;'; - eval 'use OpenILS::Application::WoRM;'; + + OpenILS::Application::WoRM->use; if ($@) { $log->debug("FAILURE LOADING WORM! $@", ERROR); throw OpenILS::EX::PANIC ( "FAILURE LOADING WoRM! : $@" ); diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm index 684487863f..1719823ca7 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm @@ -18,7 +18,7 @@ use JSON; use OpenSRF::Utils::Logger qw(:level); use OpenSRF::EX qw/:try/; -our $VERSION = undef; +our $VERSION = 1; my $log = 'OpenSRF::Utils::Logger'; sub child_init { diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm index dee13612df..35237c21cb 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm @@ -338,24 +338,67 @@ sub batch_call { return $insert_total; } -eval ' -use OpenILS::Application::Storage::Publisher::actor; -use OpenILS::Application::Storage::Publisher::action; -use OpenILS::Application::Storage::Publisher::asset; -use OpenILS::Application::Storage::Publisher::biblio; -use OpenILS::Application::Storage::Publisher::config; -use OpenILS::Application::Storage::Publisher::metabib; -use OpenILS::Application::Storage::Publisher::authority; -use OpenILS::Application::Storage::Publisher::money; -use OpenILS::Application::Storage::Publisher::permission; -use OpenILS::Application::Storage::Publisher::container; -'; +OpenILS::Application::Storage::Publisher::actor->use; +if ($@) { + $log->debug("ARG! Couldn't load actor class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load actor class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::action->use; +if ($@) { + $log->debug("ARG! Couldn't load action class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load action class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::asset->use; +if ($@) { + $log->debug("ARG! Couldn't load asset class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load asset class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::biblio->use; +if ($@) { + $log->debug("ARG! Couldn't load biblio class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load biblio class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::config->use; +if ($@) { + $log->debug("ARG! Couldn't load config class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load config class Publisher: $@"); +} +OpenILS::Application::Storage::Publisher::metabib->use; if ($@) { - $log->debug("ARG! Couldn't load (at least one) class Publisher: $@", ERROR); - throw OpenSRF::EX::ERROR ("ARG! Couldn't load (at least one) class Publisher: $@"); + $log->debug("ARG! Couldn't load metabib class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load metabib class Publisher: $@"); } +OpenILS::Application::Storage::Publisher::authority->use; +if ($@) { + $log->debug("ARG! Couldn't load authority class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load authority class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::money->use; +if ($@) { + $log->debug("ARG! Couldn't load money class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load money class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::permission->use; +if ($@) { + $log->debug("ARG! Couldn't load permission class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load permission class Publisher: $@"); +} + +OpenILS::Application::Storage::Publisher::container->use; +if ($@) { + $log->debug("ARG! Couldn't load container class Publisher: $@", ERROR); + throw OpenSRF::EX::ERROR ("ARG! Couldn't load container class Publisher: $@"); +} + + for my $fmclass ( (Fieldmapper->classes) ) { diff --git a/Open-ILS/src/perlmods/OpenILS/EX.pm b/Open-ILS/src/perlmods/OpenILS/EX.pm index be8ac128d9..f65274e6b6 100644 --- a/Open-ILS/src/perlmods/OpenILS/EX.pm +++ b/Open-ILS/src/perlmods/OpenILS/EX.pm @@ -1,6 +1,6 @@ package OpenILS::EX; use strict; use warnings; -use Template qw(:template); +use Template; use OpenSRF::Utils::SettingsClient; use OpenILS::Utils::Fieldmapper; diff --git a/Open-ILS/src/perlmods/OpenILS/Perm.pm b/Open-ILS/src/perlmods/OpenILS/Perm.pm index dcd2b64645..0bfbeb7a5c 100644 --- a/Open-ILS/src/perlmods/OpenILS/Perm.pm +++ b/Open-ILS/src/perlmods/OpenILS/Perm.pm @@ -1,6 +1,6 @@ package OpenILS::Perm; use strict; use warnings; -use Template qw(:template); +use Template; use OpenSRF::Utils::SettingsClient; use OpenILS::Utils::Fieldmapper; use OpenSRF::EX qw(:try); diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/FastJS.pm b/Open-ILS/src/perlmods/OpenILS/WWW/FastJS.pm index 78c7d08ff8..3b54c3cc7f 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/FastJS.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/FastJS.pm @@ -10,7 +10,7 @@ use Apache::RequestIO (); use Apache::RequestUtil; use CGI (); -use Template qw(:template); +use Template; use OpenSRF::EX qw(:try); diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Redirect.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Redirect.pm index 72505d9d63..7512fcdce1 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Redirect.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Redirect.pm @@ -6,7 +6,7 @@ use Apache2 (); use Apache2::Log; use Apache2::Const -compile => qw(OK REDIRECT :log); use APR::Const -compile => qw(:error SUCCESS); -use Template qw(:template); +use Template; use Apache2::RequestRec (); use Apache2::RequestIO (); use CGI (); diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Reporter.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Reporter.pm index 95b79b0a74..0f29bf4170 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Reporter.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Reporter.pm @@ -13,7 +13,7 @@ use Apache2::RequestUtil; use CGI; use Data::Dumper; -use Template qw(:template); +use Template; use OpenSRF::EX qw(:try); use OpenSRF::System; diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm index 8cb8b8bc27..6d6b1533df 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm @@ -10,7 +10,7 @@ use Apache2::RequestIO (); use Apache2::RequestUtil; #use CGI (); -use Template qw(:template); +use Template; use OpenSRF::EX qw(:try); use OpenSRF::System; diff --git a/OpenSRF/src/perlmods/OpenSRF.pm b/OpenSRF/src/perlmods/OpenSRF.pm index e6fa333668..865f997a2b 100644 --- a/OpenSRF/src/perlmods/OpenSRF.pm +++ b/OpenSRF/src/perlmods/OpenSRF.pm @@ -1,6 +1,7 @@ package OpenSRF; use strict; use Error; +require UNIVERSAL::require; use vars qw/$VERSION $AUTOLOAD/; $VERSION = do { my @r=(q$Revision$=~/\d+/g); sprintf "%d."."%02d"x$#r,@r }; diff --git a/OpenSRF/src/perlmods/OpenSRF/Application.pm b/OpenSRF/src/perlmods/OpenSRF/Application.pm index d55c9ac173..0e2a1cd9ba 100644 --- a/OpenSRF/src/perlmods/OpenSRF/Application.pm +++ b/OpenSRF/src/perlmods/OpenSRF/Application.pm @@ -73,7 +73,7 @@ sub application_implementation { if (defined $app) { $_app = $app; - eval "use $_app;"; + $_app->use; if( $@ ) { $log->error( "Error loading application_implementation: $app -> $@", ERROR); } diff --git a/OpenSRF/src/perlmods/OpenSRF/DOM.pm b/OpenSRF/src/perlmods/OpenSRF/DOM.pm index 7e23d9c67e..8ddb09556d 100644 --- a/OpenSRF/src/perlmods/OpenSRF/DOM.pm +++ b/OpenSRF/src/perlmods/OpenSRF/DOM.pm @@ -74,7 +74,7 @@ sub upcast { my $class = "OpenSRF::DOM::Element::$tag"; unless (exists $_loaded_classes{$class}) { - eval "use $class;"; + $class->use; $_loaded_classes{$class} = 1; } if ($@) { diff --git a/OpenSRF/src/perlmods/OpenSRF/System.pm b/OpenSRF/src/perlmods/OpenSRF/System.pm index 54f8ad6f09..86d340c77e 100644 --- a/OpenSRF/src/perlmods/OpenSRF/System.pm +++ b/OpenSRF/src/perlmods/OpenSRF/System.pm @@ -1,5 +1,6 @@ package OpenSRF::System; use strict; use warnings; +use OpenSRF; use base 'OpenSRF'; use OpenSRF::Utils::Logger qw(:level); use OpenSRF::Transport::Listener; @@ -192,7 +193,7 @@ sub bootstrap { _log( " * Server type: $server_type", INTERNAL ); - eval "use $server_type"; + $server_type->use; if( $@ ) { throw OpenSRF::EX::PANIC ("Cannot set $server_type: $@" ); diff --git a/OpenSRF/src/perlmods/OpenSRF/Transport.pm b/OpenSRF/src/perlmods/OpenSRF/Transport.pm index ffbe3b97d3..d30db4ec21 100644 --- a/OpenSRF/src/perlmods/OpenSRF/Transport.pm +++ b/OpenSRF/src/perlmods/OpenSRF/Transport.pm @@ -56,7 +56,7 @@ sub message_envelope { my( $class, $envelope ) = @_; if( $envelope ) { $message_envelope = $envelope; - eval "use $envelope;"; + $envelope->use; if( $@ ) { $logger->error( "Error loading message_envelope: $envelope -> $@", ERROR); diff --git a/OpenSRF/src/perlmods/OpenSRF/Transport/Listener.pm b/OpenSRF/src/perlmods/OpenSRF/Transport/Listener.pm index 34e54a4266..c3496b120a 100644 --- a/OpenSRF/src/perlmods/OpenSRF/Transport/Listener.pm +++ b/OpenSRF/src/perlmods/OpenSRF/Transport/Listener.pm @@ -32,7 +32,7 @@ sub set_listener { my( $class, $listener ) = @_; OpenSRF::Utils::Logger->transport("Loading Listener $listener", INFO ); if( $listener ) { - eval "use $listener;"; + $listener->use; if( $@ ) { OpenSRF::Utils::Logger->error( "Unable to set transport listener: $@", ERROR ); diff --git a/OpenSRF/src/perlmods/OpenSRF/Transport/PeerHandle.pm b/OpenSRF/src/perlmods/OpenSRF/Transport/PeerHandle.pm index b0dc1236ef..e263971329 100644 --- a/OpenSRF/src/perlmods/OpenSRF/Transport/PeerHandle.pm +++ b/OpenSRF/src/perlmods/OpenSRF/Transport/PeerHandle.pm @@ -29,7 +29,7 @@ classes capabilities. sub set_peer_client { my( $class, $peer ) = @_; if( $peer ) { - eval "use $peer;"; + $peer->use; if( $@ ) { throw OpenSRF::EX::PANIC ( "Unable to set peer client: $@" ); } -- 2.43.2