use of org.openforis.collect.io.metadata.species.SpeciesBackupImportTask in project collect by openforis.
the class SurveyRestoreJob method initializeTask.
@Override
protected void initializeTask(Worker task) {
if (task instanceof SurveyBackupInfoExtractorTask) {
SurveyBackupInfoExtractorTask t = (SurveyBackupInfoExtractorTask) task;
File infoFile = backupFileExtractor.extract(SurveyBackupJob.INFO_FILE_NAME);
t.setFile(infoFile);
} else if (task instanceof IdmlUnmarshallTask) {
IdmlUnmarshallTask t = (IdmlUnmarshallTask) task;
File idmlFile = backupFileExtractor.extractIdmlFile();
t.setFile(idmlFile);
t.setSurveyManager(surveyManager);
t.setValidate(false);
} else if (task instanceof IdmlImportTask) {
IdmlImportTask t = (IdmlImportTask) task;
t.setSurveyManager(surveyManager);
File idmlFile = backupFileExtractor.extractIdmlFile();
t.setFile(idmlFile);
t.setSurveyUri(surveyUri);
t.setSurveyName(surveyName);
t.setImportInPublishedSurvey(restoreIntoPublishedSurvey);
t.setValidate(false);
t.setUserGroup(userGroup);
t.setActiveUser(activeUser);
} else if (task instanceof CodeListImagesImportTask) {
CodeListImagesImportTask t = (CodeListImagesImportTask) task;
t.setCodeListManager(codeListManager);
t.setZipFile(zipFile);
t.setSurvey(survey);
} else if (task instanceof SamplingDesignCleanTask) {
SamplingDesignCleanTask t = (SamplingDesignCleanTask) task;
t.setSurveyId(survey.getId());
} else if (task instanceof SamplingDesignImportTask) {
SamplingDesignImportTask t = (SamplingDesignImportTask) task;
File samplingDesignFile = backupFileExtractor.extract(SurveyBackupJob.SAMPLING_DESIGN_ENTRY_NAME);
t.setSamplingDesignManager(samplingDesignManager);
t.setFile(samplingDesignFile);
t.setSkipValidation(true);
t.setOverwriteAll(true);
t.setSurvey(survey);
} else if (task instanceof SpeciesBackupImportTask) {
SpeciesBackupImportTask t = (SpeciesBackupImportTask) task;
t.setSpeciesManager(speciesManager);
t.setSurvey(survey);
} else if (task instanceof SurveyFilesImportTask) {
SurveyFilesImportTask t = (SurveyFilesImportTask) task;
t.setSurvey(survey);
t.setBackupFileExtractor(backupFileExtractor);
} else if (task instanceof DataCleansingImportTask) {
DataCleansingImportTask t = (DataCleansingImportTask) task;
t.setSurvey(survey);
t.setInputFile(backupFileExtractor.extract(SurveyBackupJob.DATA_CLEANSING_METADATA_ENTRY_NAME));
}
super.initializeTask(task);
}
use of org.openforis.collect.io.metadata.species.SpeciesBackupImportTask in project collect by openforis.
the class SurveyRestoreJob method addSpeciesImportTasks.
private void addSpeciesImportTasks() {
List<String> speciesFilesNames = backupFileExtractor.listSpeciesEntryNames();
for (String speciesFileName : speciesFilesNames) {
String taxonomyName = FilenameUtils.getBaseName(speciesFileName);
File file = backupFileExtractor.extract(speciesFileName);
if (file.length() > 0) {
SpeciesBackupImportTask task = createTask(SpeciesBackupImportTask.class);
task.setFile(file);
task.setTaxonomyName(taxonomyName);
task.setOverwriteAll(true);
addTask(task);
}
}
}
use of org.openforis.collect.io.metadata.species.SpeciesBackupImportTask in project collect by openforis.
the class SpeciesBackupImportJobIntegrationTest method testSpeciesImport.
@Test
public void testSpeciesImport() throws Exception {
SpeciesBackupImportJob job = importCSVFile(VALID_TEST_CSV);
assertTrue(job.isCompleted());
SpeciesBackupImportTask task = (SpeciesBackupImportTask) job.getTasks().get(0);
assertTrue(task.getSkippedRows().isEmpty());
TaxonomyDefinition taxonomyDef = survey.getReferenceDataSchema().getTaxonomyDefinition(TEST_TAXONOMY_NAME);
assertEquals(Arrays.asList("info1", "info2"), taxonomyDef.getAttributeNames());
{
String code = "OLE/CAP/macrocarpa";
TaxonOccurrence occurrence = findByCode(code);
TaxonOccurrence expected = new TaxonOccurrence(code, "Olea capensis ssp. macrocarpa");
expected.setInfoAttributes(Arrays.asList("info_value_1", "info_value_2"));
expected.setTaxonRank(SUBSPECIES);
assertEquals(expected, occurrence);
}
{
String code = "ALB/ADI";
TaxonOccurrence occurrence = findByCode(code);
TaxonOccurrence expected = new TaxonOccurrence(code, "Albizia adianthifolia");
expected.setInfoAttributes(Arrays.asList("info_value_3", null));
expected.setTaxonRank(SPECIES);
assertEquals(expected, occurrence);
}
}
Aggregations