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 d9a98eb1596ed2f1ccf5b61319ef6b3df8694e3b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 17 14:23:29 2016 +0100 report #8884 --- .../swing/ui/admin/config/ConfigModel.java | 23 +++++++++++++--- .../synchronize/data/DataSynchroUIHandler.java | 32 ++++++++++++++++++---- 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigModel.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigModel.java index 848a3d7..6df123c 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/config/ConfigModel.java @@ -296,24 +296,39 @@ public class ConfigModel extends AdminActionModel { // les deux bases (source et referentiel) doivent etre different validate = validateNotSameDataSources(); + boolean atLeastOneWrite = false; + ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); - if (!(leftDataSourceInformation.canReadData() && leftDataSourceInformation.canWriteData())) { + if (!(leftDataSourceInformation.canReadData())) { if (log.isDebugEnabled()) { - log.debug("can not read and write data on left data source"); + log.debug("can not read data on left data source"); } return false; } + if (leftDataSourceInformation.canWriteData()) { + atLeastOneWrite = true; + } if (centralSourceModel.getDataSourceInformation() != null) { ObserveDataSourceInformation rightDataSourceInformation = centralSourceModel.getDataSourceInformation(); - if (!(rightDataSourceInformation.canReadData() && rightDataSourceInformation.canWriteData())) { + if (!(rightDataSourceInformation.canReadData())) { if (log.isDebugEnabled()) { - log.debug("can not read and write data on right data source"); + log.debug("can not read data on right data source"); } return false; } + if (rightDataSourceInformation.canWriteData()) { + atLeastOneWrite = true; + } + + } + if (!atLeastOneWrite) { + if (log.isDebugEnabled()) { + log.debug("can not write data on any side"); + } + return false; } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUIHandler.java index 35c0e20..973a7a7 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/data/DataSynchroUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.application.swing.ui.MnemonicHelper; 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.config.ConfigModel; import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; import fr.ird.observe.application.swing.ui.admin.synchronize.data.task.CopyToLeftDataSynchronizeTask; import fr.ird.observe.application.swing.ui.admin.synchronize.data.task.CopyToRightDataSynchronizeTask; @@ -54,6 +55,7 @@ import jaxx.runtime.swing.wizard.ext.WizardState; import javax.swing.DefaultListModel; import javax.swing.border.TitledBorder; +import java.awt.Color; import java.util.List; import java.util.Map; @@ -212,23 +214,41 @@ public class DataSynchroUIHandler extends AdminTabUIHandler<DataSynchroUI> imple DataSynchroModel stepModel = getStepModel(); ConfigUI configUI = (ConfigUI) parentUI.getStepUI(AdminStep.CONFIG); - ObserveSwingDataSource leftSource = getModel().getConfigModel().getSafeLocalSource(true); + ConfigModel configModel = getModel().getConfigModel(); + + ObserveSwingDataSource leftSource = configModel.getSafeLocalSource(true); stepModel.setLeftSource(leftSource); - ObserveSwingDataSource rightSource = getModel().getConfigModel().getSafeCentralSource(true); + ObserveSwingDataSource rightSource = configModel.getSafeCentralSource(true); stepModel.setRightSource(rightSource); - tabUI.getLeftTreePane().setBorder(new TitledBorder(getModel().getConfigModel().getLocalSourceModel().getLabel())); + tabUI.getLeftTreePane().setBorder(new TitledBorder(configModel.getLocalSourceModel().getLabel())); stepModel.populateLeftSelectionModel(); sendMessage(t("observe.actions.synchro.referential.message.data.leftData.loaded")); - configUI.getLocalSourceConfig().setBorder(new TitledBorder(getModel().getConfigModel().getLocalSourceLabel())); + TitledBorder leftBorder = new TitledBorder(configModel.getLocalSourceModel().getLabel()); + boolean leftCanWriteData = configModel.getLocalSourceModel().getDataSourceInformation().canWriteData(); + leftBorder.setTitleColor(leftCanWriteData ? Color.GREEN : Color.RED); + tabUI.getLeftTreePane().setBorder(leftBorder); + if (!leftCanWriteData) { + tabUI.getCopyToLeft().setVisible(false); + tabUI.getDeleteFromRight().setVisible(false); + } + configUI.getLocalSourceConfig().setBorder(leftBorder); - tabUI.getRightTreePane().setBorder(new TitledBorder(getModel().getConfigModel().getCentralSourceModel().getLabel())); + tabUI.getRightTreePane().setBorder(new TitledBorder(configModel.getCentralSourceModel().getLabel())); stepModel.populateRightSelectionModel(); sendMessage(t("observe.actions.synchro.referential.message.data.rightData.loaded")); - configUI.getCentralSourceConfig().setBorder(new TitledBorder(getModel().getConfigModel().getCentralSourceLabel())); + TitledBorder rightBorder = new TitledBorder(configModel.getCentralSourceModel().getLabel()); + boolean rightCanWriteData = configModel.getCentralSourceModel().getDataSourceInformation().canWriteData(); + rightBorder.setTitleColor(rightCanWriteData ? Color.GREEN : Color.RED); + tabUI.getRightTreePane().setBorder(rightBorder); + if (!rightCanWriteData) { + tabUI.getCopyToRight().setVisible(false); + tabUI.getDeleteFromLeft().setVisible(false); + } + configUI.getCentralSourceConfig().setBorder(rightBorder); return WizardState.NEED_FIX; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.