This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 3480f7e66f04a9fe8d30326b3e12a038c34700a7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 16:44:44 2016 +0200 Début d'implantation de l'export --- .../echobase/services/csv/BatchCsvExport.java | 100 ++++++++ .../service/importdata/ImportDataFileResult.java | 27 ++- .../service/importdata/ImportDataService.java | 2 +- .../actions/ImportDataActionSupport.java | 261 +++++++++++++++++---- .../actions/VoyageAcousticsImportAction.java | 7 + .../VoyageCatchesBiometrySampleImportAction.java | 7 + .../VoyageCatchesSubSampleImportAction.java | 7 + .../VoyageCatchesTotalSampleImportAction.java | 7 + .../actions/VoyageCommonsTransectImportAction.java | 38 ++- .../actions/VoyageCommonsTransitImportAction.java | 42 +++- .../actions/VoyageCommonsVoyageImportAction.java | 21 ++ .../VoyageOperationsGearMetadataImportAction.java | 7 + .../VoyageOperationsOperationImportAction.java | 7 + ...ageOperationsOperationMetadataImportAction.java | 7 + ...EchotypeAndSpeciesCategoryCellImportAction.java | 7 + ...oyageResultsEsduByEchotypeCellImportAction.java | 7 + ...sEsduSpeciesAndAgeCategoryCellImportAction.java | 7 + ...EsduSpeciesAndSizeCategoryCellImportAction.java | 7 + .../VoyageResultsMapFishCellImportAction.java | 7 + .../VoyageResultsMapOtherCellImportAction.java | 7 + ...VoyageResultsRegionAssociationImportAction.java | 7 + .../actions/VoyageResultsRegionImportAction.java | 7 + .../VoyageResultsRegionResultsImportAction.java | 7 + .../VoyageResultsVoyageEchotypeImportAction.java | 7 + ...oyageResultsVoyageLengthAgeKeyImportAction.java | 7 + ...geResultsVoyageLengthWeightKeyImportAction.java | 7 + .../contexts/VoyageAcousticsImportDataContext.java | 2 +- .../contexts/VoyageCatchesImportDataContext.java | 4 +- .../contexts/VoyageCommonsImportDataContext.java | 2 +- ...xt.java => VoyageImportDataContextSupport.java} | 4 +- .../VoyageOperationsImportDataContext.java | 2 +- .../contexts/VoyageResultsImportDataContext.java | 2 +- .../csv/BiometrySampleImportExportModel.java | 7 +- .../importdata/csv/EchotypeImportExportModel.java | 7 +- .../csv/LengthAgeKeyImportExportModel.java | 7 +- .../csv/LengthWeightKeyImportExportModel.java | 7 +- .../importdata/csv/MapCellImportExportModel.java | 7 +- .../importdata/csv/SubSampleImportExportModel.java | 7 +- .../csv/TotalSampleImportExportModel.java | 7 +- .../importdata/csv/TransectImportExportModel.java | 7 +- .../service/importdata/csv/TransectImportRow.java | 12 +- .../importdata/csv/TransitImportExportModel.java | 7 +- .../service/importdata/csv/TransitImportRow.java | 24 +- .../importdata/csv/VoyageImportExportModel.java | 7 +- .../i18n/echobase-services_en_GB.properties | 1 + .../i18n/echobase-services_fr_FR.properties | 1 + 46 files changed, 626 insertions(+), 122 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/BatchCsvExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/BatchCsvExport.java new file mode 100644 index 0000000..cb01343 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/BatchCsvExport.java @@ -0,0 +1,100 @@ +package fr.ifremer.echobase.services.csv; + +import com.google.common.base.Supplier; +import org.nuiton.csv.Export; +import org.nuiton.csv.ExportModel; +import org.nuiton.csv.ExportableColumn; + +import java.io.Closeable; +import java.io.IOException; +import java.io.Writer; + +/** + * To export + * Created on 01/04/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class BatchCsvExport<E> implements Closeable { + + /** + * Where to export. + */ + protected final Writer writer; + /** + * Underligned exporter object. + */ + protected final EchoBaseExport<E> export; + /** + * What to export. + */ + protected final MySupplier<Iterable<E>> dataSupplier; + /** + * Is header was already written? + */ + protected boolean headerDone; + + public BatchCsvExport(ExportModel<E> model, Writer writer) { + this.writer = writer; + this.dataSupplier = new MySupplier<>(); + this.export = new EchoBaseExport<>(model, dataSupplier); + } + + public synchronized void export(Iterable<E> data) throws Exception { + + dataSupplier.setData(data); + export.write(writer, !headerDone); + writer.flush(); + headerDone = true; + + } + + @Override + public void close() throws IOException { + writer.close(); + } + + protected static class MySupplier<E> implements Supplier<E> { + + private E data; + + @Override + public E get() { + return data; + } + + public void setData(E data) { + this.data = data; + } + + } + + protected static class EchoBaseExport<E> extends Export<E> { + + private final Supplier<Iterable<E>> dataSupplier; + + protected EchoBaseExport(ExportModel<E> model, Supplier<Iterable<E>> dataSupplier) { + super(model, null); + this.dataSupplier = dataSupplier; + } + + @Override + public void write(Writer writer, boolean writeHeader) throws Exception { + // write csv header + if (writeHeader) { + writeHeader(writer); + } + + // obtain export columns + Iterable<ExportableColumn<E, Object>> columns = model.getColumnsForExport(); + + for (E row : dataSupplier.get()) { + + // write the row for this data + writeRow(writer, columns, row); + } + + } + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataFileResult.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataFileResult.java index aa29567..42451d7 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataFileResult.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataFileResult.java @@ -2,6 +2,7 @@ package fr.ifremer.echobase.services.service.importdata; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import com.google.common.io.Files; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.io.InputFile; @@ -43,18 +44,28 @@ public class ImportDataFileResult { * This file may not be exactly the same than the one given in the import configuration, we for example may * remove ignored columns. */ - private final InputFile processedImportile; + private final InputFile processedImportFile; /** * Export file. * * Used to check that import is really ok and stored then in the {@link ImportLog}. */ - private final InputFile exportFile; + private final InputFile importedExportFile; public ImportDataFileResult(InputFile importFile) { this.importFile = importFile; - this.processedImportile = InputFile.newFile(importFile.getLabel() + " - " + importFile.getFileName() + ".processed"); - this.exportFile = InputFile.newFile(importFile.getLabel() + " - " + importFile.getFileName() + ".checked"); + String label = importFile.getLabel(); + String filenameWithoutExtension = Files.getNameWithoutExtension(importFile.getFileName()); + { + String filename = filenameWithoutExtension + ".processed.csv"; + this.processedImportFile = InputFile.newFile(label + " - " + filename); + this.processedImportFile.setFileName(filename); + } + { + String filename = filenameWithoutExtension + ".checked.csv"; + this.importedExportFile = InputFile.newFile(label + " - " + filename); + this.importedExportFile.setFileName(filename); + } this.entityTypes = Collections.unmodifiableSet(Sets.newHashSet(EchoBaseUserEntityEnum.values())); this.numberCreated = new TreeMap<>(); this.numberUpdated = new TreeMap<>(); @@ -72,12 +83,12 @@ public class ImportDataFileResult { return importFile; } - public InputFile getProcessedImportile() { - return processedImportile; + public InputFile getProcessedImportFile() { + return processedImportFile; } - public InputFile getExportFile() { - return exportFile; + public InputFile getImportedExportFile() { + return importedExportFile; } public <E extends TopiaEntity> void addId(EchoBaseUserEntityEnum entityEnum, E entity) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java index 641a78a..3a33117 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java @@ -374,7 +374,7 @@ public class ImportDataService extends EchoBaseServiceSupport { for (ImportDataFileResult importDataFileResult : importDataFileResults) { - ImportFile importFile = createImportFile(importDataFileResult.getImportFile(), importDataFileResult.getExportFile()); + ImportFile importFile = createImportFile(importDataFileResult.getImportFile(), importDataFileResult.getImportedExportFile()); importLog.addImportFile(importFile); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java index 15f276b..b1767fc 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java @@ -1,6 +1,5 @@ package fr.ifremer.echobase.services.service.importdata.actions; -import com.google.common.base.Charsets; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; @@ -9,6 +8,7 @@ import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.csv.BatchCsvExport; import fr.ifremer.echobase.services.service.UserDbPersistenceService; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.ImportException; @@ -17,19 +17,20 @@ import fr.ifremer.echobase.services.service.importdata.contexts.ImportDataContex import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.csv.Export; import org.nuiton.csv.ExportModel; import org.nuiton.csv.Import; import org.nuiton.csv.ImportModel; import org.nuiton.csv.ImportRuntimeException; -import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.Closeable; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; -import java.io.InputStreamReader; import java.io.Reader; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.Locale; import static org.nuiton.i18n.I18n.l; @@ -44,57 +45,186 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS /** Logger. */ private static final Log log = LogFactory.getLog(ImportDataActionSupport.class); + /** + * Max number of rows before flushing transaction. + */ + private static final int TRANSACTION_FLUSH_MAX = 1000; + /** + * Max number of rows before flushing export writer. + */ + private static final int EXPORT_FLUSH_MAX = 1000; + + /** + * Import data context. + */ private final C importDataContext; + /** + * Input file to import. + */ private final InputFile inputFile; - + /** + * Processed rows to export. + */ + private final LinkedList<E> processedRowsToExport; + /** + * Imported rows to export. + */ + private final LinkedList<E> importedRowsToExport; + /** + * The import model. + */ private ImportModel<E> importModel; - private ExportModel<E> exportModel; + /** + * Reader of data to import. + */ private Reader reader; + /** + * Import of data. + */ private Import<E> csvImport; - private Export<E> csvExport; + /** + * Export of processed data. + */ + private BatchCsvExport<E> csvProcessedExport; + /** + * Export of imported data. + */ + private BatchCsvExport<E> csvImportedExport; + /** + * Persistence service used for any db actions. + */ protected final UserDbPersistenceService persistenceService; + /** + * Creates a csv import model. + * + * @param importDataContext import data context + * @return the csv import model + */ + protected abstract ImportModel<E> createCsvImportModel(C importDataContext); + + /** + * Creates a csv export model. + * + * @param importDataContext import data context used to get some stuff from database. + * @return the csv export model + */ + protected abstract ExportModel<E> createCsvExportModel(C importDataContext); + + /** + * Logical code of import action. + * + * @param importDataContext import data context (everything coming from database should be in there) + * @param inputFile the imput file to import + * @param result where to store import result + */ + protected abstract void performImport(C importDataContext, InputFile inputFile, ImportDataFileResult result); + + /** + * Compute export file from imported data. + * + * @param importDataContext import data context (everything coming from database should be in there) + * @param result where to store import result + */ + protected abstract void computeImportedExport(C importDataContext, ImportDataFileResult result); + protected ImportDataActionSupport(C importDataContext, InputFile inputFile) { this.importDataContext = importDataContext; this.inputFile = inputFile; this.persistenceService = importDataContext.getPersistenceService(); + this.processedRowsToExport = new LinkedList<>(); + this.importedRowsToExport = new LinkedList<>(); } - public ImportDataFileResult run() throws ImportException { + public final ImportDataFileResult run() throws ImportException { this.importModel = createCsvImportModel(importDataContext); - this.exportModel = createCsvExportModel(importDataContext); ImportDataFileResult result = new ImportDataFileResult(inputFile); + + this.csvProcessedExport = createBatchCsvExport(result.getProcessedImportFile()); + this.csvImportedExport = createBatchCsvExport(result.getImportedExportFile()); + try { performImport(importDataContext, inputFile, result); } catch (ImportRuntimeException e) { throw new ImportException(importDataContext.getLocale(), inputFile, e); + } finally { + flushProcessedExport(result); } + + try { + computeImportedExport(importDataContext, result); + } catch (EchoBaseTechnicalException e) { + throw new ImportException(importDataContext.getLocale(), inputFile, e); + } finally { + flushImportedExport(result); + } + + checkImport(result.getProcessedImportFile(), result.getImportedExportFile()); + return result; } - protected abstract void performImport(C importDataContext, InputFile inputFile, ImportDataFileResult result); + @Override + public final void close() throws IOException { + if (reader != null) { + IOUtils.closeQuietly(reader); + } + if (csvImport != null) { + IOUtils.closeQuietly(csvImport); + } + if (csvProcessedExport != null) { + IOUtils.closeQuietly(csvProcessedExport); + } + if (csvImportedExport != null) { + IOUtils.closeQuietly(csvImportedExport); + } + } - protected abstract ImportModel<E> createCsvImportModel(C importDataContext); + protected final BatchCsvExport<E> createBatchCsvExport(InputFile exportInputFile) { - protected abstract ExportModel<E> createCsvExportModel(C importDataContext); + ExportModel<E> exportModel = createCsvExportModel(importDataContext); - public final Locale getLocale() { - return importDataContext.getLocale(); - } + try { + + Path workingDirectory = importDataContext.getConfiguration().getWorkingDirectory().toPath(); + Path exportFile = Files.createTempFile(workingDirectory, exportInputFile.getFileName(), ""); + if (log.isInfoEnabled()) { + log.info("Create temporary export file: " + exportFile); + } + exportInputFile.setFile(exportFile.toFile()); + + BufferedWriter writer = Files.newBufferedWriter(exportFile, StandardCharsets.UTF_8); + return new BatchCsvExport<>(exportModel, writer); + + } catch (IOException e) { + throw new EchoBaseTechnicalException("Could not create export file", e); + } - public final M getConfiguration() { - return importDataContext.getConfiguration(); } - public final EchoBaseUser getUser() { - return importDataContext.getUser(); + protected final void addProcessedRow(ImportDataFileResult result, E processedRow) { + + processedRowsToExport.add(processedRow); + + if (processedRowsToExport.size() % EXPORT_FLUSH_MAX == 0) { + + flushProcessedExport(result); + + } } - public InputFile getInputFile() { - return inputFile; + protected final void addImportedRow(ImportDataFileResult result, E importedRow) { + + importedRowsToExport.add(importedRow); + + if (importedRowsToExport.size() % EXPORT_FLUSH_MAX == 0) { + + flushImportedExport(result); + + } } protected final Import<E> open() { @@ -105,28 +235,41 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS throw new IllegalStateException("csvImport was already opened"); } try { - reader = new BufferedReader(new InputStreamReader(new FileInputStream(getInputFile().getFile()), Charsets.UTF_8)); - } catch (FileNotFoundException e) { + reader = Files.newBufferedReader(getInputFile().getFile().toPath(), StandardCharsets.UTF_8); + } catch (IOException e) { throw new EchoBaseTechnicalException("Could not find import file " + getInputFile().getFile(), e); } return csvImport = Import.newImport(importModel, reader); } - @Override - public void close() throws IOException { - if (reader != null) { - IOUtils.closeQuietly(reader); - } - if (csvImport != null) { - IOUtils.closeQuietly(csvImport); + protected void checkImport(InputFile processedExportFile, InputFile importedExportFile) { + //TODO checkt that processed and imported file are the same + if (log.isInfoEnabled()) { + log.info("Check processed export file: " + processedExportFile + " vs imported export file: " + importedExportFile); } } - public final String getImportLabel() { + protected final Locale getLocale() { + return importDataContext.getLocale(); + } + + protected final M getConfiguration() { + return importDataContext.getConfiguration(); + } + + protected final EchoBaseUser getUser() { + return importDataContext.getUser(); + } + + protected final InputFile getInputFile() { + return inputFile; + } + + protected final String getImportLabel() { return l(getLocale(), getConfiguration().getImportType().getI18nKey()); } - public final String getImportMessage() { + protected final String getImportMessage() { return l(getLocale(), "echobase.importLabel.withFile", getImportLabel(), getInputFile().getFileName()); } @@ -136,7 +279,7 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS protected final void doFlushTransaction(int rowNumber) { getConfiguration().incrementsProgress(); - if (rowNumber % 1000 == 0) { + if (rowNumber % TRANSACTION_FLUSH_MAX == 0) { // flush each 1000 imported rows String message = getImportMessage(); if (log.isDebugEnabled()) { @@ -150,11 +293,11 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS return importDataContext.getPersistenceService(); } - protected void createCellData(Cell cell, - DataMetadata dataMetaData, - String dataValue, - DataQuality dataQuality, - ImportDataFileResult importResult) { + protected final void createCellData(Cell cell, + DataMetadata dataMetaData, + String dataValue, + DataQuality dataQuality, + ImportDataFileResult importResult) { Data data = getPersistenceService().createData(dataMetaData, dataValue); cell.addData(data); @@ -164,4 +307,42 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS } + protected <EE> LinkedHashSet<String> filterIds(Class<EE> type, LinkedHashSet<String> importedIds) { + + String prefix = type.getName() + "#"; + + LinkedHashSet<String> result = new LinkedHashSet<>(); + for (String importedId : importedIds) { + if (importedId.startsWith(prefix)) { + result.add(importedId); + } + } + return result; + + } + + private void flushProcessedExport(ImportDataFileResult result) { + + try { + csvProcessedExport.export(processedRowsToExport); + } catch (Exception e) { + throw new EchoBaseTechnicalException(l(getLocale(), "echobase.exportError.toFile", result.getProcessedImportFile().getFileName(), e.getMessage()), e); + } finally { + processedRowsToExport.clear(); + } + + } + + private void flushImportedExport(ImportDataFileResult result) { + + try { + csvImportedExport.export(importedRowsToExport); + } catch (Exception e) { + throw new EchoBaseTechnicalException(l(getLocale(), "echobase.exportError.toFile", result.getImportedExportFile().getFileName(), e.getMessage()), e); + } finally { + importedRowsToExport.clear(); + } + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java index d34992b..f7cf94c 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java @@ -322,6 +322,13 @@ public class VoyageAcousticsImportAction extends VoyageAcousticsImportDataAction } + @Override + protected void computeImportedExport(VoyageAcousticsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + private DataAcquisition getDataAcquisition(Transect transect, AcousticInstrument instrument, boolean addDataAcquisition) { DataAcquisition result = null; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java index 370adb1..b77f059 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java @@ -106,4 +106,11 @@ public class VoyageCatchesBiometrySampleImportAction extends VoyageCatchesImport } + @Override + protected void computeImportedExport(VoyageCatchesImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java index 03b6515..2850772 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java @@ -118,4 +118,11 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA } + @Override + protected void computeImportedExport(VoyageCatchesImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java index c9f7580..75b7801 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java @@ -135,4 +135,11 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat } + @Override + protected void computeImportedExport(VoyageCatchesImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java index d27157a..ac50a4a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java @@ -15,6 +15,7 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; import java.util.Date; +import java.util.LinkedHashSet; /** * Created on 25/03/16. @@ -84,16 +85,41 @@ public class VoyageCommonsTransectImportAction extends VoyageCommonsImportDataAc transit.addTransect(createdTransect); - if (collectIds) { + addProcessedRow(result, row); + result.addId(EchoBaseUserEntityEnum.Transect, createdTransect); - // collect id of the import - result.addId(EchoBaseUserEntityEnum.Transect, createdTransect); - } else { +// if (collectIds) { +// +// // collect id of the import +// result.addId(EchoBaseUserEntityEnum.Transect, createdTransect); +// } else { +// +// result.incrementsNumberCreated(EchoBaseUserEntityEnum.Transect); +// } - result.incrementsNumberCreated(EchoBaseUserEntityEnum.Transect); - } + } + + } + + } + @Override + protected void computeImportedExport(VoyageCommonsImportDataContext importDataContext, ImportDataFileResult result) { + + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + LinkedHashSet<String> transectIds = filterIds(Transect.class, result.getIds()); + + for (String transectId : transectIds) { + + if (log.isInfoEnabled()) { + log.info("Adding transect: " + transectId + " to imported export."); } + Transect transect = persistenceService.getTransect(transectId); + + TransectImportRow importedRow = TransectImportRow.of(voyage, transect); + addImportedRow(result, importedRow); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java index e3b647f..8eff7d2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java @@ -12,13 +12,15 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.LinkedHashSet; + /** * Created on 25/03/16. * * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageCommonsTransitImportAction extends VoyageCommonsImportDataActionSupport< TransitImportRow> { +public class VoyageCommonsTransitImportAction extends VoyageCommonsImportDataActionSupport<TransitImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageCommonsTransitImportAction.class); @@ -66,17 +68,43 @@ public class VoyageCommonsTransitImportAction extends VoyageCommonsImportDataAct voyage.addTransit(createdTransit); - if (collectIds) { + result.addId(EchoBaseUserEntityEnum.Transit, createdTransit); + addProcessedRow(result, row); + +// if (collectIds) { +// +// // collect id of the import +// result.addId(EchoBaseUserEntityEnum.Transit, createdTransit); +// +// +// } else { +// +// result.incrementsNumberCreated(EchoBaseUserEntityEnum.Transit); +// } - // collect id of the import - result.addId(EchoBaseUserEntityEnum.Transit, createdTransit); + } - } else { + } - result.incrementsNumberCreated(EchoBaseUserEntityEnum.Transit); - } + } + @Override + protected void computeImportedExport(VoyageCommonsImportDataContext importDataContext, ImportDataFileResult result) { + + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + LinkedHashSet<String> transitIds = filterIds(Transit.class, result.getIds()); + + for (String transitId : transitIds) { + + if (log.isInfoEnabled()) { + log.info("Adding transit: " + transitId + " to imported export."); } + Transit transit = persistenceService.getTransit(transitId); + + TransitImportRow importedRow = TransitImportRow.of(voyage, transit); + addImportedRow(result, importedRow); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java index b4db779..5ab0e9d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java @@ -14,6 +14,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.LinkedHashSet; import java.util.Locale; /** @@ -84,6 +85,8 @@ public class VoyageCommonsVoyageImportAction extends VoyageCommonsImportDataActi // collect id of the import result.addId(EchoBaseUserEntityEnum.Voyage, voyage); + addProcessedRow(result, createdVoyage); + } } @@ -97,4 +100,22 @@ public class VoyageCommonsVoyageImportAction extends VoyageCommonsImportDataActi } + @Override + protected void computeImportedExport(VoyageCommonsImportDataContext importDataContext, ImportDataFileResult result) { + + LinkedHashSet<String> voyageIds = filterIds(Voyage.class, result.getIds()); + + for (String voyageId : voyageIds) { + + if (log.isInfoEnabled()) { + log.info("Adding voyage: " + voyageId + " to imported export."); + } + + Voyage importedRow = persistenceService.getVoyage(voyageId); + addImportedRow(result, importedRow); + + } + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java index 8523a64..e2b0e28 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java @@ -65,4 +65,11 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm } + @Override + protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java index bc8d8c0..1cfac3a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java @@ -83,4 +83,11 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor } + @Override + protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java index c52e613..4a7fd4d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java @@ -65,4 +65,11 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati } + @Override + protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java index 1a83ea1..1dde0bd 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java @@ -77,4 +77,11 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction exten } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java index b97e17c..437f6da 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java @@ -74,4 +74,11 @@ public class VoyageResultsEsduByEchotypeCellImportAction extends VoyageResultsIm } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java index 50b7290..48b6e04 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java @@ -95,4 +95,11 @@ public class VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction extends Voya } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java index 7adaa66..736912d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java @@ -97,4 +97,11 @@ public class VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction extends Voy } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java index 0001b90..f021097 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java @@ -138,4 +138,11 @@ public class VoyageResultsMapFishCellImportAction extends VoyageResultsImportDat } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java index 97f64f6..ded4893 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java @@ -129,4 +129,11 @@ public class VoyageResultsMapOtherCellImportAction extends VoyageResultsImportDa } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java index 3bdd735..a686530 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java @@ -62,4 +62,11 @@ public class VoyageResultsRegionAssociationImportAction extends VoyageResultsImp } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java index 406a92d..87466e2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java @@ -86,4 +86,11 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java index 2991dee..9e37f5e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java @@ -78,4 +78,11 @@ public class VoyageResultsRegionResultsImportAction extends VoyageResultsImportD } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java index 2d3bc37..7f73c68 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java @@ -107,4 +107,11 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java index 1493ce7..2275704 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java @@ -70,4 +70,11 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java index eca495c..2fea52a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java @@ -79,4 +79,11 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult } + @Override + protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { + + // TODO + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageAcousticsImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageAcousticsImportDataContext.java index 8435c0a..aa7b5a0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageAcousticsImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageAcousticsImportDataContext.java @@ -11,7 +11,7 @@ import java.util.Locale; * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageAcousticsImportDataContext extends VoyageImportDataContext<VoyageAcousticsImportConfiguration> { +public class VoyageAcousticsImportDataContext extends VoyageImportDataContextSupport<VoyageAcousticsImportConfiguration> { public VoyageAcousticsImportDataContext(UserDbPersistenceService persistenceService, Locale locale, char csvSeparator, VoyageAcousticsImportConfiguration configuration, EchoBaseUser user) { super(persistenceService, locale, csvSeparator, configuration, user); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java index 412dbd7..8b1a7ff 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCatchesImportDataContext.java @@ -15,16 +15,16 @@ import java.util.Locale; * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageCatchesImportDataContext extends VoyageImportDataContext<VoyageCatchesImportConfiguration> { +public class VoyageCatchesImportDataContext extends VoyageImportDataContextSupport<VoyageCatchesImportConfiguration> { private SampleType sampleTypeIndividualType; private SampleType sampleTypeTotal; private SampleType sampleTypeUnsorted; private SampleType sampleTypeSorted; + private SampleType sampleTypeSubsample; private SampleDataType sampleDataTypeMeanLength; private SampleDataType sampleDataTypeMeanWeight; private SampleDataType sampleDataTypeNoPerKg; - private SampleType sampleTypeSubsample; private SampleDataType sampleDataTypeNumberAtLength; private SampleDataType sampleDataTypeNumberAtLength05cm; private SampleDataType sampleDataTypeNumberAtLength1cm; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCommonsImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCommonsImportDataContext.java index f643c0f..5ed6759 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCommonsImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageCommonsImportDataContext.java @@ -11,7 +11,7 @@ import java.util.Locale; * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageCommonsImportDataContext extends VoyageImportDataContext<VoyageCommonsImportConfiguration> { +public class VoyageCommonsImportDataContext extends VoyageImportDataContextSupport<VoyageCommonsImportConfiguration> { public VoyageCommonsImportDataContext(UserDbPersistenceService persistenceService, Locale locale, char csvSeparator, VoyageCommonsImportConfiguration configuration, EchoBaseUser user) { super(persistenceService, locale, csvSeparator, configuration, user); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContextSupport.java similarity index 94% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContext.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContextSupport.java index 4852544..7ddc6df 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageImportDataContextSupport.java @@ -26,7 +26,7 @@ import java.util.Map; * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageImportDataContext<C extends VoyageImportDataConfigurationSupport> extends ImportDataContextSupport<C> { +class VoyageImportDataContextSupport<C extends VoyageImportDataConfigurationSupport> extends ImportDataContextSupport<C> { private SpeciesCategoryCache speciesCategoryCache; private ResultCategoryCache resultCategoryCache; @@ -42,7 +42,7 @@ public class VoyageImportDataContext<C extends VoyageImportDataConfigurationSupp private Map<String, Cell> voyageRegionsByName; private Map<String, Echotype> voyageEchotypesByName; - public VoyageImportDataContext(UserDbPersistenceService persistenceService, Locale locale, char csvSeparator, C configuration, EchoBaseUser user) { + public VoyageImportDataContextSupport(UserDbPersistenceService persistenceService, Locale locale, char csvSeparator, C configuration, EchoBaseUser user) { super(persistenceService, locale, csvSeparator, configuration, user); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageOperationsImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageOperationsImportDataContext.java index a0074c3..790c3eb 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageOperationsImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageOperationsImportDataContext.java @@ -11,7 +11,7 @@ import java.util.Locale; * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageOperationsImportDataContext extends VoyageImportDataContext<VoyageOperationsImportConfiguration> { +public class VoyageOperationsImportDataContext extends VoyageImportDataContextSupport<VoyageOperationsImportConfiguration> { public VoyageOperationsImportDataContext(UserDbPersistenceService persistenceService, Locale locale, char csvSeparator, VoyageOperationsImportConfiguration configuration, EchoBaseUser user) { super(persistenceService, locale, csvSeparator, configuration, user); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageResultsImportDataContext.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageResultsImportDataContext.java index 2ab868a..625d280 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageResultsImportDataContext.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/contexts/VoyageResultsImportDataContext.java @@ -31,7 +31,7 @@ import static fr.ifremer.echobase.services.service.importdata.ImportDataService. * * @author Tony Chemit - chemit@codelutin.com */ -public class VoyageResultsImportDataContext extends VoyageImportDataContext<VoyageResultsImportConfiguration> { +public class VoyageResultsImportDataContext extends VoyageImportDataContextSupport<VoyageResultsImportConfiguration> { // private SpeciesCategoryCache speciesCategoryCache; // private ResultCategoryCache resultCategoryCache; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportExportModel.java index 52e81c4..9c78567 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/BiometrySampleImportExportModel.java @@ -26,8 +26,7 @@ import fr.ifremer.echobase.entities.data.SampleData; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCatchesImportDataContext; /** * Model to import {@link Sample} of total biometry. @@ -41,7 +40,7 @@ public class BiometrySampleImportExportModel extends EchoBaseImportExportModelSu super(separator); } - public static BiometrySampleImportExportModel forImport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static BiometrySampleImportExportModel forImport(VoyageCatchesImportDataContext importDataContext) { BiometrySampleImportExportModel model = new BiometrySampleImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, BiometrySampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); model.newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, BiometrySampleImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); @@ -54,7 +53,7 @@ public class BiometrySampleImportExportModel extends EchoBaseImportExportModelSu return model; } - public static BiometrySampleImportExportModel forExport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static BiometrySampleImportExportModel forExport(VoyageCatchesImportDataContext importDataContext) { BiometrySampleImportExportModel model = new BiometrySampleImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, BiometrySampleImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, BiometrySampleImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java index ed76667..eeeb6a5 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java @@ -25,8 +25,7 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DepthStratum; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; /** * Model to import echotypes. @@ -40,7 +39,7 @@ public class EchotypeImportExportModel extends EchoBaseImportExportModelSupport< super(separator); } - public static EchotypeImportExportModel forImport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static EchotypeImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { EchotypeImportExportModel model = new EchotypeImportExportModel(importDataContext.getCsvSeparator()); model.newMandatoryColumn("echotypeName", Echotype.PROPERTY_NAME); @@ -52,7 +51,7 @@ public class EchotypeImportExportModel extends EchoBaseImportExportModelSupport< } - public static EchotypeImportExportModel forExport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static EchotypeImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { EchotypeImportExportModel model = new EchotypeImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport("echotypeName", Echotype.PROPERTY_NAME); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java index 424af2c..cca30e2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java @@ -25,8 +25,7 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.Strata; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; /** * Model to import {@link LengthAgeKey}. @@ -40,7 +39,7 @@ public class LengthAgeKeyImportExportModel extends EchoBaseImportExportModelSupp super(separator); } - public static LengthAgeKeyImportExportModel forImport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static LengthAgeKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { LengthAgeKeyImportExportModel model = new LengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(LengthAgeKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); @@ -54,7 +53,7 @@ public class LengthAgeKeyImportExportModel extends EchoBaseImportExportModelSupp } - public static LengthAgeKeyImportExportModel forExport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static LengthAgeKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { LengthAgeKeyImportExportModel model = new LengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(LengthAgeKeyImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java index 8efeaaa..73e4531 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java @@ -26,8 +26,7 @@ import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.Strata; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; /** * Model to import {@link LengthWeightKey}. @@ -41,7 +40,7 @@ public class LengthWeightKeyImportExportModel extends EchoBaseImportExportModelS super(separator); } - public static LengthWeightKeyImportExportModel forImport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static LengthWeightKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { LengthWeightKeyImportExportModel model = new LengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); model.newMandatoryColumn("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); @@ -54,7 +53,7 @@ public class LengthWeightKeyImportExportModel extends EchoBaseImportExportModelS } - public static LengthWeightKeyImportExportModel forExport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext) { + public static LengthWeightKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { LengthWeightKeyImportExportModel model = new LengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportExportModel.java index 4a31ee6..0bfe27f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MapCellImportExportModel.java @@ -26,8 +26,7 @@ import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import java.util.List; @@ -61,7 +60,7 @@ public class MapCellImportExportModel extends EchoBaseImportExportModelSupport<M } - public static MapCellImportExportModel forImport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext, List<DataMetadata> dataMetadatas) { + public static MapCellImportExportModel forImport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { MapCellImportExportModel model = new MapCellImportExportModel(importDataContext.getCsvSeparator(), importDataContext.getMapCellType()); model.newForeignKeyColumn(MapCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); @@ -84,7 +83,7 @@ public class MapCellImportExportModel extends EchoBaseImportExportModelSupport<M } - public static MapCellImportExportModel forExport(VoyageImportDataContext<VoyageResultsImportConfiguration> importDataContext, List<DataMetadata> dataMetadatas) { + public static MapCellImportExportModel forExport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { MapCellImportExportModel model = new MapCellImportExportModel(importDataContext.getCsvSeparator(), importDataContext.getMapCellType()); model.newColumnForExport(MapCellImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java index c1de923..dda2685 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java @@ -27,8 +27,7 @@ import fr.ifremer.echobase.entities.references.SexCategory; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCatchesImportDataContext; /** * Model to import {@link SampleData}. @@ -42,7 +41,7 @@ public class SubSampleImportExportModel extends EchoBaseImportExportModelSupport super(separator); } - public static SubSampleImportExportModel forImport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static SubSampleImportExportModel forImport(VoyageCatchesImportDataContext importDataContext) { SubSampleImportExportModel model = new SubSampleImportExportModel(importDataContext.getCsvSeparator()); model.newIgnoredColumn("subHaul"); @@ -61,7 +60,7 @@ public class SubSampleImportExportModel extends EchoBaseImportExportModelSupport } - public static SubSampleImportExportModel forExport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static SubSampleImportExportModel forExport(VoyageCatchesImportDataContext importDataContext) { SubSampleImportExportModel model = new SubSampleImportExportModel(importDataContext.getCsvSeparator()); // model.newIgnoredColumn("subHaul"); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java index 22c6ecf..8986f8e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java @@ -25,8 +25,7 @@ import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCatchesImportDataContext; /** * Model to import {@link Sample} of total type. @@ -40,7 +39,7 @@ public class TotalSampleImportExportModel extends EchoBaseImportExportModelSuppo super(separator); } - public static TotalSampleImportExportModel forImport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static TotalSampleImportExportModel forImport(VoyageCatchesImportDataContext importDataContext) { TotalSampleImportExportModel model = new TotalSampleImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, TotalSampleImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); @@ -56,7 +55,7 @@ public class TotalSampleImportExportModel extends EchoBaseImportExportModelSuppo } - public static TotalSampleImportExportModel forExport(VoyageImportDataContext<VoyageCatchesImportConfiguration> importDataContext) { + public static TotalSampleImportExportModel forExport(VoyageCatchesImportDataContext importDataContext) { TotalSampleImportExportModel model = new TotalSampleImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, EchoBaseCsvUtil.OPERATION_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportExportModel.java index f57bb0f..16df4af 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportExportModel.java @@ -24,8 +24,7 @@ import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCommonsImportDataContext; /** * Model to import transects. @@ -39,7 +38,7 @@ public class TransectImportExportModel extends EchoBaseImportExportModelSupport< super(separator); } - public static TransectImportExportModel forImport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static TransectImportExportModel forImport(VoyageCommonsImportDataContext importDataContext) { TransectImportExportModel model = new TransectImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(TransectImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); @@ -62,7 +61,7 @@ public class TransectImportExportModel extends EchoBaseImportExportModelSupport< } - public static TransectImportExportModel forExport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static TransectImportExportModel forExport(VoyageCommonsImportDataContext importDataContext) { TransectImportExportModel model = new TransectImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(TransectImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportRow.java index 4f79dfa..a14667d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransectImportRow.java @@ -42,8 +42,18 @@ public class TransectImportRow implements Serializable { protected Transect transect; + public static TransectImportRow of(Voyage voyage, Transect transit) { + TransectImportRow row = new TransectImportRow(transit); + row.setVoyage(voyage); + return row; + } + public TransectImportRow() { - transect = new TransectImpl(); + this(new TransectImpl()); + } + + public TransectImportRow(Transect transect) { + this.transect = transect; } public Transect getTransect() { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportExportModel.java index 50ef71f..88440b1 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportExportModel.java @@ -23,8 +23,7 @@ package fr.ifremer.echobase.services.service.importdata.csv; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCommonsImportDataContext; /** * Model to import Transits. @@ -38,7 +37,7 @@ public class TransitImportExportModel extends EchoBaseImportExportModelSupport<T super(separator); } - public static TransitImportExportModel forImport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static TransitImportExportModel forImport(VoyageCommonsImportDataContext importDataContext) { TransitImportExportModel model = new TransitImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(TransitImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); @@ -51,7 +50,7 @@ public class TransitImportExportModel extends EchoBaseImportExportModelSupport<T } - public static TransitImportExportModel forExport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static TransitImportExportModel forExport(VoyageCommonsImportDataContext importDataContext) { TransitImportExportModel model = new TransitImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(TransitImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportRow.java index 90ec738..dfcf747 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TransitImportRow.java @@ -35,22 +35,18 @@ import java.util.Date; public class TransitImportRow { public static final String PROPERTY_VOYAGE = "voyage"; + protected final Transit transit; + protected Voyage voyage; protected String description; - protected String relatedActivity; - - protected Date startTime; - - protected Date endTime; - - protected String startLocality; - - protected String endLocality; - public TransitImportRow() { - transit = new TransitImpl(); + this(new TransitImpl()); + } + + public TransitImportRow(Transit transit) { + this.transit = transit; } public Transit getTransit() { @@ -84,4 +80,10 @@ public class TransitImportRow { public void setEndLocality(String endLocality) { transit.setEndLocality(endLocality); } + + public static TransitImportRow of(Voyage voyage , Transit transit) { + TransitImportRow row = new TransitImportRow(transit); + row.setVoyage(voyage); + return row; + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportExportModel.java index 8bd44cf..fe5adde 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageImportExportModel.java @@ -23,8 +23,7 @@ package fr.ifremer.echobase.services.service.importdata.csv; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.data.VoyageImpl; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageImportDataContext; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageCommonsImportDataContext; /** * Model to import Voyages. @@ -38,7 +37,7 @@ public class VoyageImportExportModel extends EchoBaseImportExportModelSupport<Vo super(separator); } - public static VoyageImportExportModel forImport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static VoyageImportExportModel forImport(VoyageCommonsImportDataContext importDataContext) { VoyageImportExportModel model = new VoyageImportExportModel(importDataContext.getCsvSeparator()); model.newMandatoryColumn(Voyage.PROPERTY_NAME); @@ -50,7 +49,7 @@ public class VoyageImportExportModel extends EchoBaseImportExportModelSupport<Vo } - public static VoyageImportExportModel forExport(VoyageImportDataContext<VoyageCommonsImportConfiguration> importDataContext) { + public static VoyageImportExportModel forExport(VoyageCommonsImportDataContext importDataContext) { VoyageImportExportModel model = new VoyageImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(Voyage.PROPERTY_NAME); diff --git a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties index 184fa24..a6c1af7 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties @@ -29,6 +29,7 @@ echobase.common.totalSampleFile=TotalSample file echobase.common.transectFile=Transect data file echobase.common.transitFile=Transit data file echobase.common.voyageFile=Voyage data file +echobase.exportError.toFile=An error occured while exporting file %s \:%s echobase.importError.can.only.import.one.voyage.atime=Impossible to import more that one voyage at a time echobase.importError.dataMetadata.notFound=Metadata column %s missing (existing values \:%s) echobase.importError.duplicate.sample=Operation %s cannot comprise several samples of same type, species and size category diff --git a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties index 63b83dd..5514bbf 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties @@ -29,6 +29,7 @@ echobase.common.totalSampleFile=Fichier d'import des échantillons totaux (“ T echobase.common.transectFile=Fichier des données de transects echobase.common.transitFile=Fichier des données de transits echobase.common.voyageFile=Fichier des données de voyages +echobase.exportError.toFile= echobase.importError.can.only.import.one.voyage.atime=Vous ne pouvez pas importer plus d'un voyage à la fois echobase.importError.dataMetadata.notFound=Colonne de métadonnées nommée %s non trouvée (valeurs existantes \: %s) echobase.importError.duplicate.sample=L'opération %s ne peut pas contenir deux échantillons de même type %s, espèce %s et classe de taille %s -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.