Search in sources :

Example 1 with Job

use of org.openforis.concurrency.Job in project collect by openforis.

the class DataCleansingMetadataIntegrationTest method importMetadataTestFile.

private DataCleansingMetadata importMetadataTestFile(final String testFileName) {
    Job job = new Job() {

        protected void buildTasks() throws Throwable {
            File file = getSystemResourceFile(testFileName);
            DataCleansingImportTask importTask = applicationContext.getBean(DataCleansingImportTask.class);
            importTask.setInputFile(file);
            importTask.setSurvey(survey);
            importTask.setActiveUser(adminUser);
            addTask((Task) importTask);
        }
    };
    jobManager.start(job, false);
    if (job.isCompleted()) {
        DataCleansingMetadata metadata = metadataManager.loadMetadata(survey);
        return metadata;
    } else {
        throw new RuntimeException("Error importing metadata file: " + job.getErrorMessage(), job.getLastException());
    }
}
Also used : Job(org.openforis.concurrency.Job) File(java.io.File) DataCleansingImportTask(org.openforis.collect.datacleansing.io.DataCleansingImportTask)

Example 2 with Job

use of org.openforis.concurrency.Job in project collect by openforis.

the class DataRestoreController method getRestoreDataRemotelyStatus.

@Secured({ UserRoles.ENTRY })
@RequestMapping(value = "/surveys/data/restorejobs/{jobId}/status.json", method = GET)
@ResponseBody
public RemoteDataRestoreResponse getRestoreDataRemotelyStatus(@PathVariable String jobId) throws IOException {
    RemoteDataRestoreResponse response;
    Job job = jobManager.getJob(jobId);
    if (job == null || !(job instanceof DataRestoreJob)) {
        response = new RemoteDataRestoreResponse();
        response.setErrorStatus();
        response.setErrorMessage("Job not found");
    } else {
        response = createRemoteDataRestoreResponse(job);
    }
    return response;
}
Also used : DataRestoreJob(org.openforis.collect.io.data.DataRestoreJob) Job(org.openforis.concurrency.Job) DataRestoreJob(org.openforis.collect.io.data.DataRestoreJob) Secured(org.springframework.security.access.annotation.Secured) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Example 3 with Job

use of org.openforis.concurrency.Job in project collect by openforis.

the class DataRestoreController method abortRestoreDataRemotelyJob.

@RequestMapping(value = "/surveys/data/restore/jobs/{jobId}/abort.json", method = GET)
@ResponseBody
public RemoteDataRestoreResponse abortRestoreDataRemotelyJob(@PathVariable String jobId) throws IOException {
    RemoteDataRestoreResponse response;
    Job job = jobManager.getJob(jobId);
    if (job == null || !(job instanceof DataRestoreJob)) {
        response = new RemoteDataRestoreResponse();
        response.setErrorStatus();
        response.setErrorMessage("Job not found");
    } else {
        job.abort();
        response = createRemoteDataRestoreResponse(job);
    }
    return response;
}
Also used : DataRestoreJob(org.openforis.collect.io.data.DataRestoreJob) Job(org.openforis.concurrency.Job) DataRestoreJob(org.openforis.collect.io.data.DataRestoreJob) RequestMapping(org.springframework.web.bind.annotation.RequestMapping) ResponseBody(org.springframework.web.bind.annotation.ResponseBody)

Aggregations

Job (org.openforis.concurrency.Job)3 DataRestoreJob (org.openforis.collect.io.data.DataRestoreJob)2 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)2 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)2 File (java.io.File)1 DataCleansingImportTask (org.openforis.collect.datacleansing.io.DataCleansingImportTask)1 Secured (org.springframework.security.access.annotation.Secured)1