branch develop-5.x updated (f23d93d -> 56f0980)
This is an automated email from the git hooks/post-receive script. New change to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from f23d93d [jgitflow-maven-plugin]Updating develop poms back to pre merge state new c8d1bc1 Mauvais chargement de l'action de synchro référentiel dans certains cas (fixes #8874) new 56f0980 Si on ferme la base, il reste des références sur celle-ci, ce qui peut induire des fuites mémoires (fixes #8875) 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 56f0980e921bf4dbe7954385d7c8b6fca05bd631 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 14 11:35:00 2016 +0100 Si on ferme la base, il reste des références sur celle-ci, ce qui peut induire des fuites mémoires (fixes #8875) commit c8d1bc1c97b95f59ca407d9bfec600a7ccd582d4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 14 11:34:06 2016 +0100 Mauvais chargement de l'action de synchro référentiel dans certains cas (fixes #8874) Summary of changes: .../ObserveSwingApplicationDataSourcesManager.java | 1 + .../swing/ui/actions/CloseStorageAction.java | 2 + .../swing/ui/actions/ReloadStorageAction.java | 2 +- .../swing/ui/admin/config/ConfigUIHandler.java | 21 ++--------- .../topia/service/DataSourceServiceTopia.java | 43 +++++++++------------- 5 files changed, 25 insertions(+), 44 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-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit c8d1bc1c97b95f59ca407d9bfec600a7ccd582d4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 14 11:34:06 2016 +0100 Mauvais chargement de l'action de synchro référentiel dans certains cas (fixes #8874) --- .../swing/ui/admin/config/ConfigUIHandler.java | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigUIHandler.java index 3226ee2..d907a07 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigUIHandler.java @@ -23,16 +23,15 @@ package fr.ird.observe.application.swing.ui.admin.config; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.ObserveTextGenerator; -import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.application.swing.ui.UIHelper; import fr.ird.observe.application.swing.ui.admin.AdminStep; import fr.ird.observe.application.swing.ui.admin.AdminTabUI; import fr.ird.observe.application.swing.ui.admin.AdminTabUIHandler; import fr.ird.observe.application.swing.ui.admin.AdminUI; import fr.ird.observe.application.swing.ui.storage.StorageStep; -import fr.ird.observe.application.swing.ui.storage.StorageUIHandler; import fr.ird.observe.application.swing.ui.storage.StorageUILauncher; import fr.ird.observe.application.swing.ui.storage.StorageUIModel; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -105,9 +104,7 @@ public class ConfigUIHandler extends AdminTabUIHandler { } } - public String updateStorageLabel(StorageUIModel service, - boolean serviceValid, - JLabel label) { + public String updateStorageLabel(StorageUIModel service, boolean serviceValid, JLabel label) { String text; if (serviceValid) { @@ -125,16 +122,11 @@ public class ConfigUIHandler extends AdminTabUIHandler { return AdminStep.valueOf(checkBox.getName()); } - public boolean isOperationSelected(Set<AdminStep> operations, - JCheckBox checkBox) { + public boolean isOperationSelected(Set<AdminStep> operations, JCheckBox checkBox) { AdminStep scope = getOperation(checkBox); return operations.contains(scope); } - public StorageUIHandler getStorageHandler() { - return ui.getContextValue(StorageUIHandler.class); - } - public void obtainIncomingConnexion() { StorageUIModel sourceModel = ui.getLocalSourceModel(); StorageUILauncher.obtainConnexion(ui, ui.getParentContainer(Window.class), sourceModel); @@ -162,7 +154,7 @@ public class ConfigUIHandler extends AdminTabUIHandler { if (valid) { ObserveDataSourceInformation dataSourceInformation = sourceModel.getDataSourceInformation(); - if (dataSourceInformation != null) { + if (dataSourceInformation != null && dataSourceInformation.getVersion() != null) { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ObserveTextGenerator textGenerator = applicationContext.getTextGenerator(); @@ -178,9 +170,4 @@ public class ConfigUIHandler extends AdminTabUIHandler { return text; } - protected boolean canShowLocalStorage(Set<AdminStep> operations, - boolean needLocalStorage) { - return !operations.isEmpty() && needLocalStorage; - } - } -- 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-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 56f0980e921bf4dbe7954385d7c8b6fca05bd631 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 14 11:35:00 2016 +0100 Si on ferme la base, il reste des références sur celle-ci, ce qui peut induire des fuites mémoires (fixes #8875) --- .../ObserveSwingApplicationDataSourcesManager.java | 1 + .../swing/ui/actions/CloseStorageAction.java | 2 + .../swing/ui/actions/ReloadStorageAction.java | 2 +- .../topia/service/DataSourceServiceTopia.java | 43 +++++++++------------- 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java index af1246d..3c65abc 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationDataSourcesManager.java @@ -223,6 +223,7 @@ public class ObserveSwingApplicationDataSourcesManager implements Closeable { } // Ne pas supprimer, utilisé par ObserveRunner + @SuppressWarnings("unused") public void initStorage(ObserveSwingApplicationConfig config, ObserveMainUI mainUI, boolean askToCreate) { if (config.isLocalStorageExist()) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/CloseStorageAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/CloseStorageAction.java index ee0cb21..3c79e98 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/CloseStorageAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/CloseStorageAction.java @@ -77,7 +77,9 @@ public class CloseStorageAction extends AbstractObserveAction { } // on doit fermer le storage en cours d'utilisation source.close(); + } finally { + ObserveSwingApplicationContext.get().getDataSourcesManager().setMainDataSource(null); ui.setBusy(false); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java index d59879a..898c3a1 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ReloadStorageAction.java @@ -108,7 +108,7 @@ public class ReloadStorageAction extends AbstractObserveAction { context.setNodesToReselect(ids); // attachement a l'ui - context.getDataSourcesManager().prepareMainStorage(storage, false); + context.getDataSourcesManager().prepareMainStorage(storage, true); // ouverture du service storage.open(); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/DataSourceServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/DataSourceServiceTopia.java index be8e399..a9455ea 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/DataSourceServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/DataSourceServiceTopia.java @@ -33,12 +33,12 @@ import fr.ird.observe.ObserveTopiaConfigurationFactory; import fr.ird.observe.entities.migration.ObserveMigrationConfigurationProvider; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaSupport; -import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.topia.ObserveDataSourceConnectionTopia; -import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; @@ -427,15 +427,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContextIfPresent(dataSourceConfiguration); - if (optionalTopiaApplicationContext.isPresent()) { - - ObserveTopiaApplicationContext topiaApplicationContext = optionalTopiaApplicationContext.get(); - if (log.isInfoEnabled()) { - log.info("Closing topia application context: " + dataSourceConfiguration); - } - topiaApplicationContext.close(); - - } + close(dataSourceConfiguration, optionalTopiaApplicationContext.orElse(null)); } @@ -455,15 +447,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContextIfPresent(dataSourceConfiguration); - if (optionalTopiaApplicationContext.isPresent()) { - - ObserveTopiaApplicationContext topiaApplicationContext = optionalTopiaApplicationContext.get(); - if (log.isInfoEnabled()) { - log.info("Closing topia application context: " + dataSourceConfiguration); - } - topiaApplicationContext.close(); - - } + close(dataSourceConfiguration, optionalTopiaApplicationContext.orElse(null)); ObserveDataSourceConfigurationTopiaH2 dataSourceConfigurationH2 = (ObserveDataSourceConfigurationTopiaH2) dataSourceConfiguration; @@ -573,7 +557,6 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS protected ObserveDataSourceInformation getDataSourceInformation(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration, ObserveTopiaConfiguration topiaConfiguration) { - boolean readReferential; boolean writeReferential; boolean readData; boolean writeData; @@ -587,7 +570,6 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS if (dataSourceConfiguration.isH2Database()) { // Sur une base H2, on a le droit de tout lire, mais uniquement d'écrire les données - readReferential = true; writeReferential = false; readData = true; writeData = true; @@ -624,21 +606,19 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS Set<String> referentielPrivileges = observeJdbcHelper.getTablePrivileges(ObserveSecurityHelper.OBSERVE_COMMON_SCHEMA_NAME, "vessel"); // Sur une base PG, on regarde en base ce que l'utilisateur peut lire/écrire - readReferential = true; writeReferential = canWrite(referentielPrivileges); } if (log.isDebugEnabled()) { - log.debug("User can read refererential : " + readReferential + ", " + - "write referential : " + writeReferential + ", " + + log.debug("User can write referential : " + writeReferential + ", " + "read data : " + readData + ", " + "write data : " + writeData + "."); } ObserveMigrationConfigurationProvider observeMigrationConfigurationProvider = ObserveMigrationConfigurationProvider.get(); return new ObserveDataSourceInformation( - readReferential, + true, writeReferential, readData, writeData, @@ -647,6 +627,17 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS observeMigrationConfigurationProvider.getVersionsAfter(version)); } + private void close(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration, ObserveTopiaApplicationContext topiaApplicationContext) { + if (topiaApplicationContext != null) { + + if (log.isInfoEnabled()) { + log.info("Closing topia application context: " + dataSourceConfiguration); + } + topiaApplicationContext.close(); + + } + } + private static class DetectReferentialTypesInShellBuilder implements TopiaMetadataModelVisitor { private final ImmutableSet.Builder<Class<? extends ReferentialDto>> typesInShellBuilder = ImmutableSet.builder(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm