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 8d955c135c8390bfb591becc2172eb788a860f36 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Feb 15 17:35:59 2015 +0100 add persistence service method to get first available protocol name --- .../tutti/persistence/TuttiPersistenceImpl.java | 5 +++++ .../tutti/persistence/TuttiPersistenceNoDbImpl.java | 5 +++++ .../service/ProtocolPersistenceService.java | 11 +++++++++++ .../service/ProtocolPersistenceServiceImpl.java | 20 ++++++++++++++++++++ .../fr/ifremer/tutti/service/PersistenceService.java | 5 +++++ 5 files changed, 46 insertions(+) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java index 0fc00c0..6ecd384 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java @@ -820,6 +820,11 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override + public String getFirstAvailableName(String protocolName) { + return getProtocolService().getFirstAvailableName(protocolName); + } + + @Override public List<String> getAllProtocolNames() { return getProtocolService().getAllProtocolId(); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java index 1aa18f6..b91cdf1 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java @@ -459,6 +459,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public String getFirstAvailableName(String protocolName) { + throw notImplemented(); + } + + @Override public List<String> getAllProtocolNames() { throw notImplemented(); } diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java index 27e0615..605fc55 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceService.java @@ -55,6 +55,17 @@ public interface ProtocolPersistenceService extends TuttiPersistenceServiceImple boolean isProtocolExist(String id); + /** + * Given a {@code protocolName}, find out the first available protocol name. + * + * If this name is already used, then suffix with {@code -0}, {@code -1}, until one is not used. + * + * @param protocolName base protocle name + * @return the first available protocol name base on the given one. + * @since 3.14 + */ + String getFirstAvailableName(String protocolName); + List<String> getAllProtocolId(); List<String> getAllProtocolNames(); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java index b5952ae..5fae1fb 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java @@ -93,6 +93,26 @@ public class ProtocolPersistenceServiceImpl extends AbstractPersistenceService i } @Override + public String getFirstAvailableName(String protocolName) { + + List<String> allProtocolNames = getAllProtocolNames(); + + String availableName; + + if (allProtocolNames.contains(protocolName)) { + + availableName = TuttiProtocols.getFirstAvailableName(protocolName, allProtocolNames); + + } else { + + availableName = protocolName; + } + + return availableName; + + } + + @Override public List<String> getAllProtocolId() { File protocolDirectory = config.getProtocolDirectory(); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index e04a221..8da5b79 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -1281,6 +1281,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public String getFirstAvailableName(String protocolName) { + return driver.getFirstAvailableName(protocolName); + } + + @Override public List<TuttiProtocol> getAllProtocol() { return driver.getAllProtocol(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.