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 856e849a0ac72e35ab66e4958105e9538c768ca7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Feb 4 18:29:45 2015 +0100 fixes #6610: [TECH] Mauvaise fermeture des bases --- .../tutti/persistence/TuttiPersistenceImpl.java | 31 +++++++++------------- .../fr/ifremer/tutti/ui/swing/TuttiUIContext.java | 19 ++++++------- .../tutti/ui/swing/action/CloseDbAction.java | 5 +--- .../tutti/ui/swing/action/ExportDbAction.java | 6 ++--- .../tutti/ui/swing/action/ImportDbAction.java | 6 ++--- .../tutti/ui/swing/action/OpenDbAction.java | 6 ++--- 6 files changed, 27 insertions(+), 46 deletions(-) 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 3195d44..0a96870 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 @@ -26,6 +26,7 @@ import com.google.common.base.Predicate; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode; +import fr.ifremer.tutti.TuttiConfiguration; import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch; import fr.ifremer.tutti.persistence.entities.data.Attachment; @@ -74,6 +75,7 @@ import fr.ifremer.tutti.persistence.service.referential.ObjectTypePersistenceSer import fr.ifremer.tutti.persistence.service.referential.PersonPersistenceService; import fr.ifremer.tutti.persistence.service.referential.SpeciesPersistenceService; import fr.ifremer.tutti.persistence.service.referential.VesselPersistenceService; +import fr.ifremer.tutti.util.Jdbcs; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -82,6 +84,7 @@ import org.nuiton.util.version.Version; import javax.annotation.Resource; import java.io.File; import java.io.IOException; +import java.sql.SQLException; import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -211,25 +214,6 @@ public class TuttiPersistenceImpl implements TuttiPersistence { log.info("Open persistence driver " + getImplementationName()); } -// caracteristicService.init(); -// gearService.init(); -// locationService.init(); -// objectTypeService.init(); -// personService.init(); -// speciesService.init(); -// vesselService.init(); -// -// programService.init(); -// cruiseService.init(); -// fishingOperationService.init(); -// catchBatchService.init(); -// speciesBatchService.init(); -// benthosBatchService.init(); -// marineLitterBatchService.init(); -// accidentalBatchService.init(); -// individualObservationBatchService.init(); -// protocolService.init(); -// attachmentService.init(); } protected boolean close; @@ -264,6 +248,15 @@ public class TuttiPersistenceImpl implements TuttiPersistence { individualObservationBatchService.close(); protocolService.close(); attachmentService.close(); + + 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-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java index 4ca08bb..1b6db2c 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java @@ -59,7 +59,6 @@ import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil; import fr.ifremer.tutti.ui.swing.util.UIMessageNotifier; import fr.ifremer.tutti.ui.swing.util.auth.AuthenticationInfo; import fr.ifremer.tutti.ui.swing.util.auth.LoginUI; -import fr.ifremer.tutti.util.Jdbcs; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.editor.bean.BeanDoubleList; import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox; @@ -100,7 +99,6 @@ import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; -import java.sql.SQLException; import java.util.Date; import java.util.Locale; import java.util.Map; @@ -751,7 +749,7 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage return isDbExist() && isDbLoaded(); } - public PersistenceService reloadPersistenceService() { + private PersistenceService reloadPersistenceService() { try { serviceContext.close(); @@ -845,7 +843,7 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage return dbLoaded; } - public void setDbLoaded(boolean dbLoaded) { + private void setDbLoaded(boolean dbLoaded) { this.dbLoaded = dbLoaded; firePropertyChange(PROPERTY_DB_LOADED, null, dbLoaded); } @@ -1184,13 +1182,12 @@ public class TuttiUIContext extends AbstractBean implements Closeable, UIMessage setDbLoaded(false); reloadPersistenceService(); - try { - Jdbcs.shutdown(config); - } catch (SQLException e) { - if (log.isErrorEnabled()) { - log.error("Could not shutdown the database", e); - } - } + } + + public void openPersistenceService() { + + setDbLoaded(true); + reloadPersistenceService(); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CloseDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CloseDbAction.java index b354cd9..844cb4d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CloseDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/CloseDbAction.java @@ -57,10 +57,7 @@ public class CloseDbAction extends AbstractMainUITuttiAction { getContext().getPersistenceService().clearAllCaches(); // set to not reload a real db - getContext().setDbLoaded(false); - - // close services + repon a fake persistence service - getContext().reloadPersistenceService(); + getContext().closePersistenceService(); // clean db context getContext().clearDbContext(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportDbAction.java index 88c41ed..e6c456a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ExportDbAction.java @@ -106,8 +106,7 @@ public class ExportDbAction extends AbstractMainUITuttiAction { progressionModel.setMessage(t("tutti.exportDb.step.closeDb")); - getContext().setDbLoaded(false); - getContext().reloadPersistenceService(); + getContext().closePersistenceService(); // export @@ -119,8 +118,7 @@ public class ExportDbAction extends AbstractMainUITuttiAction { progressionModel.increments(t("tutti.exportDb.step.openDb")); - getContext().setDbLoaded(true); - getContext().reloadPersistenceService(); + getContext().openPersistenceService(); } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportDbAction.java index 83dd241..1ecf686 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/ImportDbAction.java @@ -220,16 +220,14 @@ public class ImportDbAction extends AbstractMainUITuttiAction { progressionModel.increments(t("tutti.importDb.step.openDb", jdbcUrl)); try { getContext().setDbExist(true); - getContext().setDbLoaded(true); - getContext().reloadPersistenceService(); + getContext().openPersistenceService(); } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not open db", e); } // no more db - getContext().setDbLoaded(false); - getContext().reloadPersistenceService(); + getContext().closePersistenceService(); // could not load db throw new ApplicationBusinessException(t("tutti.dbManager.action.importdb.couldNotOpen"), e); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/OpenDbAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/OpenDbAction.java index 01241ef..fd9d9fa 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/OpenDbAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/action/OpenDbAction.java @@ -231,16 +231,14 @@ public class OpenDbAction extends AbstractChangeScreenAction { progressionModel.increments(t("tutti.openDb.step.open", jdbcUrl)); try { - getContext().setDbLoaded(true); - getContext().reloadPersistenceService(); + getContext().openPersistenceService(); } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not open db", e); } // no more db - getContext().setDbLoaded(false); - getContext().reloadPersistenceService(); + getContext().closePersistenceService(); // could not load db throw new ApplicationBusinessException(t("tutti.dbManager.action.openDb.couldNotOpen")); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.