Author: echatellier Date: 2012-05-03 15:16:19 +0200 (Thu, 03 May 2012) New Revision: 997 Url: http://forge.codelutin.com/repositories/revision/coser/997 Log: Fix merge species Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2012-05-02 08:46:26 UTC (rev 996) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/command/MergeSpeciesCommand.java 2012-05-03 13:16:19 UTC (rev 997) @@ -151,8 +151,12 @@ Integer firstLineFound = firstLineForKey.get(key); if (firstLineFound == null) { + // on modifie le nom de la ligne dans tout les cas + tuple[Length.INDEX_SPECIES] = newSpecyName; + container.getLength().set(lineIndex, tuple); + firstLineForKey.put(key, lineIndex); - ++lineIndex; + lineIndex++; } else { String[] previousTuple = container.getLength().get(firstLineFound); @@ -279,8 +283,12 @@ Integer firstLineFound = firstLineForKey.get(key); if (firstLineFound == null) { + // on modifie le nom de la ligne dans tout les cas + tuple[Catch.INDEX_SPECIES] = newSpecyName; + container.getCatch().set(lineIndex, tuple); + firstLineForKey.put(key, lineIndex); - ++lineIndex; + lineIndex++; } else { String[] previousTuple = container.getCatch().get(firstLineFound); Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java =================================================================== --- trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java 2012-05-02 08:46:26 UTC (rev 996) +++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/ProjectServiceTest.java 2012-05-03 13:16:19 UTC (rev 997) @@ -332,13 +332,19 @@ Assert.assertEquals(25, selection.getCatch().size()); Assert.assertEquals(30, selection.getLength().size()); + // first merge project = projectService.mergeSpecies(project, selection, "COSER_SPECIES_1_3", null, "COSER_SPECIES1", "COSER_SPECIES3"); Assert.assertEquals(19, selection.getCatch().size()); Assert.assertEquals(28, selection.getLength().size()); + Assert.assertTrue(projectService.getProjectSpecies(selection).contains("COSER_SPECIES_1_3")); + Assert.assertFalse(projectService.getProjectSpecies(selection).contains("COSER_SPECIES1")); + // second merge project = projectService.mergeSpecies(project, selection, "COSER_SPECIES_2_4", null, "COSER_SPECIES2", "COSER_SPECIES4"); Assert.assertEquals(13, selection.getCatch().size()); Assert.assertEquals(26, selection.getLength().size()); + Assert.assertTrue(projectService.getProjectSpecies(selection).contains("COSER_SPECIES_2_4")); + Assert.assertFalse(projectService.getProjectSpecies(selection).contains("COSER_SPECIES4")); projectService.createProjectSelection(project, selection); }