branch develop-5.x updated (07dc206 -> 67a4c13)
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 07dc206 Rendre le dialogue de désactivation plus explicite (fixes #8879) new 67a4c13 Synchro avancée de référentiel : griser les boutons des modes de fonctionnement non pertinents (Fixes #8881) The 1 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 67a4c13484328173ad0016d3fa2dfb23f09267a5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 16 10:21:09 2016 +0100 Synchro avancée de référentiel : griser les boutons des modes de fonctionnement non pertinents (Fixes #8881) Summary of changes: .../application/swing/ui/admin/AdminUIModel.java | 22 ++++++++++++++ .../ng/ReferentialSynchroUIHandler.java | 35 ++++++++++++++++++++-- 2 files changed, 55 insertions(+), 2 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 67a4c13484328173ad0016d3fa2dfb23f09267a5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 16 10:21:09 2016 +0100 Synchro avancée de référentiel : griser les boutons des modes de fonctionnement non pertinents (Fixes #8881) --- .../application/swing/ui/admin/AdminUIModel.java | 22 ++++++++++++++ .../ng/ReferentialSynchroUIHandler.java | 35 ++++++++++++++++++++-- 2 files changed, 55 insertions(+), 2 deletions(-) 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 9067efc..c809b25 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 @@ -109,6 +109,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { /** la source de données sur laquel on veut travailler */ protected ObserveDataSourceInformation localSourceInformation; + protected ObserveDataSourceInformation centralSourceInformation; /** la source de données dite central (contenant le référentiel valide) */ protected ObserveSwingDataSource centralSource; @@ -884,6 +885,27 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return localSourceInformation; } + public ObserveDataSourceInformation getCentralSourceInformation() { + if (centralSourceInformation == null) { + + ObserveSwingDataSource centralSource = getSafeCentralSource(false); + + try { + + centralSourceInformation = centralSource.checkCanConnect(); + + } catch (Exception e) { + //FIXME ! il faut faire quelque chose dans ce cas précis, au moins avertir l'utilisateur + if (log.isErrorEnabled()) { + log.error("unable to find central source information", e); + } + } + + } + + return centralSourceInformation; + } + public ObserveSwingDataSource getCentralSource() { return centralSource; } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java index 89717a1..bc340a0 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/ReferentialSynchroUIHandler.java @@ -27,10 +27,12 @@ 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.AdminTabUIHandler; import fr.ird.observe.application.swing.ui.admin.AdminUI; +import fr.ird.observe.application.swing.ui.admin.AdminUIModel; import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModel; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.tree.ReferentialSynchronizeTreeModelsBuilder; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; import jaxx.runtime.context.JAXXInitialContext; @@ -44,6 +46,7 @@ import javax.swing.JTree; import javax.swing.border.TitledBorder; import javax.swing.event.TreeSelectionListener; import java.awt.Color; +import java.util.Optional; import static org.nuiton.i18n.I18n.t; @@ -59,6 +62,7 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { private static final Log log = LogFactory.getLog(ReferentialSynchroUIHandler.class); private final TreeSelectionListener treeSelectionListener; + private ReferentialSynchroConfigUI extraConfig; public ReferentialSynchroUIHandler(ReferentialSynchroUI ui) { super(ui); @@ -84,9 +88,36 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { ConfigUI configUI = (ConfigUI) ui.getStepUI(AdminStep.CONFIG); JAXXInitialContext tx = new JAXXInitialContext().add(configUI).add(this); - ReferentialSynchroConfigUI extraConfig = new ReferentialSynchroConfigUI(tx); + extraConfig = new ReferentialSynchroConfigUI(tx); + configUI.getExtraConfig().add(extraConfig); + ui.getModel().addPropertyChangeListener(AdminUIModel.VALID_STEP_PROPERTY_NAME, evt -> updateSynchroModes()); + } + + protected void updateSynchroModes() { + AdminUIModel model = getUi().getModel(); + if (model.getLocalSourceModel().getDbMode() == null) { + return; + } + if (model.getCentralSourceModel().getDbMode() == null) { + return; + } + boolean leftToRightEnabled = Optional.ofNullable(model.getCentralSourceInformation()) + .map(ObserveDataSourceInformation::canWriteReferential) + .orElse(false); + if (log.isDebugEnabled()) { + log.debug("Update synchro modes: leftToRight: " + leftToRightEnabled); + } + boolean rightToLeftEnabled = Optional.ofNullable(model.getLocalSourceInformation()) + .map(ObserveDataSourceInformation::canWriteReferential) + .orElse(false); + if (log.isDebugEnabled()) { + log.debug("Update synchro modes: rightToLeft: " + rightToLeftEnabled); + } + this.extraConfig.getLEFT_TO_RIGHT().setEnabled(leftToRightEnabled); + this.extraConfig.getRIGHT_TO_LEFT().setEnabled(rightToLeftEnabled); + this.extraConfig.getBOTH().setEnabled(leftToRightEnabled && rightToLeftEnabled); } public void doStartAction() { @@ -133,7 +164,7 @@ public class ReferentialSynchroUIHandler extends AdminTabUIHandler { t("observe.actions.synchro.referential.message.referential.rightData.loaded")); return WizardState.NEED_FIX; - + } private void updateEnabledActions() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm