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 8d2077bb60cb48315abc76e54d8a85947bcfb08e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 28 09:37:22 2016 +0200 Prendre en compte le nom de la base dans la validation des actions utilisant deux sources distantes --- .../application/swing/ui/admin/AdminUIModel.java | 124 ++++++++++----------- 1 file changed, 59 insertions(+), 65 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java index 6bc5325..69abad9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/AdminUIModel.java @@ -26,6 +26,19 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.application.swing.db.ObserveSwingDataSource; import fr.ird.observe.application.swing.db.constants.DbMode; +import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; +import fr.ird.observe.application.swing.ui.admin.consolidate.ConsolidateModel; +import fr.ird.observe.application.swing.ui.admin.export.ExportModel; +import fr.ird.observe.application.swing.ui.admin.report.ReportModel; +import fr.ird.observe.application.swing.ui.admin.save.SaveLocalModel; +import fr.ird.observe.application.swing.ui.admin.synchronize.data.DataSynchroModel; +import fr.ird.observe.application.swing.ui.admin.synchronize.referential.legacy.SynchronizeModel; +import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; +import fr.ird.observe.application.swing.ui.admin.validate.ValidateModel; +import fr.ird.observe.application.swing.ui.storage.StorageUIHandler; +import fr.ird.observe.application.swing.ui.storage.StorageUIModel; +import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; +import fr.ird.observe.application.swing.validation.ValidationModelMode; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataReference; @@ -42,19 +55,6 @@ import fr.ird.observe.services.service.actions.synchro.referential.ReferentialSy import fr.ird.observe.services.service.actions.validate.ValidateService; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.services.service.seine.TripSeineService; -import fr.ird.observe.application.swing.ui.admin.config.ConfigUI; -import fr.ird.observe.application.swing.ui.admin.consolidate.ConsolidateModel; -import fr.ird.observe.application.swing.ui.admin.export.ExportModel; -import fr.ird.observe.application.swing.ui.admin.report.ReportModel; -import fr.ird.observe.application.swing.ui.admin.save.SaveLocalModel; -import fr.ird.observe.application.swing.ui.admin.synchronize.data.DataSynchroModel; -import fr.ird.observe.application.swing.ui.admin.synchronize.referential.legacy.SynchronizeModel; -import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.ReferentialSynchroModel; -import fr.ird.observe.application.swing.ui.admin.validate.ValidateModel; -import fr.ird.observe.application.swing.ui.storage.StorageUIHandler; -import fr.ird.observe.application.swing.ui.storage.StorageUIModel; -import fr.ird.observe.application.swing.ui.storage.tabs.DataSelectionModel; -import fr.ird.observe.application.swing.validation.ValidationModelMode; import jaxx.runtime.swing.wizard.ext.WizardExtModel; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.lang3.StringUtils; @@ -70,9 +70,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; import java.util.List; +import java.util.Objects; import java.util.Set; import static fr.ird.observe.application.swing.ObserveResourceManager.Resource; +import static fr.ird.observe.application.swing.db.constants.DbMode.USE_LOCAL; +import static fr.ird.observe.application.swing.db.constants.DbMode.USE_REMOTE; +import static fr.ird.observe.application.swing.db.constants.DbMode.USE_SERVER; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -176,9 +180,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } String params; - if (getDbMode() == DbMode.USE_SERVER) { + if (getDbMode() == USE_SERVER) { params = t("observe.storage.server.db") + " " + getRemoteUrl(); - } else if (getDbMode() == DbMode.USE_REMOTE) { + } else if (getDbMode() == USE_REMOTE) { params = t("observe.storage.remote.db") + " " + getRemoteUrl(); } else { params = t("observe.storage.locale.db") + " " + getH2Config().getDirectory().getAbsolutePath(); @@ -209,9 +213,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } String params; - if (getDbMode() == DbMode.USE_SERVER) { + if (getDbMode() == USE_SERVER) { params = t("observe.storage.server.db") + " " + getRemoteUrl(); - } else if (getDbMode() == DbMode.USE_REMOTE) { + } else if (getDbMode() == USE_REMOTE) { params = t("observe.storage.remote.db") + " " + getRemoteUrl(); } else { params = t("observe.storage.locale.db") + " " + getH2Config().getDirectory().getAbsolutePath(); @@ -680,7 +684,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { centralSourceModel.setCanUseLocalService(canUseLocalSource); centralSourceModel.setCanUseRemoteService(true); centralSourceModel.setCanUseServerService(true); - centralSourceModel.start(DbMode.USE_REMOTE); + centralSourceModel.start(USE_REMOTE); if (log.isDebugEnabled()) { centralSourceModel.removePropertyChangeListener(LOG_PROPERTY_CHANGE_LISTENER); @@ -709,22 +713,22 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { EnumSet<DbMode> authorizedModes = getIncomingDataSourceMode(); EnumSet<DbMode> modes = EnumSet.noneOf(DbMode.class); - if (authorizedModes.contains(DbMode.USE_LOCAL)) { + if (authorizedModes.contains(USE_LOCAL)) { // ce mode est disponible uniquement si une base locale existe if (ObserveSwingApplicationContext.get().getConfig().isLocalStorageExist()) { - modes.add(DbMode.USE_LOCAL); + modes.add(USE_LOCAL); } } - if (authorizedModes.contains(DbMode.USE_REMOTE)) { + if (authorizedModes.contains(USE_REMOTE)) { - modes.add(DbMode.USE_REMOTE); + modes.add(USE_REMOTE); } - if (authorizedModes.contains(DbMode.USE_SERVER)) { + if (authorizedModes.contains(USE_SERVER)) { - modes.add(DbMode.USE_SERVER); + modes.add(USE_SERVER); } if (authorizedModes.contains(DbMode.CREATE_LOCAL)) { @@ -745,7 +749,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (previousSource.isRemote()) { - if (!modes.contains(DbMode.USE_REMOTE)) { + if (!modes.contains(USE_REMOTE)) { // pas autorise a utiliser cette source en entree previousSource = null; @@ -754,7 +758,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (previousSource != null && previousSource.isServer()) { - if (!modes.contains(DbMode.USE_SERVER)) { + if (!modes.contains(USE_SERVER)) { // pas autorise a utiliser cette source en entree previousSource = null; @@ -763,7 +767,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (previousSource != null && previousSource.isLocal()) { - if (!modes.contains(DbMode.USE_LOCAL)) { + if (!modes.contains(USE_LOCAL)) { // pas autorise a utiliser cette source en entree previousSource = null; @@ -774,9 +778,9 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { availableIncomingModes.addAll(modes); localSourceModel.setCanCreateLocalService(modes.contains(DbMode.CREATE_LOCAL)); - localSourceModel.setCanUseLocalService(modes.contains(DbMode.USE_LOCAL)); - localSourceModel.setCanUseRemoteService(modes.contains(DbMode.USE_REMOTE)); - localSourceModel.setCanUseServerService(modes.contains(DbMode.USE_SERVER)); + localSourceModel.setCanUseLocalService(modes.contains(USE_LOCAL)); + localSourceModel.setCanUseRemoteService(modes.contains(USE_REMOTE)); + localSourceModel.setCanUseServerService(modes.contains(USE_SERVER)); if (previousSource == null) { @@ -1112,20 +1116,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (validate && containsOperation(AdminStep.DATA_SYNCHRONIZE)) { // les deux bases (source et referentiel) doivent etre different - DbMode dbMode = localSourceModel.getDbMode(); - if (dbMode == centralSourceModel.getDbMode()) { - switch (dbMode) { - case USE_LOCAL: - validate = false; - break; - case USE_REMOTE: - validate = !localSourceModel.getPgConfig().getJdbcUrl().equals(centralSourceModel.getPgConfig().getJdbcUrl()); - break; - case USE_SERVER: - validate = !localSourceModel.getRestConfig().getServerUrl().equals(centralSourceModel.getRestConfig().getServerUrl()); - break; - } - } + validate = validateNotSameDataSources(); ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); if (!(leftDataSourceInformation.canReadData() && leftDataSourceInformation.canWriteData())) { @@ -1152,20 +1143,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (validate && containsOperation(AdminStep.REFERENTIAL_SYNCHRONIZE)) { // les deux bases (source et referentiel) doivent etre different - DbMode dbMode = localSourceModel.getDbMode(); - if (dbMode == centralSourceModel.getDbMode()) { - switch (dbMode) { - case USE_LOCAL: - validate = false; - break; - case USE_REMOTE: - validate = !localSourceModel.getPgConfig().getJdbcUrl().equals(centralSourceModel.getPgConfig().getJdbcUrl()); - break; - case USE_SERVER: - validate = !localSourceModel.getRestConfig().getServerUrl().equals(centralSourceModel.getRestConfig().getServerUrl()); - break; - } - } + validate = validateNotSameDataSources(); ObserveDataSourceInformation leftDataSourceInformation = getLocalSourceInformation(); if (!(leftDataSourceInformation.canReadReferential())) { @@ -1196,13 +1174,8 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (containsOperation(AdminStep.SYNCHRONIZE)) { // les deux bases (source et referentiel) doivent etre different - DbMode dbMode = localSourceModel.getDbMode(); - if (dbMode == centralSourceModel.getDbMode()) { - if (dbMode == DbMode.USE_REMOTE) { - validate &= !localSourceModel.getPgConfig().getJdbcUrl().equals(centralSourceModel.getPgConfig().getJdbcUrl()); - } - } -// validate &= centralSourceModel.isValid(); + validate = validateNotSameDataSources(); + } if (containsOperation(AdminStep.EXPORT_DATA)) { @@ -1490,4 +1463,25 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { } } + + private boolean validateNotSameDataSources() { + boolean validate = true; + DbMode dbMode = localSourceModel.getDbMode(); + if (dbMode == centralSourceModel.getDbMode()) { + switch (dbMode) { + case USE_REMOTE: + validate = !Objects.equals(localSourceModel.getPgConfig().getJdbcUrl(), centralSourceModel.getPgConfig().getJdbcUrl()); + break; + case USE_SERVER: + validate = !Objects.equals(localSourceModel.getRestConfig().getServerUrl(), centralSourceModel.getRestConfig().getServerUrl()) + || !Objects.equals(localSourceModel.getRestConfig().getOptionalDatabaseName(), centralSourceModel.getRestConfig().getOptionalDatabaseName()); + + break; + default: + validate = false; + } + } + return validate; + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.