From 54fc44a1fb4f0ad1c3c0f37c597980960be69829 Mon Sep 17 00:00:00 2001 From: Cherian Mathew Date: Thu, 29 Oct 2015 10:33:21 +0100 Subject: [PATCH] #5366 Add preference for disabling services api timestamp check --- .../taxeditor/preference/IPreferenceKeys.java | 2 ++ .../TaxonomicEditorGeneralPreferences.java | 3 +++ .../taxeditor/ui/dialog/RemotingLoginDialog.java | 13 ++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java index 5e9432541..51af3ddba 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/IPreferenceKeys.java @@ -127,6 +127,8 @@ public interface IPreferenceKeys { public static final String SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS = "eu.etaxonomy.taxeditor.navigation.search.openResultInSeparateWindows"; + public static final String DISABLE_SERVICES_API_TIMESTAMP_CHECK = "eu.etaxonomy.taxeditor.cdmlib.remoting.disableServicesApiTimestampCheck"; + public static final String ADD_TYPES_TO_ALL_NAMES = "eu.etaxonomy.taxeditor.store.addTypeToAllNames"; public static final String DETERMINATION_ONLY_FOR_FIELD_UNITS = "eu.etaxonomy.taxeditor.specimen.determinationOnlyOnFieldUnitLevel"; diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java index cae829782..9ec409300 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/TaxonomicEditorGeneralPreferences.java @@ -60,6 +60,9 @@ public class TaxonomicEditorGeneralPreferences extends addField(new BooleanFieldEditor(IPreferenceKeys.SEARCH_OPEN_RESULTS_IN_SEPARATE_WINDOWS, "Open search results in separate windows", getFieldEditorParent())); + addField(new BooleanFieldEditor(IPreferenceKeys.DISABLE_SERVICES_API_TIMESTAMP_CHECK, + "Disable services api timestamp check", + getFieldEditorParent())); } /* diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java index bddb7a0f3..4d088a4f3 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/RemotingLoginDialog.java @@ -50,6 +50,8 @@ import org.osgi.service.prefs.Preferences; import eu.etaxonomy.cdm.api.application.CdmApplicationState; import eu.etaxonomy.cdm.model.metadata.CdmMetaData; import eu.etaxonomy.taxeditor.model.MessagingUtils; +import eu.etaxonomy.taxeditor.preference.IPreferenceKeys; +import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.remoting.server.CDMServerException; import eu.etaxonomy.taxeditor.remoting.source.CdmRemoteSource; import eu.etaxonomy.taxeditor.remoting.source.CdmServerInfo; @@ -645,8 +647,12 @@ public class RemotingLoginDialog extends Dialog { if(available) { txtServerCDMVersion.setText(selectedCsii.getCdmRemoteSource(selectedCdmInstance, getPort()).getDbSchemaVersion()); int compareDbSchemaVersion = selectedCsii.compareDbSchemaVersion(selectedCdmInstance, getPort()); - int compareCdmlibServicesVersion = selectedCsii.compareCdmlibServicesVersion(); - + int compareCdmlibServicesVersion = 0; + boolean disableServicesApiTimestampCheck = + PreferencesUtil.getPreferenceStore().getBoolean((IPreferenceKeys.DISABLE_SERVICES_API_TIMESTAMP_CHECK)); + if(!disableServicesApiTimestampCheck) { + compareCdmlibServicesVersion = selectedCsii.compareCdmlibServicesVersion(); + } if(compareDbSchemaVersion > 0 || compareCdmlibServicesVersion > 0) { status = STATUS_NOT_COMPATIBLE; available = false; @@ -660,10 +666,7 @@ public class RemotingLoginDialog extends Dialog { available = true; message = ""; } - - } - } catch (Exception e) { txtCdmInstanceStatus.setToolTipText(e.getMessage()); } finally { -- 2.34.1