The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Schedule::Pluggable::Plugin::JobsFromXMLTemplate;
use Moose::Role;
use XML::Simple;
use Template;
use Carp qw/ croak /;

sub get_job_config {
    my $self = shift;
    my $params = shift;
    my $jobs = undef;
    eval {
        use XML::Simple;
        use Template;
    };
    if ($params->{Jobs}) {
        if (-f $params->{Jobs}) {
            my $tt = Template->new();
            my $processed;
            $tt->process($params->{Jobs}, $params, \$processed)
                or die $tt->error;
            $jobs = XMLin($processed, KeyAttr=>{ name => 'name1'});
        }
        else {
            croak("Xml input file $params->{Jobs} does not exist");
        }
    }
    else  {
        croak("Mandator Parameter Xml input file Jobs missing for JobsFromXML");
    }

    return $jobs->{Job};
}
1;
__END__

=head1 NAME

Schedule::Pluggable::Plugin::JobsFromXMLTemplate - Plugin Role for Schedule::Pluggable to obtain Job configuration from a Template toolkit XML file

=head1 METHODS

=over

=item get_job_config

=back

=cut