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 b8eac0f758c09d36435f0091f4a6db50bcc40fa1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 4 10:38:52 2015 +0200 ajout aussi d'un drapeau pour fermer sauvagemment la base --- .../tutti/persistence/TuttiPersistence.java | 2 ++ .../tutti/persistence/TuttiPersistenceImpl.java | 31 ++++++++++++++++++---- .../persistence/TuttiPersistenceNoDbImpl.java | 5 ++++ .../ifremer/tutti/service/PersistenceService.java | 5 ++++ .../ifremer/tutti/service/ServiceDbResource.java | 17 +++++++----- .../swing/content/db/actions/ReimportDbAction.java | 10 ++++++- .../content/db/actions/ReinstallDbAction.java | 8 +++++- 7 files changed, 65 insertions(+), 13 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java index d3a2912..6726305 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java @@ -74,6 +74,8 @@ public interface TuttiPersistence extends TuttiPersistenceServiceImplementor, String getImplementationName(); + void setSkipShutdownDbWhenClosing(); + /** * To load a program with all his cruises and fishing operations. * 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 918ba4f..7785bbd 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 @@ -167,12 +167,19 @@ public class TuttiPersistenceImpl implements TuttiPersistence { @Resource(name = "technicalPersistenceService") protected TechnicalPersistenceService technicalPersistenceService; + private boolean skipShutdownDbWhenClosing; + @Override public String getImplementationName() { return "Persistence Adagio implementation"; } @Override + public void setSkipShutdownDbWhenClosing() { + this.skipShutdownDbWhenClosing = true; + } + + @Override public void lazyInit() { // this service does not used lazy init } @@ -258,14 +265,28 @@ public class TuttiPersistenceImpl implements TuttiPersistence { protocolService.close(); attachmentService.close(); - try { - Jdbcs.shutdown(TuttiConfiguration.getInstance()); - } catch (SQLException e) { - if (log.isErrorEnabled()) { - log.error("Could not shutdown the database", e); + if (skipShutdownDbWhenClosing) { + + if (log.isInfoEnabled()) { + log.info("Skip to shutdown db while closing, lucky you..."); + } + + } else { + + if (log.isInfoEnabled()) { + log.info("Do shutdown db nicely"); + } + try { + Jdbcs.shutdown(TuttiConfiguration.getInstance()); + } catch (SQLException e) { + if (log.isErrorEnabled()) { + log.error("Could not shutdown the database", e); + } } + } + TuttiPersistenceServiceLocator.shutdownTutti(); } } 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 22aec96..f818246 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 @@ -73,6 +73,11 @@ public class TuttiPersistenceNoDbImpl implements TuttiPersistence { } @Override + public void setSkipShutdownDbWhenClosing() { + throw notImplemented(); + } + + @Override public ProgramDataModel loadProgram(String programId, boolean loadFishingOperation) { throw notImplemented(); } 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 6d25201..e6ea9c2 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 @@ -237,6 +237,11 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer } @Override + public void setSkipShutdownDbWhenClosing() { + driver.setSkipShutdownDbWhenClosing(); + } + + @Override public ProgramDataModel loadProgram(String programId, boolean loadFishingOperation) { return driver.loadProgram(programId, loadFishingOperation); } diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java index bf9e553..fe078ff 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/ServiceDbResource.java @@ -138,14 +138,19 @@ public class ServiceDbResource extends DatabaseResource { @Override public <S extends TuttiService> S getService(Class<S> serviceType) { S service = super.getService(serviceType); - if (PersistenceService.class.equals(serviceType) && isUseLegacyPersonDepartement()) { + if (PersistenceService.class.equals(serviceType)) { - if (log.isWarnEnabled()) { - log.warn("Use legacy departement codes..."); - } - DepartmentId.UNKNOWN_RECORDER_DEPARTMENT.setValue(181); - DepartmentCode.INSIDE_PREFIX.setValue("PDG-"); + ((PersistenceService)service).setSkipShutdownDbWhenClosing(); + + if (isUseLegacyPersonDepartement()) { + if (log.isWarnEnabled()) { + log.warn("Use legacy departement codes..."); + } + DepartmentId.UNKNOWN_RECORDER_DEPARTMENT.setValue(181); + DepartmentCode.INSIDE_PREFIX.setValue("PDG-"); + + } } return service; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReimportDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReimportDbAction.java index 37ef867..adeba06 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReimportDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReimportDbAction.java @@ -154,11 +154,19 @@ public class ReimportDbAction extends AbstractMainUITuttiAction { ProgressionModel progressionModel = getProgressionModel(); + boolean doBackup = backupFile != null; + // close db progressionModel.increments(t("tutti.reimport.step.closeDb", jdbcUrl)); + + if (!doBackup) { + getContext().getPersistenceService().setSkipShutdownDbWhenClosing(); + } + getContext().closePersistenceService(); - if (backupFile != null) { + + if (doBackup) { // backup db progressionModel.increments(t("tutti.reimport.step.backupDb", backupFile)); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReinstallDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReinstallDbAction.java index 2c8c0eb..8782fd5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReinstallDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/actions/ReinstallDbAction.java @@ -130,11 +130,17 @@ public class ReinstallDbAction extends AbstractMainUITuttiAction { ProgressionModel progressionModel = getProgressionModel(); + boolean doBackup = backupFile != null; + // close db progressionModel.increments(t("tutti.reinstallDb.step.closeDb", jdbcUrl)); + + if (!doBackup) { + getContext().getPersistenceService().setSkipShutdownDbWhenClosing(); + } getContext().closePersistenceService(); - if (backupFile != null) { + if (doBackup) { // backup db progressionModel.increments(t("tutti.reinstallDb.step.backupDb", backupFile)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.