This is an automated email from the git hooks/post-receive script. New commit to branch feature/7930 in repository tutti. See http://git.codelutin.com/tutti.git commit c15356474df5681aaac2be2c44dab3e8a45e570a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Feb 8 23:23:44 2016 +0100 Ajout d'une méthode de persistence pour ne récupérer que les protocoles d'une série de campagne --- .../tutti/persistence/TuttiPersistenceImpl.java | 5 +++++ .../tutti/persistence/TuttiPersistenceNoDbImpl.java | 5 +++++ .../persistence/entities/protocol/TuttiProtocols.java | 5 +++++ .../service/ProtocolPersistenceService.java | 7 +++++++ .../service/ProtocolPersistenceServiceImpl.java | 19 +++++++++++++++++++ .../fr/ifremer/tutti/service/PersistenceService.java | 5 +++++ 6 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 a072045..c407372 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 @@ -1022,6 +1022,11 @@ public class TuttiPersistenceImpl implements TuttiPersistence { } @Override + public List<TuttiProtocol> getAllProtocol(String programId) { + return getProtocolService().getAllProtocol(programId); + } + + @Override public List<String> getAllProtocolId() { 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 e3de04e..623ac90 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 @@ -569,6 +569,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public List<TuttiProtocol> getAllProtocol(String programId) { + throw notImplemented(); + } + + @Override public boolean isProtocolExist(String id) { throw notImplemented(); } 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 ed13f53..48193dd 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 @@ -64,6 +64,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.TreeMap; @@ -661,4 +662,8 @@ public class TuttiProtocols extends AbstractTuttiProtocols { return surveyCodes; } + public static boolean matchProgramId(TuttiProtocol protocol, String programId) { + Preconditions.checkNotNull(protocol, "Protocol can't be null."); + return Objects.equals(programId, protocol.getProgramId()); + } } \ No newline at end of file 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 00d6d3f..5044d35 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 @@ -74,6 +74,13 @@ public interface ProtocolPersistenceService extends TuttiPersistenceServiceImple List<TuttiProtocol> getAllProtocol(); + /** + * + * @param programId l'identifiant de la série de compagne (peut-être null) + * @return la liste des protocoles dont le {@code programId} est celui passé en paramètre + */ + List<TuttiProtocol> getAllProtocol(String programId); + TuttiProtocol getProtocol(String id); TuttiProtocol createProtocol(TuttiProtocol bean); 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 5cfff98..78e48b4 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 @@ -172,6 +172,25 @@ public class ProtocolPersistenceServiceImpl extends AbstractPersistenceService i } @Override + public List<TuttiProtocol> getAllProtocol(String programId) { + List<TuttiProtocol> result = Lists.newArrayList(); + for (String id : getAllProtocolId()) { + TuttiProtocol protocol = getProtocol(id); + if (TuttiProtocols.matchProgramId(protocol, programId)) { + if (log.isDebugEnabled()) { + log.debug("Keep protocol: "+protocol.getName()+", programId: "+programId+" matches!"); + } + result.add(protocol); + } else { + if (log.isDebugEnabled()) { + log.debug("Remove protocol: "+protocol.getName()+", programId: "+programId+" does not match!"); + } + } + } + return Collections.unmodifiableList(result); + } + + @Override public TuttiProtocol getProtocol(String id) { File file = getProtocolFile(id); TuttiProtocol result = TuttiProtocols.fromFile(file); 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 d092b27..e0a7785 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 @@ -1204,6 +1204,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public List<TuttiProtocol> getAllProtocol(String programId) { + return driver.getAllProtocol(programId); + } + + @Override public List<String> getAllProtocolId() { return driver.getAllProtocolId(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.