From 872dcfceab392c57dab38d5d8197b37dc4cb6c78 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 27 Jan 2010 22:11:42 -0800 Subject: [PATCH] fix PurgeOldAssetRevisions Workflow Activity. --- .../Workflow/Activity/PurgeOldAssetRevisions.pm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/WebGUI/Workflow/Activity/PurgeOldAssetRevisions.pm b/lib/WebGUI/Workflow/Activity/PurgeOldAssetRevisions.pm index d83696795..b3ded13f5 100644 --- a/lib/WebGUI/Workflow/Activity/PurgeOldAssetRevisions.pm +++ b/lib/WebGUI/Workflow/Activity/PurgeOldAssetRevisions.pm @@ -18,6 +18,7 @@ package WebGUI::Workflow::Activity::PurgeOldAssetRevisions; use strict; use base 'WebGUI::Workflow::Activity'; use WebGUI::Asset; +use WebGUI::Exception; =head1 NAME @@ -99,16 +100,16 @@ sub execute { } # instanciate and purge - my $asset = WebGUI::Asset->new($session, $id,$class,$version); - if (defined $asset) { + my $asset = eval { WebGUI::Asset->newById($session, $id, $version); }; + if (Exception::Class->caught()) { + $log->error("Could not instanciate asset $id $class $version perhaps it is corrupt.") + } + else { if ($asset->getRevisionCount("approved") > 1) { $log->info("Purging revision $version for asset $id."); $asset->purgeRevision; } - } - else { - $log->error("Could not instanciate asset $id $class $version perhaps it is corrupt.") - } + } # give up if we're taking too long if (time() - $start > $ttl) {