branch feature/8180 updated (172b9b8 -> 386ecfb)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from 172b9b8 Add test on remove mooring import new 386ecfb Add test on remove mooring acoustic import The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 386ecfb4d883b1caa35cbd3b224d266f0e39f7a7 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:27:58 2016 +0200 Add test on remove mooring acoustic import Summary of changes: .../services/service/UserDbPersistenceService.java | 4 +- .../strategy/AbstractRemoveDataStrategy.java | 11 ++-- .../strategy/AcousticRemoveDataStrategy.java | 2 +- .../strategy/CommonAllRemoveDataStrategy.java | 2 +- .../strategy/CommonTransectRemoveDataStrategy.java | 2 +- .../strategy/CommonTransitRemoveDataStrategy.java | 2 +- .../strategy/CommonVoyageRemoveDataStrategy.java | 2 +- .../strategy/LegacyVoyageRemoveDataStrategy.java | 2 +- .../MooringAcousticRemoveDataStrategy.java | 11 +++- .../removedata/AbstractRemoveDataServiceTest.java | 61 ++++++++++++++++++++-- ...a => MooringAcousticRemoveDataServiceTest.java} | 20 ++++--- 11 files changed, 88 insertions(+), 31 deletions(-) copy echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/{CatchesRemoveDataServiceTest.java => MooringAcousticRemoveDataServiceTest.java} (70%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 386ecfb4d883b1caa35cbd3b224d266f0e39f7a7 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jun 27 10:27:58 2016 +0200 Add test on remove mooring acoustic import --- .../services/service/UserDbPersistenceService.java | 4 +- .../strategy/AbstractRemoveDataStrategy.java | 11 ++-- .../strategy/AcousticRemoveDataStrategy.java | 2 +- .../strategy/CommonAllRemoveDataStrategy.java | 2 +- .../strategy/CommonTransectRemoveDataStrategy.java | 2 +- .../strategy/CommonTransitRemoveDataStrategy.java | 2 +- .../strategy/CommonVoyageRemoveDataStrategy.java | 2 +- .../strategy/LegacyVoyageRemoveDataStrategy.java | 2 +- .../MooringAcousticRemoveDataStrategy.java | 11 +++- .../removedata/AbstractRemoveDataServiceTest.java | 61 ++++++++++++++++++++-- .../MooringAcousticRemoveDataServiceTest.java | 48 +++++++++++++++++ 11 files changed, 127 insertions(+), 20 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index 288a9c3..6476c9f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -268,8 +268,8 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { return persistenceContext.getCellDao().countMooringCellResults(mooring); } - public List<String> getVoyageOrphanCellIds() throws TopiaException { - return persistenceContext.getCellDao().getVoyageOrphanCellIds(); + public List<String> getOrphanCellIds() throws TopiaException { + return persistenceContext.getCellDao().getOrphanCellIds(); } public List<String> getVoyageCellIds(Voyage voyage) throws TopiaException { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java index 486b0d8..c6e56ab 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AbstractRemoveDataStrategy.java @@ -210,18 +210,17 @@ public abstract class AbstractRemoveDataStrategy<E extends TopiaEntity> extends if (optionalCell.isPresent()) { Cell cell = optionalCell.get(); Collection<Result> cellResult = cell.getResult(); -// for (Result result : cellResult) { -// cell.removeResult(result); -// } - persistenceService.deleteResults(cellResult); + if (cellResult != null) { + persistenceService.deleteResults(cellResult); + } cell.clearResult(); } incrementOp("Remove cell " + cellId + " results"); } } - protected void removeVoyageOrphanCells() throws TopiaException { - List<String> cellIds = persistenceService.getVoyageOrphanCellIds(); + protected void removeOrphanCells() throws TopiaException { + List<String> cellIds = persistenceService.getOrphanCellIds(); for (String cellId : cellIds) { Cell cell = persistenceService.getCell(cellId); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java index 0bd91dd..ad7ff0a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/AcousticRemoveDataStrategy.java @@ -81,7 +81,7 @@ public class AcousticRemoveDataStrategy extends AbstractRemoveDataStrategy<Voyag @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java index 2c0c260..831b352 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonAllRemoveDataStrategy.java @@ -49,7 +49,7 @@ public class CommonAllRemoveDataStrategy extends AbstractRemoveDataStrategy<Voya @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java index b928931..be5548e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransectRemoveDataStrategy.java @@ -79,7 +79,7 @@ public class CommonTransectRemoveDataStrategy extends AbstractRemoveDataStrategy @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java index 5ecefe3..4d5b1c0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonTransitRemoveDataStrategy.java @@ -78,7 +78,7 @@ public class CommonTransitRemoveDataStrategy extends AbstractRemoveDataStrategy< @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java index 45d0501..cf00718 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/CommonVoyageRemoveDataStrategy.java @@ -50,7 +50,7 @@ public class CommonVoyageRemoveDataStrategy extends AbstractRemoveDataStrategy<V @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java index 615bd78..ec8ac99 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/LegacyVoyageRemoveDataStrategy.java @@ -49,7 +49,7 @@ public class LegacyVoyageRemoveDataStrategy extends AbstractRemoveDataStrategy<V @Override protected void removePostData(DataAccousticProvider<Voyage> provider) throws TopiaException { // remove orphans cells - removeVoyageOrphanCells(); + removeOrphanCells(); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java index b794bf2..89d07d5 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringAcousticRemoveDataStrategy.java @@ -30,6 +30,7 @@ import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.entities.data.Transect; +import fr.ifremer.echobase.entities.data.Voyage; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaException; @@ -73,6 +74,12 @@ public class MooringAcousticRemoveDataStrategy extends AbstractRemoveDataStrateg } @Override + protected void removePostData(DataAccousticProvider<Mooring> provider) throws TopiaException { + // remove orphans cells + removeOrphanCells(); + } + + @Override protected void removeImportData(DataAccousticProvider<Mooring> provider, String id) throws TopiaException { if (id.startsWith(DataAcquisition.class.getName())) { @@ -81,8 +88,8 @@ public class MooringAcousticRemoveDataStrategy extends AbstractRemoveDataStrateg DataAcquisition dataAcquisition = persistenceService.getDataAcquisition(id); // remove it from cell - Transect transect = persistenceService.getTransectContainsDataAcquisition(dataAcquisition); - transect.removeDataAcquisition(dataAcquisition); + Mooring mooring = provider.getEntity(); + mooring.removeDataAcquisition(dataAcquisition); // remove dataAcquisition persistenceService.deleteDataAcquisition(dataAcquisition); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java index f8c9087..bdae5bc 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java @@ -84,11 +84,11 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.ImportDataFixtures; import fr.ifremer.echobase.services.service.UserDbPersistenceService; import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.MooringAcousticsImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.MooringCommonsImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageOperationsImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import fr.ifremer.echobase.services.service.removedata.RemoveDataConfiguration; @@ -142,6 +142,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected String importResultMapOther1Id; protected String importMooringId; + + protected String importMooringAcousticId; protected static final String voyage1Id = "fr.ifremer.echobase.entities.data.Voyage#1#1"; @@ -171,8 +173,6 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected static final String cellElementary1Id = "fr.ifremer.echobase.entities.data.Cell#1#elementary1"; - protected static final String cellElementary1_2Id = "fr.ifremer.echobase.entities.data.Cell#1#elementary2"; - protected static final String cellEsdu1_2Id = "fr.ifremer.echobase.entities.data.Cell#1#esdu2"; protected static final String resultEsdu1Id = "fr.ifremer.echobase.entities.data.Result#1#esdu1"; @@ -193,6 +193,12 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected static final String mooringId = "fr.ifremer.echobase.entities.data.Mooring#1#1"; + protected static final String dataAcquisition2Id = "fr.ifremer.echobase.entities.data.DataAcquisition#2"; + + protected static final String cellEsdu2Id = "fr.ifremer.echobase.entities.data.Cell#1#esdu2"; + + protected static final String cellElementary2Id = "fr.ifremer.echobase.entities.data.Cell#1#elementary2"; + protected String importCommonVoyage2Id; protected String importCommonTransect2Id; @@ -310,6 +316,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // Create imports for mooring createMooringImport(); + createMooringAcousticImport(); } protected void removeImport(String importId, String... shoudDeleteIds) throws TopiaException { @@ -330,6 +337,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS importCommonTransit2Id, importCommonTransect2Id, importMooringId, + importMooringAcousticId, voyage1Id, transit1Id, transect1Id, transect1_2Id, operation1Id, totalSample1Id, subSample1Id, biometrySample1Id, @@ -339,7 +347,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS cellMapOther1Id, resultMapOther1Id, echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id, voyage2Id, transit2Id, transect2Id, transect2_2Id, - mooringId + mooringId, + dataAcquisition2Id, cellEsdu2Id, cellElementary2Id ); List<String> deletedId = Lists.newArrayList(); @@ -877,6 +886,50 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS null, mooring); } + + private void createMooringAcousticImport() { + + Mooring mooring = getEntity(mooringId); + + // create data acquisition + DataAcquisition dataAcquisition = dataAcquisitionDAO.create(TopiaEntity.PROPERTY_TOPIA_ID, dataAcquisition2Id, + DataAcquisition.PROPERTY_ACOUSTIC_INSTRUMENT, getFirstEntity(AcousticInstrument.class)); + mooring.addDataAcquisition(dataAcquisition); + + // create dataProcessing + DataProcessing dataProcessing = dataProcessingDAO.create(DataProcessing.PROPERTY_ID, "id2", + DataProcessing.PROPERTY_PROCESSING_TEMPLATE, "processingTemplate"); + dataAcquisition.addDataProcessing(dataProcessing); + + // create esdu cell + Cell esduCell = cellDAO.create(TopiaEntity.PROPERTY_TOPIA_ID, cellEsdu2Id, + Cell.PROPERTY_CELL_TYPE, getFirstEntity(CellType.class), + Cell.PROPERTY_NAME, "cellEsdu2"); + dataProcessing.addCell(esduCell); + + // create cell data + Data esduData = dataDAO.create(Data.PROPERTY_DATA_METADATA, getFirstEntity(DataMetadata.class), + Data.PROPERTY_DATA_VALUE, "esdu2Data"); + esduCell.addData(esduData); + + // create elementary cell + Cell elementaryCell = cellDAO.create(TopiaEntity.PROPERTY_TOPIA_ID, cellElementary2Id, + Cell.PROPERTY_CELL_TYPE, getFirstEntity(CellType.class), + Cell.PROPERTY_NAME, "cellElementary2"); + esduCell.addChilds(elementaryCell); + + // create cell data + Data elementaryData = dataDAO.create(Data.PROPERTY_DATA_METADATA, getFirstEntity(DataMetadata.class), + Data.PROPERTY_DATA_VALUE, "elementary1Data"); + elementaryCell.addData(elementaryData); + + importMooringAcousticId = createImport( + new MooringAcousticsImportConfiguration(getLocale()), + ImportType.MOORING_ACOUSTIC, + "Acoustic2", + mooringId, + dataAcquisition); + } private <C extends ImportDataConfigurationSupport> String createImport(C importConf, ImportType importType, diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java new file mode 100644 index 0000000..34fe85c --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java @@ -0,0 +1,48 @@ +package fr.ifremer.echobase.ui.actions.removedata; + +/* + * #%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% + */ + +import fr.ifremer.echobase.services.service.removedata.RemoveDataService; +import fr.ifremer.echobase.services.service.removedata.strategy.MooringAcousticRemoveDataStrategy; +import org.junit.Test; + +/** + * Test{@link RemoveDataService} with {@link MooringAcousticRemoveDataStrategy}. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringAcousticRemoveDataServiceTest extends AbstractRemoveDataServiceTest { + + @Test + public void removeImport() throws Exception { + + removeImport(// import to remove + importMooringAcousticId, + // data that should be removed + dataAcquisition2Id, cellEsdu2Id, cellElementary2Id, + // importLog that should be removed + importMooringAcousticId + ); + + } +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm