Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 7190c0a1 by tchemit at 2019-02-14T16:44:51Z Ergonomie assistant sauvegarde - Closes #1229 - - - - - 4 changed files: - client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalModel.java - client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUI.jcss - client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/storage/StorageUIModel.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalModel.java ===================================== @@ -26,6 +26,7 @@ import fr.ird.observe.client.configuration.ClientConfig; import fr.ird.observe.client.ui.admin.AdminActionModel; import fr.ird.observe.client.ui.admin.AdminStep; import fr.ird.observe.client.ui.admin.AdminUIModel; +import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; @@ -35,6 +36,8 @@ import java.io.File; import java.util.HashSet; import java.util.Set; +import static fr.ird.observe.client.ui.storage.StorageUIModel.SQL_GZ_EXTENSION; + /** * Le modèle d'une opération d'export de données observers. * @@ -45,6 +48,8 @@ public class SaveLocalModel extends AdminActionModel { public static final String BACKUP_FILE_PROPERTY_NAME = "backupFile"; + public static final String BACKUP_FILE_NAME_PROPERTY_NAME = "backupFileName"; + public static final String DO_BACKUP_PROPERTY_NAME = "doBackup"; public static final String CAN_SAVE_LOCAL_PROPERTY_NAME = "canSaveLocal"; @@ -99,11 +104,17 @@ public class SaveLocalModel extends AdminActionModel { return backupFile; } + public String getBackupFileName() { + return StringUtils.removeEnd(backupFile.getName(), SQL_GZ_EXTENSION); + } + public void setBackupFile(File backupFile) { boolean canSave = isCanSaveLocal(); File oldValue = this.backupFile; + String oldBackupFileName = getBackupFileName(); this.backupFile = backupFile; firePropertyChange(BACKUP_FILE_PROPERTY_NAME, oldValue, backupFile); + firePropertyChange(BACKUP_FILE_NAME_PROPERTY_NAME, oldBackupFileName, getBackupFileName()); firePropertyChange(CAN_SAVE_LOCAL_PROPERTY_NAME, canSave, isCanSaveLocal()); } @@ -125,9 +136,11 @@ public class SaveLocalModel extends AdminActionModel { public boolean isCanSaveLocal() { boolean validate = !doBackup || backupFile != null && - !backupFile.exists() && - backupFile.getName().endsWith(".sql.gz") && - backupFile.getParentFile().exists(); + !backupFile.exists() && backupFile.getParentFile().exists() && backupFile.getName().endsWith(SQL_GZ_EXTENSION); + if (validate) { + String filename = getBackupFileName(); + validate = !filename.isEmpty() && !filename.contains("."); + }; if (log.isDebugEnabled()) { log.debug("can save ? " + validate); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUI.jcss ===================================== @@ -75,7 +75,7 @@ #filenameText { enabled:{stepModel.isDoBackup()}; - text:{stepModel.getBackupFile().getName()}; + text:{stepModel.getBackupFileName()}; } #startAction { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/admin/save/SaveLocalUIHandler.java ===================================== @@ -26,6 +26,7 @@ import fr.ird.observe.client.ui.ObserveKeyStrokes; import fr.ird.observe.client.ui.admin.AdminStep; import fr.ird.observe.client.ui.admin.AdminTabUIHandler; import fr.ird.observe.client.ui.admin.synchronize.referential.legacy.SynchronizeModel; +import fr.ird.observe.client.ui.storage.StorageUIModel; import fr.ird.observe.client.ui.util.UIHelper; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; import fr.ird.observe.services.service.sql.AddSqlScriptProducerRequest; @@ -106,7 +107,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler<SaveLocalUI> implement } public void changeFilename(String filename) { - getUi().getStepModel().setBackupFile(new File(getUi().directoryText.getText(), filename)); + getUi().getStepModel().setBackupFile(new File(ui.getDirectoryText().getText(), filename + StorageUIModel.SQL_GZ_EXTENSION)); } public void doStartAction() { ===================================== client-core/src/main/java/fr/ird/observe/client/ui/storage/StorageUIModel.java ===================================== @@ -1160,9 +1160,10 @@ public class StorageUIModel extends WizardModel<StorageStep> { } public void setBackupFile(File backupFile) { File oldValue = this.backupFile; + String oldBackupFileName = getBackupFileName(); this.backupFile = backupFile; firePropertyChange(BACKUP_FILE_PROPERTY_NAME, oldValue, backupFile); - firePropertyChange(BACKUP_FILE_NAME_PROPERTY_NAME, oldValue, getBackupFileName()); + firePropertyChange(BACKUP_FILE_NAME_PROPERTY_NAME, oldBackupFileName, getBackupFileName()); validate(); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/7190c0a1b8e4f30cf322d1fe874b... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/7190c0a1b8e4f30cf322d1fe874b... You're receiving this email because of your account on gitlab.com.