branch develop updated (895c82d -> 269b335)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository echobase. See http://git.codelutin.com/echobase.git from 895c82d Correction de l'url du projet new badce5e Utiliser un optional quand on veut récupérer un ImportLog (il se peut qu'il n'existe plus suite à des suppressions en cascade d'autres imports) (See #8000) new 269b335 Fixes #8000 Merge branch 'feature/8000' into develop The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 269b335c15893412a6bb754172fd34124b2ee3e3 Merge: 895c82d badce5e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Feb 19 11:45:40 2016 +0100 Fixes #8000 Merge branch 'feature/8000' into develop commit badce5e45c1e5ac8650526f97de759ddd06e4259 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Feb 19 11:45:36 2016 +0100 Utiliser un optional quand on veut récupérer un ImportLog (il se peut qu'il n'existe plus suite à des suppressions en cascade d'autres imports) (See #8000) Summary of changes: .../services/service/UserDbPersistenceService.java | 5 ++- .../service/removedata/RemoveDataService.java | 40 ++++++++++++++-------- .../ui/actions/removeData/ConfirmDelete.java | 25 +++++++++----- 3 files changed, 43 insertions(+), 27 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit badce5e45c1e5ac8650526f97de759ddd06e4259 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Feb 19 11:45:36 2016 +0100 Utiliser un optional quand on veut récupérer un ImportLog (il se peut qu'il n'existe plus suite à des suppressions en cascade d'autres imports) (See #8000) --- .../services/service/UserDbPersistenceService.java | 5 ++- .../service/removedata/RemoveDataService.java | 40 ++++++++++++++-------- .../ui/actions/removeData/ConfirmDelete.java | 25 +++++++++----- 3 files changed, 43 insertions(+), 27 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index cdba5a5..73394b3 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -78,7 +78,6 @@ import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.TopiaIdFactory; import org.nuiton.topia.persistence.TopiaNotFoundException; -import org.nuiton.topia.persistence.internal.AbstractTopiaDao; import org.nuiton.topia.persistence.support.TopiaSqlQuery; import javax.inject.Inject; @@ -484,8 +483,8 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { return persistenceContext.getImportLogDao().findAll(); } - public ImportLog getImportLog(String id) { - return persistenceContext.getImportLogDao().findByTopiaId(id); + public Optional<ImportLog> getOptionalImportLog(String id) { + return persistenceContext.getImportLogDao().forTopiaIdEquals(id).tryFindUnique(); } public ImportLog createImportLog(String voyageId, 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 105838b..aa4883e 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 @@ -21,6 +21,7 @@ package fr.ifremer.echobase.services.service.removedata; * #L% */ +import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -122,20 +123,26 @@ public class RemoveDataService extends EchoBaseServiceSupport { Maps.newTreeMap(IMPORT_LOG_COMPARATOR); for (String id : model.getImportLogIds()) { - ImportLog importLog = persistenceService.getImportLog(id); - - Class<? extends AbstractRemoveDataStrategy> strategyType = - getStrategy(importLog); - AbstractRemoveDataStrategy strategy = newService(strategyType); - strategy.setProgressModel(model); - Voyage voyage = persistenceService.getVoyage(importLog.getVoyageId()); - long l = strategy.computeNbSteps(voyage, importLog); - ImportContext importContext = new ImportContext(id, l + 3, strategy, voyage); - toTreat.put(importLog, importContext); - if (log.isInfoEnabled()) { - log.info("Nb steps for importLog " + id + ": " + l); + Optional<ImportLog> optionalImportLog = persistenceService.getOptionalImportLog(id); + + if (optionalImportLog.isPresent()) { + + ImportLog importLog = optionalImportLog.get(); + Class<? extends AbstractRemoveDataStrategy> strategyType = + getStrategy(importLog); + AbstractRemoveDataStrategy strategy = newService(strategyType); + strategy.setProgressModel(model); + Voyage voyage = persistenceService.getVoyage(importLog.getVoyageId()); + long l = strategy.computeNbSteps(voyage, importLog); + ImportContext importContext = new ImportContext(id, l + 3, strategy, voyage); + toTreat.put(importLog, importContext); + if (log.isInfoEnabled()) { + log.info("Nb steps for importLog " + id + ": " + l); + } + nbSteps += importContext.nbSteps; + } - nbSteps += importContext.nbSteps; + } model.setNbSteps(nbSteps); @@ -152,11 +159,12 @@ public class RemoveDataService extends EchoBaseServiceSupport { EchoBaseUser user) { // check that importLog still exists - ImportLog importLog = persistenceService.getImportLog(importContext.importLogId); + Optional<ImportLog> optionalImportLog = persistenceService.getOptionalImportLog(importContext.importLogId); AbstractRemoveDataStrategy strategy = importContext.strategy; - if (importLog == null) { + if (!optionalImportLog.isPresent()) { + // import was already removed (from a previously remove I guess) long nbStreps = importContext.nbSteps; for (long i = 0; i < nbStreps; i++) { @@ -166,6 +174,8 @@ public class RemoveDataService extends EchoBaseServiceSupport { return "\n"; } + ImportLog importLog = optionalImportLog.get(); + long s0 = TimeLog.getTime(); try { diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java index 5b69a09..e09add0 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/removeData/ConfirmDelete.java @@ -21,6 +21,7 @@ package fr.ifremer.echobase.ui.actions.removeData; * #L% */ +import com.google.common.base.Optional; import com.google.common.collect.Lists; import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.ImportType; @@ -84,17 +85,23 @@ public class ConfirmDelete extends AbstractConfigureAction<RemoveDataConfigurati if (log.isInfoEnabled()) { log.info("Load import log " + id); } - ImportLog importLog = userDbPersistenceService.getImportLog(id); - Voyage voyageEntity = userDbPersistenceService.getVoyage(importLog.getVoyageId()); + Optional<ImportLog> optionalImportLog = userDbPersistenceService.getOptionalImportLog(id); + if (optionalImportLog.isPresent()) { + + ImportLog importLog = optionalImportLog.get(); + Voyage voyageEntity = userDbPersistenceService.getVoyage(importLog.getVoyageId()); + + String voyage = decorator.toString(voyageEntity); + String importType = importTypes.get(importLog.getImportType().name()); + String result = t("echobase.common.importLogToDelete", + voyage, + importType, + importLog.getImportDate()); + importLogs.add(result); + + } - String voyage = decorator.toString(voyageEntity); - String importType = importTypes.get(importLog.getImportType().name()); - String result = t("echobase.common.importLogToDelete", - voyage, - importType, - importLog.getImportDate()); - importLogs.add(result); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See http://git.codelutin.com/echobase.git commit 269b335c15893412a6bb754172fd34124b2ee3e3 Merge: 895c82d badce5e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Feb 19 11:45:40 2016 +0100 Fixes #8000 Merge branch 'feature/8000' into develop .../services/service/UserDbPersistenceService.java | 5 ++- .../service/removedata/RemoveDataService.java | 40 ++++++++++++++-------- .../ui/actions/removeData/ConfirmDelete.java | 25 +++++++++----- 3 files changed, 43 insertions(+), 27 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm