several bug fixes

This commit is contained in:
JT Smith 2006-04-10 03:47:39 +00:00
parent 08d0efe060
commit 1f6a6a2ba1
3 changed files with 11 additions and 6 deletions

View file

@ -314,6 +314,8 @@ sub loadSchedule {
my $session = WebGUI::Session->open($self->config->getWebguiRoot, $config); my $session = WebGUI::Session->open($self->config->getWebguiRoot, $config);
my $result = $session->db->read("select * from WorkflowSchedule"); my $result = $session->db->read("select * from WorkflowSchedule");
while (my $data = $result->hashRef) { while (my $data = $result->hashRef) {
my $params = JSON::jsonToObj($data->{parameters});
$data->{parameters} = $params->{parameters};
$data->{config} = $config; $data->{config} = $config;
$data->{sitename} = $session->config->get("sitename")->[0]; $data->{sitename} = $session->config->get("sitename")->[0];
$kernel->yield("addJob", $data); $kernel->yield("addJob", $data);

View file

@ -116,7 +116,7 @@ sub get {
my $self = shift; my $self = shift;
my $name = shift; my $name = shift;
if ($name eq "parameters") { if ($name eq "parameters") {
my $parameters = JSON::jsonToObj( $self->{_data}{$name}); my $parameters = JSON::jsonToObj($self->{_data}{$name});
return $parameters->{parameters}; return $parameters->{parameters};
} }
return $self->{_data}{$name}; return $self->{_data}{$name};

View file

@ -134,7 +134,7 @@ sub get {
my $self = shift; my $self = shift;
my $name = shift; my $name = shift;
if ($name eq "parameters") { if ($name eq "parameters") {
my $parameters = JSON::jsonToObj( $self->{_data}{$name}); my $parameters = JSON::jsonToObj($self->{_data}{$name});
return $parameters->{parameters}; return $parameters->{parameters};
} }
return $self->{_data}{$name}; return $self->{_data}{$name};
@ -249,7 +249,6 @@ sub run {
return "done"; return "done";
} }
$self->session->errorHandler->debug("Running workflow activity ".$activity->getId.", which is a ".(ref $activity).", for instance ".$self->getId."."); $self->session->errorHandler->debug("Running workflow activity ".$activity->getId.", which is a ".(ref $activity).", for instance ".$self->getId.".");
my $object = {};
my $class = $self->get("className"); my $class = $self->get("className");
my $method = $self->get("methodName"); my $method = $self->get("methodName");
my $params = $self->get("parameters"); my $params = $self->get("parameters");
@ -258,12 +257,16 @@ sub run {
my $cmd = "use $class"; my $cmd = "use $class";
eval($cmd); eval($cmd);
if ($@) { if ($@) {
$self->session->errorHandler->warn("Error loading activity class $class: ".$@); $self->session->errorHandler->error("Error loading activity class $class: ".$@);
return "error"; return "error";
} }
eval{ $object = $class->$method($self->session, $params) }; my $object = eval{ $class->$method($self->session, $params) };
if ($@) { if ($@) {
$self->session->errorHandler->warn("Error instanciating activity (".$activity->getId.") pass-in object: ".$@); $self->session->errorHandler->error("Error instanciating activity (".$activity->getId.") pass-in object: ".$@);
return "error";
}
unless (defined $object) {
$self->session->errorHandler->error("Pass in object came back undefined for activity (".$activity->getId.") using ".$class.", ".$method.", ".$params.".");
return "error"; return "error";
} }
$status = $activity->execute($object, $self); $status = $activity->execute($object, $self);