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 c29f78db2beaee2125351046e727be0ffaf359d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 13:57:46 2016 +0200 Operations import ok \o/ (See #8170) --- .../VoyageOperationsGearMetadataImportAction.java | 60 ++++++++++++++---- .../VoyageOperationsOperationImportAction.java | 48 ++++++++++++--- ...ageOperationsOperationMetadataImportAction.java | 61 ++++++++++++++---- .../csv/GearMetadataValueImportExportModel.java | 72 ---------------------- .../OperationMetadataValueImportExportModel.java | 68 -------------------- ...erationsGearMetadataValueImportExportModel.java | 72 ++++++++++++++++++++++ ...oyageOperationsGearMetadataValueImportRow.java} | 35 +++++++++-- ...oyageOperationsOperationImportExportModel.java} | 20 +++--- ...ava => VoyageOperationsOperationImportRow.java} | 67 ++++++++++++++++++-- ...onsOperationMetadataValueImportExportModel.java | 68 ++++++++++++++++++++ ...OperationsOperationMetadataValueImportRow.java} | 39 +++++++++--- .../importdata/AbstractImportDataServiceIT.java | 2 + .../importdata/VoyageAcousticImportServiceIT.java | 2 + .../VoyageCatchesImportServiceITSupport.java | 13 ++-- .../VoyageCommonsAllImportServiceIT.java | 6 -- .../VoyageCommonsImportServiceITSupport.java | 16 +++-- .../VoyageCommonsTransectImportServiceIT.java | 6 -- .../VoyageCommonsTransitImportServiceIT.java | 6 -- .../VoyageCommonsVoyageImportServiceIT.java | 7 --- .../importdata/VoyageOperationImportServiceIT.java | 48 +++++++++------ .../VoyageResultsImportServiceITSupport.java | 11 ++-- 21 files changed, 465 insertions(+), 262 deletions(-) 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 e2b0e28..0a4fca8 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 @@ -1,24 +1,29 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.Operation; +import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.GearMetadataValueImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.GearMetadataValueImportRow; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsGearMetadataValueImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsGearMetadataValueImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Map; +import java.util.TreeMap; + /** * Created on 25/03/16. * * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsImportDataActionSupport<GearMetadataValueImportRow> { +public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsImportDataActionSupport<VoyageOperationsGearMetadataValueImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageOperationsGearMetadataImportAction.class); @@ -28,15 +33,18 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm } @Override - protected GearMetadataValueImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { - return GearMetadataValueImportExportModel.forImport(importDataContext); + protected VoyageOperationsGearMetadataValueImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsGearMetadataValueImportExportModel.forImport(importDataContext); } @Override - protected GearMetadataValueImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { - return GearMetadataValueImportExportModel.forExport(importDataContext); + protected VoyageOperationsGearMetadataValueImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsGearMetadataValueImportExportModel.forExport(importDataContext); } + private final Map<String, String> gearMetadataValueIdToOperationId = new TreeMap<>(); + private final Map<String, String> operationIdToVesselId = new TreeMap<>(); + @Override protected void performImport(VoyageOperationsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -44,11 +52,11 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm log.info("Starts import of gear metadata values from file " + inputFile.getFileName()); } - try (Import<GearMetadataValueImportRow> importer = open()) { + try (Import<VoyageOperationsGearMetadataValueImportRow> importer = open()) { int rowNumber = 0; incrementsProgress(); - for (GearMetadataValueImportRow row : importer) { + for (VoyageOperationsGearMetadataValueImportRow row : importer) { doFlushTransaction(++rowNumber); Operation operation = row.getOperation(); @@ -57,7 +65,14 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm GearMetadataValue gearMetadataValue = persistenceService.createGearMetadataValue(gearMetadataValuetoCreate); operation.addGearMetadataValue(gearMetadataValue); - result.incrementsNumberCreated(EchoBaseUserEntityEnum.GearMetadataValue); + result.addId(EchoBaseUserEntityEnum.GearMetadataValue, gearMetadataValue); + + addProcessedRow(result, row); + + gearMetadataValueIdToOperationId.put(gearMetadataValue.getTopiaId(), operation.getTopiaId()); + + Vessel vessel = row.getVessel(); + operationIdToVesselId.put(operation.getTopiaId(), vessel.getTopiaId()); } @@ -68,8 +83,31 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm @Override protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + for (String gearMetadataValueId : result.getIds()) { + + if (log.isInfoEnabled()) { + log.info("Adding gear metadata value : " + gearMetadataValueId + " to imported export."); + } + + String operationId = gearMetadataValueIdToOperationId.get(gearMetadataValueId); + Preconditions.checkNotNull(operationId); + + Operation operation = persistenceService.getOperation(operationId); + Preconditions.checkNotNull(operation); + + String vesselId = operationIdToVesselId.get(operationId); + Preconditions.checkNotNull(vesselId); + + Vessel vessel = persistenceService.getVessel(vesselId); + Preconditions.checkNotNull(vessel); + GearMetadataValue gearMetadataValue = operation.getGearMetadataValueByTopiaId(gearMetadataValueId); + Preconditions.checkNotNull(gearMetadataValue); + + VoyageOperationsGearMetadataValueImportRow importedRow = VoyageOperationsGearMetadataValueImportRow.of(operation, vessel, gearMetadataValue); + addImportedRow(result, importedRow); + + } } } 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 1cfac3a..cb1b642 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 @@ -1,5 +1,6 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.Transect; @@ -9,13 +10,15 @@ import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.OperationImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.OperationImportRow; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsOperationImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsOperationImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; import java.util.Date; +import java.util.Map; +import java.util.TreeMap; /** * Created on 25/03/16. @@ -23,7 +26,7 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageOperationsOperationImportAction extends VoyageOperationsImportDataActionSupport<OperationImportRow> { +public class VoyageOperationsOperationImportAction extends VoyageOperationsImportDataActionSupport<VoyageOperationsOperationImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageOperationsOperationImportAction.class); @@ -33,15 +36,17 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor } @Override - protected OperationImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { - return OperationImportExportModel.forImport(importDataContext); + protected VoyageOperationsOperationImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsOperationImportExportModel.forImport(importDataContext); } @Override - protected OperationImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { - return OperationImportExportModel.forExport(importDataContext); + protected VoyageOperationsOperationImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsOperationImportExportModel.forExport(importDataContext); } + private final Map<String, String> opperationIdToTransectId = new TreeMap<>(); + @Override protected void performImport(VoyageOperationsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -51,11 +56,11 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor Voyage voyage = importDataContext.getVoyage(); - try (Import<OperationImportRow> importer = open()) { + try (Import<VoyageOperationsOperationImportRow> importer = open()) { incrementsProgress(); int rowNumber = 0; - for (OperationImportRow row : importer) { + for (VoyageOperationsOperationImportRow row : importer) { doFlushTransaction(++rowNumber); @@ -77,6 +82,12 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor transect.addOperation(createdOperation); + addProcessedRow(result, row); + + // add to operation ids cache (need to compute imported export later) + opperationIdToTransectId.put(operation.getTopiaId(), transect.getTopiaId()); + + } } @@ -86,7 +97,24 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor @Override protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + for (String operationId : result.getIds()) { + + if (log.isInfoEnabled()) { + log.info("Adding operation: " + operationId + " to imported export."); + } + Operation operation = persistenceService.getOperation(operationId); + Preconditions.checkNotNull(operation); + + String transectId = opperationIdToTransectId.get(operationId); + Preconditions.checkNotNull(transectId); + + Transect transect = persistenceService.getTransect(transectId); + Preconditions.checkNotNull(transect); + + VoyageOperationsOperationImportRow importedRow = VoyageOperationsOperationImportRow.of(transect, operation); + addImportedRow(result, importedRow); + + } } 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 4a7fd4d..f2644e6 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 @@ -1,24 +1,29 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; +import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.OperationMetadataValueImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.OperationMetadataValueImportRow; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsOperationMetadataValueImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageOperationsOperationMetadataValueImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Map; +import java.util.TreeMap; + /** * Created on 25/03/16. * * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageOperationsOperationMetadataImportAction extends VoyageOperationsImportDataActionSupport<OperationMetadataValueImportRow> { +public class VoyageOperationsOperationMetadataImportAction extends VoyageOperationsImportDataActionSupport<VoyageOperationsOperationMetadataValueImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageOperationsOperationMetadataImportAction.class); @@ -28,15 +33,18 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati } @Override - protected OperationMetadataValueImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { - return OperationMetadataValueImportExportModel.forImport(importDataContext); + protected VoyageOperationsOperationMetadataValueImportExportModel createCsvImportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsOperationMetadataValueImportExportModel.forImport(importDataContext); } @Override - protected OperationMetadataValueImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { - return OperationMetadataValueImportExportModel.forExport(importDataContext); + protected VoyageOperationsOperationMetadataValueImportExportModel createCsvExportModel(VoyageOperationsImportDataContext importDataContext) { + return VoyageOperationsOperationMetadataValueImportExportModel.forExport(importDataContext); } + private final Map<String, String> operationMetadataValueIdToOperationId = new TreeMap<>(); + private final Map<String, String> operationIdToVesselId = new TreeMap<>(); + @Override protected void performImport(VoyageOperationsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -44,11 +52,11 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati log.info("Starts import of operation metadata values from file " + inputFile.getFileName()); } - try (Import<OperationMetadataValueImportRow> importer = open()) { + try (Import<VoyageOperationsOperationMetadataValueImportRow> importer = open()) { int rowNumber = 0; incrementsProgress(); - for (OperationMetadataValueImportRow row : importer) { + for (VoyageOperationsOperationMetadataValueImportRow row : importer) { doFlushTransaction(++rowNumber); Operation operation = row.getOperation(); @@ -57,7 +65,14 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati OperationMetadataValue operationMetadataValue = persistenceService.createOperationMetadataValue(operationMetadataValueToCreate); operation.addOperationMetadataValue(operationMetadataValue); - result.incrementsNumberCreated(EchoBaseUserEntityEnum.OperationMetadataValue); + + addProcessedRow(result, row); + result.addId(EchoBaseUserEntityEnum.OperationMetadataValue, operationMetadataValue); + + operationMetadataValueIdToOperationId.put(operationMetadataValue.getTopiaId(), operation.getTopiaId()); + + Vessel vessel = row.getVessel(); + operationIdToVesselId.put(operation.getTopiaId(), vessel.getTopiaId()); } @@ -68,7 +83,31 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati @Override protected void computeImportedExport(VoyageOperationsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + for (String operationMetadataValueId : result.getIds()) { + + if (log.isInfoEnabled()) { + log.info("Adding operation metadata value : " + operationMetadataValueId + " to imported export."); + } + + String operationId = operationMetadataValueIdToOperationId.get(operationMetadataValueId); + Preconditions.checkNotNull(operationId); + + Operation operation = persistenceService.getOperation(operationId); + Preconditions.checkNotNull(operation); + + String vesselId = operationIdToVesselId.get(operationId); + Preconditions.checkNotNull(vesselId); + + Vessel vessel = persistenceService.getVessel(vesselId); + Preconditions.checkNotNull(vessel); + + OperationMetadataValue operationMetadataValue = operation.getOperationMetadataValueByTopiaId(operationMetadataValueId); + Preconditions.checkNotNull(operationMetadataValue); + + VoyageOperationsOperationMetadataValueImportRow importedRow = VoyageOperationsOperationMetadataValueImportRow.of(operation, vessel, operationMetadataValue); + addImportedRow(result, importedRow); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportExportModel.java deleted file mode 100644 index 586b80b..0000000 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportExportModel.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services.service.importdata.csv; - -import fr.ifremer.echobase.entities.data.GearMetadataValue; -import fr.ifremer.echobase.entities.data.Operation; -import fr.ifremer.echobase.entities.references.Gear; -import fr.ifremer.echobase.entities.references.GearMetadata; -import fr.ifremer.echobase.entities.references.Vessel; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; - -/** - * Model to import {@link GearMetadataValue}. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class GearMetadataValueImportExportModel extends EchoBaseImportExportModelSupport<GearMetadataValueImportRow> { - - - private GearMetadataValueImportExportModel(char separator) { - super(separator); - } - - public static GearMetadataValueImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { - - GearMetadataValueImportExportModel model = new GearMetadataValueImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, GearMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); - model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, GearMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); - model.newForeignKeyColumn("metadataType", GearMetadataValue.PROPERTY_GEAR_METADATA, GearMetadata.class, GearMetadata.PROPERTY_NAME, importDataContext.getGearMetadatasByName()); - model.newForeignKeyColumn(EchoBaseCsvUtil.GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, importDataContext.getGearsByCasinoGearName()); - model.newMandatoryColumn("gearMetadataValue", GearMetadataValue.PROPERTY_DATA_VALUE); - return model; - - } - - public static GearMetadataValueImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { - - GearMetadataValueImportExportModel model = new GearMetadataValueImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, GearMetadataValueImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); - model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, GearMetadataValueImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); - model.newColumnForExport("metadataType", GearMetadataValue.PROPERTY_GEAR_METADATA, EchoBaseCsvUtil.GEAR_METADATA_FORMATTER); - model.newColumnForExport(EchoBaseCsvUtil.GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, EchoBaseCsvUtil.GEAR_FORMATTER); - model.newColumnForExport("gearMetadataValue", GearMetadataValue.PROPERTY_DATA_VALUE); - return model; - - } - - @Override - public GearMetadataValueImportRow newEmptyInstance() { - return new GearMetadataValueImportRow(); - } -} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportExportModel.java deleted file mode 100644 index 0c5a0b4..0000000 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportExportModel.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services.service.importdata.csv; - -import fr.ifremer.echobase.entities.data.Operation; -import fr.ifremer.echobase.entities.data.OperationMetadataValue; -import fr.ifremer.echobase.entities.references.OperationMetadata; -import fr.ifremer.echobase.entities.references.Vessel; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; - -/** - * Model to import {@link OperationMetadataValue}. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class OperationMetadataValueImportExportModel extends EchoBaseImportExportModelSupport<OperationMetadataValueImportRow> { - - private OperationMetadataValueImportExportModel(char separator) { - super(separator); - } - - public static OperationMetadataValueImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { - - OperationMetadataValueImportExportModel model = new OperationMetadataValueImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, OperationMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); - model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, OperationMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); - model.newForeignKeyColumn("metadataType", OperationMetadataValue.PROPERTY_OPERATION_METADATA, OperationMetadata.class, OperationMetadata.PROPERTY_NAME, importDataContext.getOperationMetadatasByName()); - model.newMandatoryColumn("operationMetadataValue", OperationMetadataValue.PROPERTY_DATA_VALUE); - return model; - - } - - public static OperationMetadataValueImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { - - OperationMetadataValueImportExportModel model = new OperationMetadataValueImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, OperationMetadataValueImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); - model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, OperationMetadataValueImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); - model.newColumnForExport("metadataType", OperationMetadataValue.PROPERTY_OPERATION_METADATA, EchoBaseCsvUtil.OPERATION_FMETADATA_ORMATTER); - model.newColumnForExport("operationMetadataValue", OperationMetadataValue.PROPERTY_DATA_VALUE); - return model; - - } - - @Override - public OperationMetadataValueImportRow newEmptyInstance() { - return new OperationMetadataValueImportRow(); - } -} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportExportModel.java new file mode 100644 index 0000000..1a83cb0 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportExportModel.java @@ -0,0 +1,72 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata.csv; + +import fr.ifremer.echobase.entities.data.GearMetadataValue; +import fr.ifremer.echobase.entities.data.Operation; +import fr.ifremer.echobase.entities.references.Gear; +import fr.ifremer.echobase.entities.references.GearMetadata; +import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; + +/** + * Model to import {@link GearMetadataValue}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageOperationsGearMetadataValueImportExportModel extends EchoBaseImportExportModelSupport<VoyageOperationsGearMetadataValueImportRow> { + + + private VoyageOperationsGearMetadataValueImportExportModel(char separator) { + super(separator); + } + + public static VoyageOperationsGearMetadataValueImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { + + VoyageOperationsGearMetadataValueImportExportModel model = new VoyageOperationsGearMetadataValueImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsGearMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); + model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, VoyageOperationsGearMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); + model.newForeignKeyColumn(VoyageOperationsGearMetadataValueImportRow.PROPERTY_METADATA_TYPE, GearMetadataValue.PROPERTY_GEAR_METADATA, GearMetadata.class, GearMetadata.PROPERTY_NAME, importDataContext.getGearMetadatasByName()); + model.newForeignKeyColumn(EchoBaseCsvUtil.GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, importDataContext.getGearsByCasinoGearName()); + model.newMandatoryColumn(VoyageOperationsGearMetadataValueImportRow.PROPERTY_GEAR_METADATA_VALUE, GearMetadataValue.PROPERTY_DATA_VALUE); + return model; + + } + + public static VoyageOperationsGearMetadataValueImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { + + VoyageOperationsGearMetadataValueImportExportModel model = new VoyageOperationsGearMetadataValueImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsGearMetadataValueImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, VoyageOperationsGearMetadataValueImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); + model.newColumnForExport(VoyageOperationsGearMetadataValueImportRow.PROPERTY_METADATA_TYPE, GearMetadataValue.PROPERTY_GEAR_METADATA, EchoBaseCsvUtil.GEAR_METADATA_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.GEAR_CODE, GearMetadataValue.PROPERTY_GEAR, EchoBaseCsvUtil.GEAR_FORMATTER); + model.newColumnForExport(VoyageOperationsGearMetadataValueImportRow.PROPERTY_GEAR_METADATA_VALUE, GearMetadataValue.PROPERTY_DATA_VALUE); + return model; + + } + + @Override + public VoyageOperationsGearMetadataValueImportRow newEmptyInstance() { + return new VoyageOperationsGearMetadataValueImportRow(); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportRow.java similarity index 65% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportRow.java index d06614a..d8066d0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/GearMetadataValueImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsGearMetadataValueImportRow.java @@ -29,36 +29,61 @@ import fr.ifremer.echobase.entities.references.GearMetadata; import fr.ifremer.echobase.entities.references.Vessel; /** - * Bean used as a row for import of {@link GearMetadataValueImportExportModel}. + * Bean used as a row for import of {@link VoyageOperationsGearMetadataValueImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class GearMetadataValueImportRow { +public class VoyageOperationsGearMetadataValueImportRow { public static final String PROPERTY_VESSEL = Transect.PROPERTY_VESSEL; - public static final String PROPERTY_OPERATION = Transect.PROPERTY_OPERATION; + public static final String PROPERTY_GEAR_METADATA_VALUE = "gearMetadataValue"; + public static final String PROPERTY_METADATA_TYPE = "metadataType"; + protected final GearMetadataValue gearMetadataValue; protected Vessel vessel; protected Operation operation; - public GearMetadataValueImportRow() { - gearMetadataValue = new GearMetadataValueImpl(); + public static VoyageOperationsGearMetadataValueImportRow of(Operation operation, Vessel vessel, GearMetadataValue gearMetadataValue) { + VoyageOperationsGearMetadataValueImportRow row = new VoyageOperationsGearMetadataValueImportRow(gearMetadataValue); + row.setOperation(operation); + row.setVessel(vessel); + return row; + } + + public VoyageOperationsGearMetadataValueImportRow(GearMetadataValue gearMetadataValue) { + this.gearMetadataValue = gearMetadataValue; + } + + public VoyageOperationsGearMetadataValueImportRow() { + this(new GearMetadataValueImpl()); } public GearMetadataValue getGearMetadataValue() { return gearMetadataValue; } + public GearMetadata getGearMetadata() { + return getGearMetadataValue().getGearMetadata(); + } + public void setGearMetadata(GearMetadata gearMetadata) { gearMetadataValue.setGearMetadata(gearMetadata); } + public String getDataValue() { + return getGearMetadataValue().getDataValue(); + } + public void setDataValue(String dataValue) { gearMetadataValue.setDataValue(dataValue); } + public Gear getGear() { + return getGearMetadataValue().getGear(); + } + public void setGear(Gear gear) { gearMetadataValue.setGear(gear); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportExportModel.java similarity index 77% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportExportModel.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportExportModel.java index 526b69e..cb975d4 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportExportModel.java @@ -33,16 +33,16 @@ import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperations * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class OperationImportExportModel extends EchoBaseImportExportModelSupport<OperationImportRow> { +public class VoyageOperationsOperationImportExportModel extends EchoBaseImportExportModelSupport<VoyageOperationsOperationImportRow> { - private OperationImportExportModel(char separator) { + private VoyageOperationsOperationImportExportModel(char separator) { super(separator); } - public static OperationImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { + public static VoyageOperationsOperationImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { - OperationImportExportModel model = new OperationImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, OperationImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); + VoyageOperationsOperationImportExportModel model = new VoyageOperationsOperationImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsOperationImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); model.newForeignKeyColumn(EchoBaseCsvUtil.GEAR_CODE, Operation.PROPERTY_GEAR, Gear.class, Gear.PROPERTY_CASINO_GEAR_NAME, importDataContext.getGearsByCasinoGearName()); model.newForeignKeyColumn(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Operation.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, importDataContext.getDepthStratumsById()); model.newMandatoryColumn(EchoBaseCsvUtil.OPERATION_ID, Operation.PROPERTY_ID); @@ -58,10 +58,10 @@ public class OperationImportExportModel extends EchoBaseImportExportModelSupport } - public static OperationImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { + public static VoyageOperationsOperationImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { - OperationImportExportModel model = new OperationImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, OperationImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); + VoyageOperationsOperationImportExportModel model = new VoyageOperationsOperationImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsOperationImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.GEAR_CODE, Operation.PROPERTY_GEAR, EchoBaseCsvUtil.GEAR_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Operation.PROPERTY_DEPTH_STRATUM, EchoBaseCsvUtil.DEPTH_STRATUM_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, Operation.PROPERTY_ID); @@ -78,7 +78,7 @@ public class OperationImportExportModel extends EchoBaseImportExportModelSupport } @Override - public OperationImportRow newEmptyInstance() { - return new OperationImportRow(); + public VoyageOperationsOperationImportRow newEmptyInstance() { + return new VoyageOperationsOperationImportRow(); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportRow.java similarity index 64% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportRow.java index c81bada..0b7f5b8 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationImportRow.java @@ -30,19 +30,30 @@ import fr.ifremer.echobase.entities.references.Vessel; import java.util.Date; /** - * Bean used as a row for import of {@link OperationImportExportModel}. + * Bean used as a row for import of {@link VoyageOperationsOperationImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class OperationImportRow { +public class VoyageOperationsOperationImportRow { public static final String PROPERTY_VESSEL = Transect.PROPERTY_VESSEL; + protected final Operation operation; protected Vessel vessel; - public OperationImportRow() { - operation = new OperationImpl(); + public static VoyageOperationsOperationImportRow of(Transect transect, Operation operation) { + VoyageOperationsOperationImportRow row = new VoyageOperationsOperationImportRow(operation); + row.setVessel(transect.getVessel()); + return row; + } + + public VoyageOperationsOperationImportRow(Operation operation) { + this.operation = operation; + } + + public VoyageOperationsOperationImportRow() { + this(new OperationImpl()); } public Operation getOperation() { @@ -57,47 +68,91 @@ public class OperationImportRow { this.vessel = vessel; } + public String getId() { + return operation.getId(); + } + public void setId(String id) { operation.setId(id); } + public Date getGearShootingStartTime() { + return operation.getGearShootingStartTime(); + } + public void setGearShootingStartTime(Date gearShootingStartTime) { operation.setGearShootingStartTime(gearShootingStartTime); } + public Date getGearShootingEndTime() { + return operation.getGearShootingEndTime(); + } + public void setGearShootingEndTime(Date gearShootingEndTime) { operation.setGearShootingEndTime(gearShootingEndTime); } + public Float getGearShootingStartLatitude() { + return operation.getGearShootingStartLatitude(); + } + public void setGearShootingStartLatitude(Float gearShootingStartLatitude) { operation.setGearShootingStartLatitude(gearShootingStartLatitude); } + public Float getGearShootingEndLatitude() { + return operation.getGearShootingEndLatitude(); + } + public void setGearShootingEndLatitude(Float gearShootingEndLatitude) { operation.setGearShootingEndLatitude(gearShootingEndLatitude); } + public Float getGearShootingStartLongitude() { + return operation.getGearShootingStartLongitude(); + } + public void setGearShootingStartLongitude(Float gearShootingStartLongitude) { operation.setGearShootingStartLongitude(gearShootingStartLongitude); } + public Float getGearShootingEndLongitude() { + return operation.getGearShootingEndLongitude(); + } + public void setGearShootingEndLongitude(Float gearShootingEndLongitude) { operation.setGearShootingEndLongitude(gearShootingEndLongitude); } + public float getMidHaulLatitude() { + return operation.getMidHaulLatitude(); + } + public void setMidHaulLatitude(float midHauleLatitude) { operation.setMidHaulLatitude(midHauleLatitude); } + public float getMidHaulLongitude() { + return operation.getMidHaulLongitude(); + } + public void setMidHaulLongitude(float midHauleLongitude) { operation.setMidHaulLongitude(midHauleLongitude); } - public void setDepthStratum(DepthStratum depthStratum) { - operation.setDepthStratum(depthStratum); + public Gear getGear() { + return operation.getGear(); } public void setGear(Gear gear) { operation.setGear(gear); } + + public DepthStratum getDepthStratum() { + return operation.getDepthStratum(); + } + + public void setDepthStratum(DepthStratum depthStratum) { + operation.setDepthStratum(depthStratum); + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportExportModel.java new file mode 100644 index 0000000..c3c3d5b --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportExportModel.java @@ -0,0 +1,68 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata.csv; + +import fr.ifremer.echobase.entities.data.Operation; +import fr.ifremer.echobase.entities.data.OperationMetadataValue; +import fr.ifremer.echobase.entities.references.OperationMetadata; +import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageOperationsImportDataContext; + +/** + * Model to import {@link OperationMetadataValue}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageOperationsOperationMetadataValueImportExportModel extends EchoBaseImportExportModelSupport<VoyageOperationsOperationMetadataValueImportRow> { + + private VoyageOperationsOperationMetadataValueImportExportModel(char separator) { + super(separator); + } + + public static VoyageOperationsOperationMetadataValueImportExportModel forImport(VoyageOperationsImportDataContext importDataContext) { + + VoyageOperationsOperationMetadataValueImportExportModel model = new VoyageOperationsOperationMetadataValueImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsOperationMetadataValueImportRow.PROPERTY_VESSEL, Vessel.class, Vessel.PROPERTY_NAME, importDataContext.getVesselsByName()); + model.newForeignKeyColumn(EchoBaseCsvUtil.OPERATION_ID, VoyageOperationsOperationMetadataValueImportRow.PROPERTY_OPERATION, Operation.class, Operation.PROPERTY_ID, importDataContext.getVoyageOperationsById()); + model.newForeignKeyColumn(VoyageOperationsOperationMetadataValueImportRow.PROPERTY_METADATA_TYPE, OperationMetadataValue.PROPERTY_OPERATION_METADATA, OperationMetadata.class, OperationMetadata.PROPERTY_NAME, importDataContext.getOperationMetadatasByName()); + model.newMandatoryColumn(VoyageOperationsOperationMetadataValueImportRow.PROPERTY_OPERATION_METADATA_VALUE, OperationMetadataValue.PROPERTY_DATA_VALUE); + return model; + + } + + public static VoyageOperationsOperationMetadataValueImportExportModel forExport(VoyageOperationsImportDataContext importDataContext) { + + VoyageOperationsOperationMetadataValueImportExportModel model = new VoyageOperationsOperationMetadataValueImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(EchoBaseCsvUtil.VESSEL_NAME, VoyageOperationsOperationMetadataValueImportRow.PROPERTY_VESSEL, EchoBaseCsvUtil.VESSEL_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, VoyageOperationsOperationMetadataValueImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); + model.newColumnForExport(VoyageOperationsOperationMetadataValueImportRow.PROPERTY_METADATA_TYPE, OperationMetadataValue.PROPERTY_OPERATION_METADATA, EchoBaseCsvUtil.OPERATION_FMETADATA_ORMATTER); + model.newColumnForExport(VoyageOperationsOperationMetadataValueImportRow.PROPERTY_OPERATION_METADATA_VALUE, OperationMetadataValue.PROPERTY_DATA_VALUE); + return model; + + } + + @Override + public VoyageOperationsOperationMetadataValueImportRow newEmptyInstance() { + return new VoyageOperationsOperationMetadataValueImportRow(); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportRow.java similarity index 64% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportRow.java index 24bdcc2..d49a5d9 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/OperationMetadataValueImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageOperationsOperationMetadataValueImportRow.java @@ -28,36 +28,57 @@ import fr.ifremer.echobase.entities.references.OperationMetadata; import fr.ifremer.echobase.entities.references.Vessel; /** - * Bean used as a row for import of {@link OperationMetadataValueImportExportModel}. + * Bean used as a row for import of {@link VoyageOperationsOperationMetadataValueImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class OperationMetadataValueImportRow { +public class VoyageOperationsOperationMetadataValueImportRow { public static final String PROPERTY_VESSEL = Transect.PROPERTY_VESSEL; - public static final String PROPERTY_OPERATION = Transect.PROPERTY_OPERATION; + public static final String PROPERTY_METADATA_TYPE = "metadataType"; + public static final String PROPERTY_OPERATION_METADATA_VALUE = Operation.PROPERTY_OPERATION_METADATA_VALUE; + protected final OperationMetadataValue operationMetadataValue; protected Operation operation; protected Vessel vessel; - public OperationMetadataValueImportRow() { - operationMetadataValue = new OperationMetadataValueImpl(); + public static VoyageOperationsOperationMetadataValueImportRow of(Operation operation, Vessel vessel, OperationMetadataValue operationMetadataValue) { + VoyageOperationsOperationMetadataValueImportRow row = new VoyageOperationsOperationMetadataValueImportRow(operationMetadataValue); + row.setOperation(operation); + row.setVessel(vessel); + return row; } - public OperationMetadataValue getOperationMetadataValue() { - return operationMetadataValue; + public VoyageOperationsOperationMetadataValueImportRow(OperationMetadataValue operationMetadataValue) { + this.operationMetadataValue = operationMetadataValue; } - public void setOperationMetadata(OperationMetadata operationMetadata) { - operationMetadataValue.setOperationMetadata(operationMetadata); + public VoyageOperationsOperationMetadataValueImportRow() { + this(new OperationMetadataValueImpl()); + } + + public String getDataValue() { + return operationMetadataValue.getDataValue(); } public void setDataValue(String dataValue) { operationMetadataValue.setDataValue(dataValue); } + public OperationMetadataValue getOperationMetadataValue() { + return operationMetadataValue; + } + + public OperationMetadata getOperationMetadata() { + return operationMetadataValue.getOperationMetadata(); + } + + public void setOperationMetadata(OperationMetadata operationMetadata) { + operationMetadataValue.setOperationMetadata(operationMetadata); + } + public Operation getOperation() { return operation; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java index 35669a0..7d90a06 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java @@ -96,6 +96,8 @@ public abstract class AbstractImportDataServiceIT<C extends ImportDataConfigurat protected abstract void assertAfertImport(ImportDataResult<C> result) throws IOException; + protected abstract String[] getImportPath(String filename); + @Test public final void doImport() throws Exception { diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java index fcb806d..3d6bcf8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java @@ -40,10 +40,12 @@ public class VoyageAcousticImportServiceIT extends AbstractImportDataServiceIT<V super(1); } + @Override protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); } + @Override protected String[] getImportPath(String filename) { return new String[]{"/import-data", "acoustic", filename}; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java index f3cdc58..feee144 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java @@ -35,20 +35,21 @@ public abstract class VoyageCatchesImportServiceITSupport extends AbstractImport super(nbFiles); } - protected String[] getImportPath(String filename) { + @Override + protected final String[] getImportPath(String filename) { return new String[]{"/import-data", "catches", filename}; } @Override + protected ImportDataService.VoyageCatchesImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCatchesImportDataAction(); + } + + @Override protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { VoyageCatchesImportConfiguration configuration = new VoyageCatchesImportConfiguration(getLocale()); configuration.setVoyageId(getVoyageId()); return configuration; } - @Override - protected ImportDataService.VoyageCatchesImportDataAction newAction() throws IOException { - return new ImportDataService.VoyageCatchesImportDataAction(); - } - } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java index 9d9cb35..5b34125 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java @@ -25,7 +25,6 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; import java.io.IOException; @@ -41,11 +40,6 @@ public class VoyageCommonsAllImportServiceIT extends VoyageCommonsImportServiceI } @Override - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_NO_DATA()); - } - - @Override protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { VoyageCommonsImportConfiguration configuration = super.createConfiguration(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java index f14e9d0..5e0a35c 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java @@ -21,6 +21,7 @@ package fr.ifremer.echobase.services.service.importdata; * #L% */ +import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; import java.io.IOException; @@ -35,17 +36,24 @@ public abstract class VoyageCommonsImportServiceITSupport extends AbstractImport super(nbFiles); } + @Override + protected final FakeEchoBaseServiceContext initContext() { + return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_NO_DATA()); + } + + @Override protected final String[] getImportPath(String filename) { return new String[]{"/import-data", "common", filename}; } - protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { - return new VoyageCommonsImportConfiguration(getLocale()); + @Override + protected final ImportDataService.VoyageCommonsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCommonsImportDataAction(); } @Override - protected ImportDataService.VoyageCommonsImportDataAction newAction() throws IOException { - return new ImportDataService.VoyageCommonsImportDataAction(); + protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { + return new VoyageCommonsImportConfiguration(getLocale()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java index f973c6e..4225958 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java @@ -25,7 +25,6 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; import java.io.IOException; @@ -41,11 +40,6 @@ public class VoyageCommonsTransectImportServiceIT extends VoyageCommonsImportSer } @Override - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA()); - } - - @Override protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { VoyageCommonsImportConfiguration configuration = super.createConfiguration(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java index 5844536..748faba 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java @@ -26,7 +26,6 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; import java.io.IOException; @@ -42,11 +41,6 @@ public class VoyageCommonsTransitImportServiceIT extends VoyageCommonsImportServ } @Override - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA()); - } - - @Override protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { VoyageCommonsImportConfiguration configuration = super.createConfiguration(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java index 84c37b6..65907d4 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java @@ -26,7 +26,6 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; import java.io.IOException; @@ -42,11 +41,6 @@ public class VoyageCommonsVoyageImportServiceIT extends VoyageCommonsImportServi } @Override - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_NO_DATA()); - } - - @Override protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { VoyageCommonsImportConfiguration configuration = super.createConfiguration(); @@ -55,7 +49,6 @@ public class VoyageCommonsVoyageImportServiceIT extends VoyageCommonsImportServi configuration.setDatum(fixtures.DATUM()); configuration.setMissionId(fixtures.MISSION_ID()); configuration.setVoyageDescription(fixtures.VOYAGE_DESCRIPTION()); - configuration.setWorkingDirectory(getConfiguration().getTemporaryDirectory()); prepareInputFile(configuration.getVoyageFile(), getImportPath("voyage.csv.gz")); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java index 2778c46..42ac6da 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java @@ -20,6 +20,7 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; @@ -27,7 +28,6 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageOperationsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -39,24 +39,24 @@ public class VoyageOperationImportServiceIT extends AbstractImportDataServiceIT< super(3); } + @Override protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA()); } + @Override protected String[] getImportPath(String filename) { return new String[]{"/import-data", "operation", filename}; } @Override protected VoyageOperationsImportConfiguration createConfiguration() throws IOException { - - VoyageOperationsImportConfiguration conf = new VoyageOperationsImportConfiguration(getLocale()); - conf.setVoyageId(getVoyageId()); - prepareInputFile(conf.getOperationFile(), getImportPath("operation.csv.gz")); - prepareInputFile(conf.getOperationMetadataFile(), getImportPath("operationmetadatavalue.csv.gz")); - prepareInputFile(conf.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv.gz")); - - return conf; + VoyageOperationsImportConfiguration configuration = new VoyageOperationsImportConfiguration(getLocale()); + configuration.setVoyageId(getVoyageId()); + prepareInputFile(configuration.getOperationFile(), getImportPath("operation.csv.gz")); + prepareInputFile(configuration.getOperationMetadataFile(), getImportPath("operationmetadatavalue.csv.gz")); + prepareInputFile(configuration.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv.gz")); + return configuration; } @Override @@ -67,23 +67,31 @@ public class VoyageOperationImportServiceIT extends AbstractImportDataServiceIT< @Override protected void assertBeforeImport() { assertImportCommonData(); - assertNoEntities(Operation.class, OperationMetadataValue.class, GearMetadataValue.class); } @Override protected void assertAfertImport(ImportDataResult<VoyageOperationsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - - assertNbIds(importDataFileResults, 0, fixtures.NB_OPERATION()); - assertCsvImportResult(importDataFileResults, 0, Operation.class, fixtures.NB_OPERATION()); - - assertNbIds(importDataFileResults, 1, 0); - assertCsvImportResult(importDataFileResults, 1, OperationMetadataValue.class, fixtures.NB_OPERATION_METADATAVALUE()); - - assertNbIds(importDataFileResults, 2, 0); - assertCsvImportResult(importDataFileResults, 2, GearMetadataValue.class, fixtures.NB_GEAR_METADATAVALUE()); + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + int nbOperation = fixtures.NB_OPERATION(); + assertCsvImportResultPerEntity(importDataFileResult, Operation.class, nbOperation, 0, nbOperation); + assertCsvImportResult0(importDataFileResult, nbOperation); + } + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); + int nbOperationMetadatavalue = fixtures.NB_OPERATION_METADATAVALUE(); + assertCsvImportResultPerEntity(importDataFileResult, OperationMetadataValue.class, nbOperationMetadatavalue, 0, nbOperationMetadatavalue); + assertCsvImportResult0(importDataFileResult, nbOperationMetadatavalue); + } + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); + int nbGearMetadatavalue = fixtures.NB_GEAR_METADATAVALUE(); + assertCsvImportResultPerEntity(importDataFileResult, GearMetadataValue.class, nbGearMetadatavalue, 0, nbGearMetadatavalue); + assertCsvImportResult0(importDataFileResult, nbGearMetadatavalue); + } assertImportOperations(); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java index 9787c09..186282f 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java @@ -35,6 +35,12 @@ public abstract class VoyageResultsImportServiceITSupport extends AbstractImport super(nbFiles); } + @Override + protected ImportDataService.VoyageResultsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageResultsImportDataAction(); + } + + @Override protected VoyageResultsImportConfiguration createConfiguration() throws IOException { VoyageResultsImportConfiguration configuration = new VoyageResultsImportConfiguration(getLocale()); configuration.setVoyageId(getVoyageId()); @@ -42,9 +48,4 @@ public abstract class VoyageResultsImportServiceITSupport extends AbstractImport return configuration; } - @Override - protected ImportDataService.VoyageResultsImportDataAction newAction() throws IOException { - return new ImportDataService.VoyageResultsImportDataAction(); - } - } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.