Search in sources :

Example 6 with Job2XMLTransformer

use of org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer in project scheduling by ow2-proactive.

the class Job2XMLTransformerTest method argumentsInScript.

@Test
public void argumentsInScript() throws Exception {
    File xmlFile = tmpFolder.newFile();
    TaskFlowJob job = new TaskFlowJob();
    job.setName("simpleJob");
    String[] params = { "param1", "param2" };
    SimpleScript script = new SimpleScript("\nprint('arguments[0]='+arguments[0])\n", "javascript", params);
    ScriptTask task = new ScriptTask();
    task.setName("testTask");
    task.setScript(new TaskScript(script));
    job.addTask(task);
    new Job2XMLTransformer().job2xmlFile(job, xmlFile);
    TaskFlowJob recreatedJob = (TaskFlowJob) (JobFactory.getFactory().createJob(xmlFile.getAbsolutePath()));
    Assert.assertEquals("param1", ((ScriptTask) recreatedJob.getTask("testTask")).getScript().getParameters()[0].toString());
    Assert.assertEquals("param2", ((ScriptTask) recreatedJob.getTask("testTask")).getScript().getParameters()[1].toString());
}
Also used : ScriptTask(org.ow2.proactive.scheduler.common.task.ScriptTask) TaskScript(org.ow2.proactive.scripting.TaskScript) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) SimpleScript(org.ow2.proactive.scripting.SimpleScript) File(java.io.File) Test(org.junit.Test)

Example 7 with Job2XMLTransformer

use of org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer in project scheduling by ow2-proactive.

the class RestSmartProxyTest method printJobXmlRepresentation.

private void printJobXmlRepresentation(TaskFlowJob job) throws TransformerException, ParserConfigurationException, IOException {
    // debugging the job produced
    String jobXml = new Job2XMLTransformer().jobToxmlString(job);
    System.out.println(jobXml);
}
Also used : Job2XMLTransformer(org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer)

Example 8 with Job2XMLTransformer

use of org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer in project scheduling by ow2-proactive.

the class SchedulerClient method submit.

@Override
public JobId submit(Job job) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException {
    JobIdData jobIdData = null;
    try {
        InputStream is = (new Job2XMLTransformer()).jobToxml((TaskFlowJob) job);
        jobIdData = restApiClient().submitXml(sid, is);
    } catch (Exception e) {
        throwNCEOrPEOrSCEOrJCE(e);
    }
    return jobId(jobIdData);
}
Also used : JobIdData(org.ow2.proactive_grid_cloud_portal.scheduler.dto.JobIdData) Job2XMLTransformer(org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) KeyException(java.security.KeyException) UnknownJobException(org.ow2.proactive.scheduler.common.exception.UnknownJobException) SchedulerRestException(org.ow2.proactive_grid_cloud_portal.scheduler.exception.SchedulerRestException) JobCreationException(org.ow2.proactive.scheduler.common.exception.JobCreationException) PermissionException(org.ow2.proactive.scheduler.common.exception.PermissionException) NotConnectedException(org.ow2.proactive.scheduler.common.exception.NotConnectedException) UnknownTaskException(org.ow2.proactive.scheduler.common.exception.UnknownTaskException) IOException(java.io.IOException) NotConnectedRestException(org.ow2.proactive_grid_cloud_portal.scheduler.exception.NotConnectedRestException) PermissionRestException(org.ow2.proactive_grid_cloud_portal.scheduler.exception.PermissionRestException) TimeoutException(java.util.concurrent.TimeoutException) JobAlreadyFinishedException(org.ow2.proactive.scheduler.common.exception.JobAlreadyFinishedException) UnknownJobRestException(org.ow2.proactive_grid_cloud_portal.scheduler.exception.UnknownJobRestException) SubmissionClosedException(org.ow2.proactive.scheduler.common.exception.SubmissionClosedException)

Example 9 with Job2XMLTransformer

use of org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer in project scheduling by ow2-proactive.

the class TestXMLTransformer method transformAndCompare.

/**
 * The following operations are performed:
 *
 * 1. xmlFile to java => job1
 *
 * 2. job1 = > xmlFle2
 *
 * 3. xmlFile2 to java => job2
 *
 * 4. Compare job1 and job2
 */
private void transformAndCompare(File xmlFile) throws Exception {
    // xml to java => job1
    TaskFlowJob job1 = (TaskFlowJob) (JobFactory.getFactory().createJob(xmlFile.getAbsolutePath()));
    // job1 to xmlFile2
    File xmlFile2 = folder.newFile(xmlFile.getName());
    Job2XMLTransformer transformer = new Job2XMLTransformer();
    transformer.job2xmlFile(job1, xmlFile2);
    // xmlFile2 to job2
    TaskFlowJob job2;
    try {
        job2 = (TaskFlowJob) (JobFactory.getFactory().createJob(xmlFile2.getAbsolutePath()));
    } catch (Exception e) {
        e.printStackTrace();
        String message = "Could not create Job object from generated xml. \n";
        message += "Generated xml content was : \n ****** " + xmlFile2.getAbsolutePath() + " ***********\n ";
        message += FileUtils.readFileToString(xmlFile2);
        message += "\n *************************** ";
        throw new Exception(message, e);
    }
    // compare job1 and job2
    JobComparator comparator = new JobComparator();
    if (!comparator.isEqualJob(job1, job2)) {
        String message = "Jobs are not equal for file " + xmlFile + "\n";
        message += "Reason: " + comparator.getDifferenceMessage() + "\n";
        message += "Generated xml content was : \n ****** " + xmlFile2.getAbsolutePath() + " *********** \n ";
        message += FileUtils.readFileToString(xmlFile2);
        message += "\n *************************** ";
        Assert.fail(message);
    }
}
Also used : Job2XMLTransformer(org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer) TaskFlowJob(org.ow2.proactive.scheduler.common.job.TaskFlowJob) File(java.io.File) URISyntaxException(java.net.URISyntaxException) JobComparator(org.ow2.proactive.scheduler.common.job.factories.JobComparator)

Aggregations

TaskFlowJob (org.ow2.proactive.scheduler.common.job.TaskFlowJob)7 File (java.io.File)5 Test (org.junit.Test)4 JavaTask (org.ow2.proactive.scheduler.common.task.JavaTask)4 Job2XMLTransformer (org.ow2.proactive.scheduler.common.job.factories.Job2XMLTransformer)3 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 URISyntaxException (java.net.URISyntaxException)1 KeyException (java.security.KeyException)1 HashMap (java.util.HashMap)1 TimeoutException (java.util.concurrent.TimeoutException)1 JobAlreadyFinishedException (org.ow2.proactive.scheduler.common.exception.JobAlreadyFinishedException)1 JobCreationException (org.ow2.proactive.scheduler.common.exception.JobCreationException)1 NotConnectedException (org.ow2.proactive.scheduler.common.exception.NotConnectedException)1 PermissionException (org.ow2.proactive.scheduler.common.exception.PermissionException)1 SubmissionClosedException (org.ow2.proactive.scheduler.common.exception.SubmissionClosedException)1 UnknownJobException (org.ow2.proactive.scheduler.common.exception.UnknownJobException)1 UnknownTaskException (org.ow2.proactive.scheduler.common.exception.UnknownTaskException)1 JobComparator (org.ow2.proactive.scheduler.common.job.factories.JobComparator)1