This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 2847669cbcb2585f21370eba0009c4cb299c48b5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Feb 12 09:54:53 2015 +0100 sampleCategoryModel is in input context --- .../service/genericformat/GlobalImportContext.java | 91 +++++++++++++++++++++- .../service/genericformat/csv/CatchModel.java | 8 +- 2 files changed, 95 insertions(+), 4 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GlobalImportContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GlobalImportContext.java index f996532..a480bfc 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GlobalImportContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/GlobalImportContext.java @@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableSet; import fr.ifremer.tutti.persistence.entities.data.Cruise; import fr.ifremer.tutti.persistence.entities.data.Cruises; import fr.ifremer.tutti.persistence.entities.data.Program; +import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel; import fr.ifremer.tutti.service.PersistenceService; import fr.ifremer.tutti.service.csv.CaracteristicTechnicalParser; import fr.ifremer.tutti.service.csv.CaracteristicValueTechnicalParser; @@ -16,9 +17,22 @@ import fr.ifremer.tutti.service.csv.ListPersonTechnicalParser; import fr.ifremer.tutti.service.csv.ListVesselTechnicalParser; import fr.ifremer.tutti.service.csv.SpeciesTechnicalParser; import fr.ifremer.tutti.service.csv.VesselTechnicalParser; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForAccidentalCatch; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForCatch; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForGearCaracteristic; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForIndividualObservation; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForMarineLitter; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForOperation; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForParameter; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForSampleCategory; +import fr.ifremer.tutti.service.genericformat.consumer.CsvConsumerForSurvey; +import fr.ifremer.tutti.service.genericformat.csv.SampleCategoryRow; +import org.apache.commons.io.IOUtils; +import org.nuiton.csv.ImportRow; import java.io.Closeable; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -58,10 +72,22 @@ public class GlobalImportContext implements Closeable { private final GenericFormatArchive archive; + private final char csvSeparator; + + private final SampleCategoryModel sampleCategoryModel; + private final Set<Cruise> existingCruises; - public GlobalImportContext(PersistenceService persistenceService, GenericFormatArchive archive, Program program) { + private final List<Closeable> toClose; + + public GlobalImportContext(PersistenceService persistenceService, + GenericFormatArchive archive, + char csvSeparator, + Program program, + SampleCategoryModel sampleCategoryModel) { this.archive = archive; + this.csvSeparator = csvSeparator; + this.sampleCategoryModel = sampleCategoryModel; this.vesselParser = new VesselTechnicalParser(persistenceService); this.harbourParser = new HarbourTechnicalParser(persistenceService); this.listPersonParser = new ListPersonTechnicalParser(persistenceService); @@ -79,6 +105,7 @@ public class GlobalImportContext implements Closeable { List<Cruise> allCruise = persistenceService.getAllCruise(program.getId()); this.existingCruises = ImmutableSet.copyOf(allCruise); + this.toClose = new ArrayList<>(); } @Override @@ -86,6 +113,9 @@ public class GlobalImportContext implements Closeable { //TODO Close //archive.close(); + for (Closeable closeable : toClose) { + IOUtils.closeQuietly(closeable); + } } @@ -145,6 +175,10 @@ public class GlobalImportContext implements Closeable { return marineLitterSizeCategoryValueParser; } + public SampleCategoryModel getSampleCategoryModel() { + return sampleCategoryModel; + } + public boolean isCruiseExists(Cruise cruise) { boolean equals = false; @@ -160,4 +194,59 @@ public class GlobalImportContext implements Closeable { return equals; } + + public Iterable<ImportRow<SampleCategoryRow>> loadSampleCategories() { + CsvConsumerForSampleCategory consumer = new CsvConsumerForSampleCategory(archive.getSampleCategoryModelPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForSurvey loadSurveys() { + CsvConsumerForSurvey consumer = new CsvConsumerForSurvey(archive.getSurveyPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForGearCaracteristic loadGearCaracteristics() { + CsvConsumerForGearCaracteristic consumer = new CsvConsumerForGearCaracteristic(archive.getGearCaracteristicsPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForOperation loadOperations() { + CsvConsumerForOperation consumer = new CsvConsumerForOperation(archive.getOperationPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForParameter loadParameters() { + CsvConsumerForParameter consumer = new CsvConsumerForParameter(archive.getParameterPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForCatch loadCatches() { + CsvConsumerForCatch consumer = new CsvConsumerForCatch(archive.getSampleCategoryModelPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForMarineLitter loadMarineLitters() { + CsvConsumerForMarineLitter consumer = new CsvConsumerForMarineLitter(archive.getMarineLitterPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForIndividualObservation loadIndividualObservations() { + CsvConsumerForIndividualObservation consumer = new CsvConsumerForIndividualObservation(archive.getIndividualObservationPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + + public CsvConsumerForAccidentalCatch loadAccidentalCatches() { + CsvConsumerForAccidentalCatch consumer = new CsvConsumerForAccidentalCatch(archive.getAccidentalCatchPath(), csvSeparator, this); + toClose.add(consumer); + return consumer; + } + } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/csv/CatchModel.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/csv/CatchModel.java index d910b5e..1023940 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/csv/CatchModel.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/csv/CatchModel.java @@ -58,10 +58,10 @@ public class CatchModel extends AbstractTuttiImportExportModel<CatchRow> { } - public static CatchModel forImport(char separator, SampleCategoryModel sampleCategoryModel, GlobalImportContext globalImportContext) { + public static CatchModel forImport(char separator, GlobalImportContext globalImportContext) { CatchModel importModel = new CatchModel(separator); - importModel.forImport(sampleCategoryModel, globalImportContext); + importModel.forImport(globalImportContext); return importModel; } @@ -138,7 +138,9 @@ public class CatchModel extends AbstractTuttiImportExportModel<CatchRow> { } - protected void forImport(SampleCategoryModel sampleCategoryModel, GlobalImportContext globalImportContext) { + protected void forImport(GlobalImportContext globalImportContext) { + + SampleCategoryModel sampleCategoryModel = globalImportContext.getSampleCategoryModel(); newMandatoryColumn("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR); newIgnoredColumn("Serie"); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.