This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit d183c76b3145ee52b172f8ee2a9a6e6c895f1db8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Feb 12 15:41:30 2015 +0100 add a method to get next available protocol names --- .../entities/protocol/TuttiProtocols.java | 15 +++++++++++++++ .../entities/protocol/TuttiProtocolsTest.java | 21 ++++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java index 8d3baeb..8bace77 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java @@ -496,4 +496,19 @@ public class TuttiProtocols extends AbstractTuttiProtocols { }); return new ArrayList<>(pmfmIds); } + + public static String getFirstAvailableName(String name, List<String> allProtocolNames) { + + String baseName = name + "-"; + int index = 0; + do { + + name = baseName + (index++); + + } while (allProtocolNames.contains(name)); + + return name; + + } + } diff --git a/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java b/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java index e101c29..18430e2 100644 --- a/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java +++ b/tutti-persistence/src/test/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocolsTest.java @@ -36,6 +36,7 @@ import org.nuiton.util.FileUtil; import java.io.File; import java.io.IOException; import java.lang.reflect.Field; +import java.util.List; /** * @author tchemit <chemit@codelutin.com> @@ -190,11 +191,11 @@ public class TuttiProtocolsTest { Assert.assertEquals("Commentaire", protocol.getComment()); Assert.assertEquals(Lists.newArrayList("14", "18"), protocol.getLengthClassesPmfmId()); Assert.assertEquals(Lists.newArrayList( - TuttiProtocols.caracteristicMappingRow("114", CaracteristicType.VESSEL_USE_FEATURE), - TuttiProtocols.caracteristicMappingRow("228", CaracteristicType.VESSEL_USE_FEATURE), - TuttiProtocols.caracteristicMappingRow("821", CaracteristicType.VESSEL_USE_FEATURE), - TuttiProtocols.caracteristicMappingRow("21", CaracteristicType.GEAR_USE_FEATURE), - TuttiProtocols.caracteristicMappingRow("22", CaracteristicType.GEAR_USE_FEATURE)), + TuttiProtocols.caracteristicMappingRow("114", CaracteristicType.VESSEL_USE_FEATURE), + TuttiProtocols.caracteristicMappingRow("228", CaracteristicType.VESSEL_USE_FEATURE), + TuttiProtocols.caracteristicMappingRow("821", CaracteristicType.VESSEL_USE_FEATURE), + TuttiProtocols.caracteristicMappingRow("21", CaracteristicType.GEAR_USE_FEATURE), + TuttiProtocols.caracteristicMappingRow("22", CaracteristicType.GEAR_USE_FEATURE)), protocol.getCaracteristicMapping()); Assert.assertNotNull(protocol.getSpecies()); @@ -332,4 +333,14 @@ public class TuttiProtocolsTest { return protocol; } + @Test + public void testGetFirstAvailableName() { + + List<String> names = Lists.newArrayList("a", "b", "c", "a-0", "a-1", "b-1"); + + Assert.assertEquals("a-2", TuttiProtocols.getFirstAvailableName("a", names)); + Assert.assertEquals("b-0", TuttiProtocols.getFirstAvailableName("b", names)); + Assert.assertEquals("c-0", TuttiProtocols.getFirstAvailableName("c", names)); + + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.