Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 79714b44 by Tony Chemit at 2023-03-10T15:09:19+01:00 Messages en double dans le log de l'assistant d'export - Closes #2638 - - - - - 1 changed file: - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java Changes: ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java ===================================== @@ -38,24 +38,46 @@ import org.nuiton.jaxx.runtime.swing.wizard.ext.WizardState; import javax.swing.JTextArea; import javax.swing.KeyStroke; +import java.beans.PropertyChangeListener; import java.util.concurrent.Callable; public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JComponentActionSupport<U> implements WithClientUIContextApi { + /** + * To listen progression model messages (to add them in action messages area). + */ + private final PropertyChangeListener progressionModelListener; + public AdminTabUIActionSupport(String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) { super(label, shortDescription, actionIcon, acceleratorKey); + progressionModelListener = evt -> { + String message = (String) evt.getNewValue(); + addMessage(message); + }; } public AdminTabUIActionSupport(String actionCommandKey, String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) { super(actionCommandKey, label, shortDescription, actionIcon, acceleratorKey); + progressionModelListener = evt -> { + String message = (String) evt.getNewValue(); + addMessage(message); + }; } public AdminTabUIActionSupport(String label, String shortDescription, String actionIcon, char acceleratorKey) { super(label, shortDescription, actionIcon, acceleratorKey); + progressionModelListener = evt -> { + String message = (String) evt.getNewValue(); + addMessage(message); + }; } public AdminTabUIActionSupport(String actionCommandKey, String label, String shortDescription, String actionIcon, char acceleratorKey) { super(actionCommandKey, label, shortDescription, actionIcon, acceleratorKey); + progressionModelListener = evt -> { + String message = (String) evt.getNewValue(); + addMessage(message); + }; } protected void addAdminWorkerWithNoProgress(String label, Callable<WizardState> callable) { @@ -94,15 +116,14 @@ public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JCom protected void installProgressBar() { ProgressionModel model = ui.getStepModel().getProgressModel(); model.installUI(ui.getProgressBar(), false); - model.addPropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, evt -> { - String message = (String) evt.getNewValue(); - addMessage(message); - }); + model.removePropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, progressionModelListener); + model.addPropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, progressionModelListener); } protected void unInstallProgressBar() { ProgressionModel model = ui.getStepModel().getProgressModel(); model.uninstallUI(ui.getProgressBar()); + model.removePropertyChangeListener(ProgressionModel.PROPERTY_MESSAGE, progressionModelListener); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/79714b448c94b9ff41168cde5e... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/79714b448c94b9ff41168cde5e... You're receiving this email because of your account on gitlab.com.