Change Run to Task. Add Percona/WebAPI/Exception/Resource.pm.

This commit is contained in:
Daniel Nichter
2013-03-01 09:47:49 -07:00
parent 0be24a3b8d
commit 5e5943bd36
9 changed files with 217 additions and 59 deletions

View File

@@ -22,7 +22,7 @@ package Percona::WebAPI::Resource::Config;
use Lmo;
has 'config_id' => (
has 'ts' => (
is => 'ro',
isa => 'Int',
required => 1,

View File

@@ -28,9 +28,9 @@ has 'name' => (
required => 1,
);
has 'runs' => (
has 'tasks' => (
is => 'ro',
isa => 'ArrayRef[Percona::WebAPI::Resource::Run]',
isa => 'ArrayRef[Percona::WebAPI::Resource::Task]',
required => 1,
);
@@ -55,13 +55,13 @@ has 'links' => (
sub BUILDARGS {
my ($class, %args) = @_;
if ( ref $args{runs} eq 'ARRAY' ) {
my @runs;
foreach my $run_hashref ( @{$args{runs}} ) {
my $run = Percona::WebAPI::Resource::Run->new(%$run_hashref);
push @runs, $run;
if ( ref $args{tasks} eq 'ARRAY' ) {
my @tasks;
foreach my $run_hashref ( @{$args{tasks}} ) {
my $task = Percona::WebAPI::Resource::Task->new(%$run_hashref);
push @tasks, $task;
}
$args{runs} = \@runs;
$args{tasks} = \@tasks;
}
return $class->SUPER::BUILDARGS(%args);
}

View File

@@ -15,13 +15,19 @@
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA.
# ###########################################################################
# Percona::WebAPI::Resource::Run package
# Percona::WebAPI::Resource::Task package
# ###########################################################################
{
package Percona::WebAPI::Resource::Run;
package Percona::WebAPI::Resource::Task;
use Lmo;
has 'name' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'number' => (
is => 'ro',
isa => 'Int',
@@ -30,7 +36,7 @@ has 'number' => (
has 'program' => (
is => 'ro',
isa => 'Str',
isa => 'Maybe[Str]',
required => 1,
);
@@ -48,7 +54,7 @@ has 'query' => (
has 'output' => (
is => 'ro',
isa => 'Str',
isa => 'Maybe[Str]',
required => 1,
);
@@ -58,5 +64,5 @@ no Lmo;
1;
}
# ###########################################################################
# End Percona::WebAPI::Resource::Run package
# End Percona::WebAPI::Resource::Task package
# ###########################################################################