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 172b9b8f61f3869564b69cf7b1aa3e5bbc687d2c Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Fri Jun 24 18:21:30 2016 +0200 Add test on remove mooring import --- .../service/removedata/RemoveDataService.java | 14 +++---- .../removedata/AbstractRemoveDataServiceTest.java | 45 ++++++++++++++++++-- .../removedata/MooringRemoveDataServiceTest.java | 48 ++++++++++++++++++++++ 3 files changed, 96 insertions(+), 11 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java index 3ee2fb2..b35ab68 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java @@ -84,7 +84,13 @@ public class RemoveDataService extends EchoBaseServiceSupport { public static final Comparator<ImportLog> IMPORT_LOG_COMPARATOR = new Comparator<ImportLog>() { @Override public int compare(ImportLog o1, ImportLog o2) { - int result = o1.getEntityId().compareTo(o2.getEntityId()); + String entityId1 = o1.getEntityId(); + String entityId2 = o2.getEntityId(); + + int result = 0; + if (entityId1 != null && entityId2 != null) { + result = entityId1.compareTo(entityId2); + } if (result == 0) { result = o1.getImportType().ordinal() - o2.getImportType().ordinal(); } @@ -234,12 +240,6 @@ public class RemoveDataService extends EchoBaseServiceSupport { continue; } - if (!importLog.getEntityId().equals(logEntry.getEntityId())) { - - // not on same voyage, this importLog can not be obsoleted - continue; - } - if (possibleSubImportType.contains(logEntry.getImportType())) { // ok can try to remove this import log 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 ab569df..f8c9087 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 @@ -46,6 +46,8 @@ import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthAgeKeyTopiaDao; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.entities.data.LengthWeightKeyTopiaDao; +import fr.ifremer.echobase.entities.data.Mooring; +import fr.ifremer.echobase.entities.data.MooringTopiaDao; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; import fr.ifremer.echobase.entities.data.OperationMetadataValueTopiaDao; @@ -81,6 +83,8 @@ import fr.ifremer.echobase.services.EchoBaseTestServiceSupport; 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.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; @@ -136,6 +140,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected String importResultMapFish1Id; protected String importResultMapOther1Id; + + protected String importMooringId; protected static final String voyage1Id = "fr.ifremer.echobase.entities.data.Voyage#1#1"; @@ -185,6 +191,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected static final String lengthWeightKey1Id = "fr.ifremer.echobase.entities.data.LengthWeightKey#1#1"; + protected static final String mooringId = "fr.ifremer.echobase.entities.data.Mooring#1#1"; + protected String importCommonVoyage2Id; protected String importCommonTransect2Id; @@ -232,6 +240,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected LengthWeightKeyTopiaDao lengthWeightKeyDAO; protected ResultTopiaDao resultDAO; + + protected MooringTopiaDao mooringDAO; @Inject private RemoveDataService removeDataService; @@ -271,6 +281,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS categoryDAO = persistenceContext.getCategoryDao(); resultDAO = persistenceContext.getResultDao(); + mooringDAO = persistenceContext.getMooringDao(); + //create imports for voyage 1 createCommonVoyageImportV1(); createCommonTransitImportV1(); @@ -295,6 +307,9 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // createResultEsduImportV2(); // createResultRegionImportV2(); // createResultMapImportv2(); + + // Create imports for mooring + createMooringImport(); } protected void removeImport(String importId, String... shoudDeleteIds) throws TopiaException { @@ -314,6 +329,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS importCommonVoyage2Id, importCommonTransit2Id, importCommonTransect2Id, + importMooringId, voyage1Id, transit1Id, transect1Id, transect1_2Id, operation1Id, totalSample1Id, subSample1Id, biometrySample1Id, @@ -322,7 +338,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS cellMapFish1Id, resultMapFish1Id, cellMapOther1Id, resultMapOther1Id, echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id, - voyage2Id, transit2Id, transect2Id, transect2_2Id + voyage2Id, transit2Id, transect2Id, transect2_2Id, + mooringId ); List<String> deletedId = Lists.newArrayList(); @@ -395,7 +412,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS voyage1Id, voyage); } - + private void createCommonVoyageImportV2() { // create voyage @@ -840,15 +857,35 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS voyage1Id, map); } + + private void createMooringImport() { + + // create mooring + Mooring mooring = mooringDAO.create( + TopiaEntity.PROPERTY_TOPIA_ID, mooringId, + Mooring.PROPERTY_CODE, "MOOMO", + Mooring.PROPERTY_DESCRIPTION, "MOOMO", + Mooring.PROPERTY_MISSION, getFirstEntity(Mission.class) + ); + + persistenceContext.commit(); + + importMooringId = createImport( + new MooringCommonsImportConfiguration(getLocale()), + ImportType.MOORING_COMMONS, + "Common/Mooring", + null, + mooring); + } - private <C extends VoyageImportDataConfigurationSupport> String createImport(C importConf, + private <C extends ImportDataConfigurationSupport> String createImport(C importConf, ImportType importType, String importNote, String voyageId, TopiaEntity... importIds) { importConf.setImportType(importType); importConf.setImportNotes(importNote); - importConf.setVoyageId(voyageId); +// importConf.setVoyageId(voyageId); UserDbPersistenceService persistenceService = newService(UserDbPersistenceService.class); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java new file mode 100644 index 0000000..6fb1d69 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java @@ -0,0 +1,48 @@ +package fr.ifremer.echobase.ui.actions.removedata; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2013 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.MooringRemoveDataStrategy; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaException; + +/** + * Test{@link RemoveDataService} with {@link MooringRemoveDataStrategy}. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringRemoveDataServiceTest extends AbstractRemoveDataServiceTest { + + @Test + public void removeImport() throws TopiaException { + + removeImport(// import to remove + importMooringId, + mooringId, + importMooringId); + } +} + + + -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.