branch develop updated (c7db7f0 -> fa45238)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from c7db7f0 Optimize dependencies new 3b79e6e Add new options for auto backup + add nice method to get next backup file new 9df6180 Add task to auto backup local database new fa45238 Fixes #8544 Merge branch 'feature/8544' into develop The 3 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 fa45238242b64424a1525b6474355bcbeb508b51 Merge: c7db7f0 9df6180 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:46 2016 +0200 Fixes #8544 Merge branch 'feature/8544' into develop commit 9df61807b0435b42785eec9523b28d47b20fcd49 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:31 2016 +0200 Add task to auto backup local database commit 3b79e6e4c122806bba0195fc241bd72f280c816a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:15 2016 +0200 Add new options for auto backup + add nice method to get next backup file Summary of changes: .../ObserveSwingApplicationConfig.java | 6 +- .../ObserveSwingApplicationConfigOption.java | 14 ++++ ...pplication-swing-configuration_en_GB.properties | 2 + ...pplication-swing-configuration_es_ES.properties | 2 + ...pplication-swing-configuration_fr_FR.properties | 2 + .../application/swing/LocalDatabaseBackupTask.java | 76 ++++++++++++++++++++++ .../swing/ObserveSwingApplicationContext.java | 35 ++++++++++ .../swing/ui/actions/ShowConfigAction.java | 2 + .../application/swing/ui/admin/AdminUIModel.java | 2 +- .../swing/ui/storage/StorageUIHandler.java | 17 +++-- .../swing/ui/storage/StorageUIModel.java | 4 +- .../i18n/application-swing_en_GB.properties | 2 + .../i18n/application-swing_es_ES.properties | 2 + .../i18n/application-swing_fr_FR.properties | 2 + 14 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 application-swing/src/main/java/fr/ird/observe/application/swing/LocalDatabaseBackupTask.java -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 3b79e6e4c122806bba0195fc241bd72f280c816a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:15 2016 +0200 Add new options for auto backup + add nice method to get next backup file --- .../configuration/ObserveSwingApplicationConfig.java | 6 +++++- .../ObserveSwingApplicationConfigOption.java | 14 ++++++++++++++ .../application-swing-configuration_en_GB.properties | 2 ++ .../application-swing-configuration_es_ES.properties | 2 ++ .../application-swing-configuration_fr_FR.properties | 2 ++ .../application/swing/ui/actions/ShowConfigAction.java | 2 ++ .../application/swing/ui/admin/AdminUIModel.java | 2 +- .../application/swing/ui/storage/StorageUIHandler.java | 17 ++++++++--------- .../application/swing/ui/storage/StorageUIModel.java | 4 ++-- 9 files changed, 38 insertions(+), 13 deletions(-) diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java index b017de2..e418b8c 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfig.java @@ -56,7 +56,7 @@ import static org.nuiton.i18n.I18n.t; public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicationConfig { /** le pattern du fichier de sauvegarde d'une base locale */ - public static final String BACKUP_DB_PATTERN = "obstuna-local-%1$tF--%1$tk-%1$tM-%1$tS.sql.gz"; + private static final String BACKUP_DB_PATTERN = "obstuna-local-%1$tF--%1$tk-%1$tM-%1$tS.sql.gz"; public static final String DB_NAME = "obstuna"; @@ -310,6 +310,10 @@ public class ObserveSwingApplicationConfig extends GeneratedObserveSwingApplicat setTreeOpenNodes(StringUtils.join(ids, ",")); } + public File newBackupDataFile() { + return new File(getBackupDirectory(), String.format(BACKUP_DB_PATTERN, new Date())); + } + public void saveForUser() { if (log.isInfoEnabled()) { log.info(t("observe.message.save.configuration", get().getUserConfigFile())); diff --git a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java index 7750204..0c5df74 100644 --- a/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java +++ b/application-swing-configuration/src/main/java/fr/ird/observe/application/swing/configuration/ObserveSwingApplicationConfigOption.java @@ -654,6 +654,20 @@ public enum ObserveSwingApplicationConfigOption implements ConfigOptionDef { "validation.speedMaxValue", n("observe.config.validation.speedMaxValue"), "30.0" + ), + /** Pour activer les sauvegarde automatiques. */ + BACKUP_USE( + Boolean.class, + "backup.use", + n("observe.config.backup.use"), + "true" + ), + /** Le nombre de minutes avant de lancer une sauvegarde de la base locale. */ + BACKUP_DELAY( + Integer.class, + "backup.delay", + n("observe.config.backup.delay"), + "30" ); public static final List<ObserveSwingApplicationConfigOption> MAP_LAYERS = diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties index ae486f4..ff9503d 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -7,6 +7,8 @@ observe.action.commandline.launch.admin.ui=Launch an administration task observe.action.commandline.launch.h2.server.mode=Launch ObServe in server mode observe.action.commandline.launch.obstuna.admin.ui=Launch an adminstration task on obstuna observe.action.commandline.use.jmx=Add JMX support +observe.config.backup.delay=Delay in minutes between local data source backup +observe.config.backup.use=To activate auto backup of local source observe.config.configFileName.description=Configuration filename observe.config.db.locale=Language of data source observe.config.defaultBackupDirectory.description=Default directory where are stored backup of data sources diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties index 4b13684..150d075 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -7,6 +7,8 @@ observe.action.commandline.launch.admin.ui=Ejecutar una operación de administra observe.action.commandline.launch.h2.server.mode=Ejecutar ObServe en modo servidor observe.action.commandline.launch.obstuna.admin.ui=Ejecutar una operación de administración sobre Obstuna observe.action.commandline.use.jmx=Mostrar el soporte JMX +observe.config.backup.delay=Delay in minutes between local data source backup #TODO +observe.config.backup.use=To activate auto backup of local source #TODO observe.config.configFileName.description=Nombre del archivo de configuración observe.config.db.locale=Idioma del referencial observe.config.defaultBackupDirectory.description=Carpeta por defecto para copia de seguridad de bases locales diff --git a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties index 3106d75..fcc3cd3 100644 --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -7,6 +7,8 @@ observe.action.commandline.launch.admin.ui=Lancer une opération d'administratio observe.action.commandline.launch.h2.server.mode=Lancer ObServe en mode serveur observe.action.commandline.launch.obstuna.admin.ui=Lancer une opération d'administration sur Obstuna observe.action.commandline.use.jmx=Ajouter le support JMX +observe.config.backup.delay=Temps en minutes entre chaque sauvegarde de la base locale +observe.config.backup.use=Pour activer la sauvegarde automatique observe.config.configFileName.description=Le nom du fichier de configuration observe.config.db.locale=La langue du référentiel observe.config.defaultBackupDirectory.description=Répertoire par défaut où sauvegarder les bases locales diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java index f39dd0d..6f9296a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/ShowConfigAction.java @@ -329,6 +329,8 @@ public class ShowConfigAction extends AbstractAction { helper.addOption(ObserveSwingApplicationConfigOption.LOAD_LOCAL_STORAGE, ObserveUICallback.application); helper.addOption(ObserveSwingApplicationConfigOption.LOCALE, ObserveUICallback.ui); helper.addOption(ObserveSwingApplicationConfigOption.DB_LOCALE, ObserveUICallback.ui); + helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_USE, ObserveUICallback.application); + helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_DELAY, ObserveUICallback.application); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java index de2c1d4..86d0c31 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java @@ -565,7 +565,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.SAVE_LOCAL)) { - File backupfile = new File(config.getBackupDirectory(), storageHandler.getDefaultBackupFilename()); + File backupfile = config.newBackupDataFile(); getSaveLocalModel().setBackupFile(backupfile); getSaveLocalModel().setDoBackup(true); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java index 340d85c..9525a32 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIHandler.java @@ -66,7 +66,6 @@ import java.awt.Window; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; -import java.util.Date; import java.util.Set; import java.util.stream.Collectors; @@ -604,14 +603,14 @@ public class StorageUIHandler { } } - /** - * @return le lastName par defaut du fichier de sauvegarde de la base locale - * (expression calculée à partir de la date courante et du pattern - * {@link ObserveSwingApplicationConfig#BACKUP_DB_PATTERN}). - */ - public String getDefaultBackupFilename() { - return String.format(ObserveSwingApplicationConfig.BACKUP_DB_PATTERN, new Date()); - } +// /** +// * @return le lastName par defaut du fichier de sauvegarde de la base locale +// * (expression calculée à partir de la date courante et du pattern +// * {@link ObserveSwingApplicationConfig#BACKUP_DB_PATTERN}). +// */ +// public String getDefaultBackupFilename() { +// return String.format(ObserveSwingApplicationConfig.BACKUP_DB_PATTERN, new Date()); +// } /** * Effectue une sauvegarde de la base locale vers le fichier choisi. diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java index 7534458..fb5866b 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java @@ -367,7 +367,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { } setStoreRemoteConfig(config.isStoreRemoteStorage()); - setBackupFile(new File(config.getBackupDirectory(), storageUIHandler.getDefaultBackupFilename())); + setBackupFile(config.newBackupDataFile()); setDumpFile(config.getBackupDirectory()); setShowMigrationProgression(config.isShowMigrationProgression()); setShowMigrationSql(config.isShowMigrationSql()); @@ -482,7 +482,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { } setStoreRemoteConfig(config.isStoreRemoteStorage()); - setBackupFile(new File(config.getBackupDirectory(), storageUIHandler.getDefaultBackupFilename())); + setBackupFile(config.newBackupDataFile()); setDumpFile(config.getBackupDirectory()); setShowMigrationProgression(config.isShowMigrationProgression()); setShowMigrationSql(config.isShowMigrationSql()); -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 9df61807b0435b42785eec9523b28d47b20fcd49 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:31 2016 +0200 Add task to auto backup local database --- .../application/swing/LocalDatabaseBackupTask.java | 76 ++++++++++++++++++++++ .../swing/ObserveSwingApplicationContext.java | 35 ++++++++++ .../i18n/application-swing_en_GB.properties | 2 + .../i18n/application-swing_es_ES.properties | 2 + .../i18n/application-swing_fr_FR.properties | 2 + 5 files changed, 117 insertions(+) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/LocalDatabaseBackupTask.java b/application-swing/src/main/java/fr/ird/observe/application/swing/LocalDatabaseBackupTask.java new file mode 100644 index 0000000..ca24f30 --- /dev/null +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/LocalDatabaseBackupTask.java @@ -0,0 +1,76 @@ +package fr.ird.observe.application.swing; + +import fr.ird.observe.application.swing.db.ObserveSwingDataSource; +import fr.ird.observe.application.swing.ui.ObserveMainUI; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.StringUtil; + +import java.io.File; +import java.util.Date; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 19/09/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LocalDatabaseBackupTask implements Runnable { + + /** Logger. */ + private static final Log log = LogFactory.getLog(LocalDatabaseBackupTask.class); + + @Override + public void run() { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + if (!applicationContext.getConfig().isBackupUse()) { + if (log.isInfoEnabled()) { + log.info("Skip, auto backup is not activate."); + } + } + if (!applicationContext.getConfig().isLocalStorageExist()) { + if (log.isInfoEnabled()) { + log.info("Skip, no local database found."); + } + return; + } + + ObserveSwingDataSource mainDataSource = applicationContext.getDataSourcesManager().getMainDataSource(); + if (mainDataSource == null) { + if (log.isInfoEnabled()) { + log.info("Skip, no main data source opened."); + } + return; + } + if (!mainDataSource.isLocal()) { + if (log.isInfoEnabled()) { + log.info("Skip, not using a local data source."); + } + return; + } + + File file = applicationContext.getConfig().newBackupDataFile(); + String startMessage = t("observe.backup.start", new Date()); + + ObserveMainUI mainUI = applicationContext.getMainUI(); + mainUI.getStatus().setStatus(startMessage); + if (log.isInfoEnabled()) { + log.info(startMessage + " - " + file); + } + long t0 = System.nanoTime(); + mainUI.setBusy(true); + try { + mainDataSource.newDataSourceService().backup(file); + } finally { + String endMessage = t("observe.backup.done", new Date(), StringUtil.convertTime(System.nanoTime() - t0)); + mainUI.getStatus().setStatus(endMessage); + if (log.isInfoEnabled()) { + log.info(endMessage + " - " + file); + } + mainUI.setBusy(false); + } + + } +} diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java index 66ad919..8bac9e7 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ObserveSwingApplicationContext.java @@ -69,6 +69,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Objects; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.ACTIONS; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.ACTION_MAP; @@ -81,6 +85,7 @@ import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.En import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.H2_SERVER; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.H2_SERVER_MODE; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.H2_WEBSERVER; +import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.LOCAL_DATABASE_BACKUP_TIMER; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.MAIN_UI; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.NODE_TO_RESELECT; import static fr.ird.observe.application.swing.ObserveSwingApplicationContext.Entries.OPEN_DATA_MANAGER; @@ -106,6 +111,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im /** Logger */ private static final Log log = LogFactory.getLog(ObserveSwingApplicationContext.class); + protected final ScheduledFuture<?> scheduledFuture; enum Entries { @@ -126,6 +132,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im H2_SERVER("H2 Server", Server.class), H2_WEBSERVER("H2 Web server", Server.class), VALIDATORS("Validators"), + LOCAL_DATABASE_BACKUP_TIMER("Local database backup task", ScheduledThreadPoolExecutor.class), NODE_TO_RESELECT("Node to reselect"); private final String objectName; @@ -212,7 +219,11 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im VALIDATION_CONTEXT.set(new ValidationContext(config, getDataContext())); VALIDATORS.set(Lists.newArrayList(ValidateServiceUtils.getValidators())); SERVICE_MAIN_FACTORY.set(ObserveServiceMainFactory.get()); + LOCAL_DATABASE_BACKUP_TIMER.set(new ScheduledThreadPoolExecutor(1)); referenceBinderEngine = new ReferenceBinderEngineSupplier().get(); + + scheduledFuture = getLocalDatabaseBackupTimer().scheduleAtFixedRate(new LocalDatabaseBackupTask(), 0, config.getBackupDelay(), TimeUnit.MINUTES); + lock = new Object(); } @@ -304,6 +315,10 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return SERVICE_MAIN_FACTORY.get(); } + public ScheduledThreadPoolExecutor getLocalDatabaseBackupTimer() { + return LOCAL_DATABASE_BACKUP_TIMER.get(); + } + //------------------------------------------- // - Write //------------------------------------------- @@ -391,6 +406,26 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im log.info("Closing swing application context " + this); } + if (getConfig().isBackupUse()) { + + try { + getLocalDatabaseBackupTimer().submit(new LocalDatabaseBackupTask()).get(); + } catch (InterruptedException | ExecutionException e) { + if (log.isErrorEnabled()) { + log.error(e); + } + } + + } + + try { + getLocalDatabaseBackupTimer().awaitTermination(0, TimeUnit.NANOSECONDS); + } catch (InterruptedException e) { + if (log.isErrorEnabled()) { + log.error(e); + } + } + // fermeture de touts les context de donnée ouvert getDataSourcesManager().close(); diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index 788d8c1..7bd0517 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -316,6 +316,8 @@ observe.admin.resume.operation.failed=operation failed observe.admin.resume.operation.need.fix=operation need fix observe.admin.resume.operation.not.started=operation not started observe.admin.resume.operation.running=operation is running... +observe.backup.done=[%s] Auto backup done (in %s) +observe.backup.start=[%s] Start auto backup observe.choice.cancel=Cancel observe.choice.confirm.delete=Confirm delete observe.choice.continue=Continue diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index a5c3a18..5f4eb8f 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -316,6 +316,8 @@ observe.admin.resume.operation.failed=la operación no realizada observe.admin.resume.operation.need.fix=la operación nesista correcciones observe.admin.resume.operation.not.started=operación no empezada observe.admin.resume.operation.running=operación en curso... +observe.backup.done=[%s] Fin de la sauvegarde automatique (en %s) \#TODO +observe.backup.start=[%s] Début de la sauvegarde automatique \#TODO observe.choice.cancel=Cancelar observe.choice.confirm.delete=Eliminar observe.choice.continue=Continuar diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 9eeb70a..c7d1bea 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -316,6 +316,8 @@ observe.admin.resume.operation.failed=opération échouée observe.admin.resume.operation.need.fix=opération nécessitant des corrections observe.admin.resume.operation.not.started=opération non démarrée observe.admin.resume.operation.running=opération en cours... +observe.backup.done=[%s] Fin de la sauvegarde automatique (en %s) +observe.backup.start=[%s] Début de la sauvegarde automatique observe.choice.cancel=Annuler observe.choice.confirm.delete=Supprimer observe.choice.continue=Continuer -- 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 observe. See https://gitlab.nuiton.org/codelutin/observe.git commit fa45238242b64424a1525b6474355bcbeb508b51 Merge: c7db7f0 9df6180 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Sep 19 16:44:46 2016 +0200 Fixes #8544 Merge branch 'feature/8544' into develop .../ObserveSwingApplicationConfig.java | 6 +- .../ObserveSwingApplicationConfigOption.java | 14 ++++ ...pplication-swing-configuration_en_GB.properties | 2 + ...pplication-swing-configuration_es_ES.properties | 2 + ...pplication-swing-configuration_fr_FR.properties | 2 + .../application/swing/LocalDatabaseBackupTask.java | 76 ++++++++++++++++++++++ .../swing/ObserveSwingApplicationContext.java | 35 ++++++++++ .../swing/ui/actions/ShowConfigAction.java | 2 + .../application/swing/ui/admin/AdminUIModel.java | 2 +- .../swing/ui/storage/StorageUIHandler.java | 17 +++-- .../swing/ui/storage/StorageUIModel.java | 4 +- .../i18n/application-swing_en_GB.properties | 2 + .../i18n/application-swing_es_ES.properties | 2 + .../i18n/application-swing_fr_FR.properties | 2 + 14 files changed, 155 insertions(+), 13 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm