Skip to content

Commit

Permalink
dbeaver/pro#2752 Add a new setting to Disable (grey out) the Automati…
Browse files Browse the repository at this point in the history
…c updates check (#29333)

* dbeaver/pro#2752 Add a new setting to Disable (grey out) the Automatic
updates check checkbox in Preferences

Disable all automatic update operations

* dbeaver/pro#2752 Dependency fixed

* dbeaver/pro#2752 Only renamed method

* Merge branch 'dbeaver/pro#2752-automatic-updates-disable' of
git@github.com:dbeaver/dbeaver.git into
dbeaver/pro#2752-automatic-updates-disable

* dbeaver/pro#2752-automatic-updates-disable

* dbeaver/pro#2752-automatic-updates-disable Constants renamed

* dbeaver/pro#2752-automatic-updates-disable Reimpl for dependency use

* dbeaver/pro#2752-automatic-updates-disable Export package

---------

Co-authored-by: MashaKorax <84867187+MashaKorax@users.noreply.github.com>
  • Loading branch information
serjiokov and MashaKorax committed May 11, 2024
1 parent 226cd44 commit 1798e60
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 17 deletions.
1 change: 1 addition & 0 deletions plugins/org.jkiss.dbeaver.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.jkiss.dbeaver,
org.jkiss.dbeaver.core,
org.jkiss.dbeaver.core.ui.services,
org.jkiss.dbeaver.registry,
org.jkiss.dbeaver.tools.project,
org.jkiss.dbeaver.tools.scripts,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.jkiss.dbeaver.DBeaverPreferences;
import org.jkiss.dbeaver.LogOutputStream;
import org.jkiss.dbeaver.core.ui.services.ApplicationPolicyService;
import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.exec.DBCExecutionPurpose;
import org.jkiss.dbeaver.model.impl.preferences.BundlePreferenceStore;
Expand Down Expand Up @@ -58,7 +59,8 @@ public void initializeDefaultPreferences() {
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.TEXT_EDIT_UNDO_LEVEL, 200);

// General UI
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_AUTO_UPDATE_CHECK, true);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_AUTO_UPDATE_CHECK,
!ApplicationPolicyService.getInstance().isInstallUpdateDisabled());
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_USE_EMBEDDED_AUTH, false);
PrefUtils.setDefaultPreferenceValue(store, DBeaverPreferences.UI_SHOW_HOLIDAY_DECORATIONS, true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ui.app.standalone.services;
package org.jkiss.dbeaver.core.ui.services;

import org.eclipse.core.commands.Command;
import org.eclipse.ui.commands.ICommandService;
Expand All @@ -28,8 +28,8 @@ public class ApplicationPolicyService {
private static final String INSTALL_NEW_SOFTWARE_COMMAND = "org.eclipse.equinox.p2.ui.sdk.install"; //$NON-NLS-1$
private static final String SHOW_MARKETPLACE_COMMAND = "org.eclipse.epp.mpc.ui.command.showMarketplaceWizard"; //$NON-NLS-1$
private static final String UPDATE_SOFTWARE_COMMAND = "org.eclipse.equinox.p2.ui.sdk.update"; //$NON-NLS-1$
private static final String POLICY_SOFTWARE_INSTALL = "policy.software.install.disabled"; //$NON-NLS-1$
private static final String POLICY_SOFTWARE_UPDATE = "policy.software.update.disabled"; //$NON-NLS-1$
private static final String POLICY_SOFTWARE_INSTALL_DISABLED = "policy.software.install.disabled"; //$NON-NLS-1$
private static final String POLICY_SOFTWARE_UPDATE_DISABLED = "policy.software.update.disabled"; //$NON-NLS-1$

private ApplicationPolicyService() {
// no implementation
Expand All @@ -50,11 +50,11 @@ public static ApplicationPolicyService getInstance() {
* @param commandService - service
*/
public void disableStandardProductModification(@NotNull ICommandService commandService) {
if (BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_INSTALL)) {
if (BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_INSTALL_DISABLED)) {
disableCommand(commandService, INSTALL_NEW_SOFTWARE_COMMAND);
disableCommand(commandService, SHOW_MARKETPLACE_COMMAND);
}
if (BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_UPDATE)) {
if (BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_UPDATE_DISABLED)) {
disableCommand(commandService, UPDATE_SOFTWARE_COMMAND);
}
}
Expand All @@ -67,4 +67,11 @@ private void disableCommand(@NotNull ICommandService commandService, @NotNull St
}
}

/**
* Return true, if software install/update policy enabled
*/
public boolean isInstallUpdateDisabled() {
return BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_INSTALL_DISABLED)
|| BasePolicyDataProvider.getInstance().isPolicyEnabled(POLICY_SOFTWARE_UPDATE_DISABLED);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
import org.jkiss.dbeaver.ModelPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.DesktopPlatform;
import org.jkiss.dbeaver.core.ui.services.ApplicationPolicyService;
import org.jkiss.dbeaver.model.DBConstants;
import org.jkiss.dbeaver.model.app.DBPPlatformDesktop;
import org.jkiss.dbeaver.model.app.DBPPlatformLanguage;
Expand Down Expand Up @@ -97,10 +98,17 @@ public void init(IWorkbench workbench)
protected Control createPreferenceContent(@NotNull Composite parent) {
Composite composite = UIUtils.createPlaceholder(parent, 1, 5);

if (isStandalone) {
Group groupObjects = UIUtils.createControlGroup(composite, CoreMessages.pref_page_ui_general_group_general, 2, GridData.VERTICAL_ALIGN_BEGINNING, 0);
automaticUpdateCheck = UIUtils.createCheckbox(groupObjects, CoreMessages.pref_page_ui_general_checkbox_automatic_updates, null, false, 2);
//automaticUpdateCheck.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, true, false, 2, 1));
if (isStandalone && !ApplicationPolicyService.getInstance().isInstallUpdateDisabled()) {
Group groupObjects = UIUtils.createControlGroup(
composite, CoreMessages.pref_page_ui_general_group_general, 2,
GridData.VERTICAL_ALIGN_BEGINNING,
0);
automaticUpdateCheck = UIUtils.createCheckbox(
groupObjects,
CoreMessages.pref_page_ui_general_checkbox_automatic_updates,
null,
false,
2);
}
if (isStandalone) {
Group regionalSettingsGroup = UIUtils.createControlGroup(composite,
Expand Down Expand Up @@ -227,8 +235,10 @@ private void setSettings() {
browserCombo.select(SWTBrowserRegistry.getActiveBrowser().ordinal());
useEmbeddedBrowserAuth.setEnabled(!SWTBrowserRegistry.getActiveBrowser().equals(SWTBrowserRegistry.BrowserSelection.IE));
}
if (isStandalone) {
automaticUpdateCheck.setSelection(store.getBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
if (isStandalone) {
if (!ApplicationPolicyService.getInstance().isInstallUpdateDisabled()) {
automaticUpdateCheck.setSelection(store.getBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
}
if (!RuntimeUtils.isLinux()) {
useEmbeddedBrowserAuth.setSelection(store.getBoolean(DBeaverPreferences.UI_USE_EMBEDDED_AUTH));
}
Expand All @@ -247,8 +257,10 @@ private void setSettings() {
protected void performDefaults() {
DBPPreferenceStore store = DBWorkbench.getPlatform().getPreferenceStore();
if (isStandalone) {
automaticUpdateCheck.setSelection(store.getDefaultBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
useEmbeddedBrowserAuth.setSelection(store.getDefaultBoolean(DBeaverPreferences.UI_USE_EMBEDDED_AUTH));
if (!ApplicationPolicyService.getInstance().isInstallUpdateDisabled()) {
automaticUpdateCheck.setSelection(store.getDefaultBoolean(DBeaverPreferences.UI_AUTO_UPDATE_CHECK));
}
}
if (isWindowsDesktopClient()) {
SWTBrowserRegistry.getActiveBrowser();
Expand All @@ -275,8 +287,12 @@ public boolean performOk()
DBPPreferenceStore store = DBWorkbench.getPlatform().getPreferenceStore();

if (isStandalone) {
store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, automaticUpdateCheck.getSelection());
store.setValue(DBeaverPreferences.UI_USE_EMBEDDED_AUTH, useEmbeddedBrowserAuth.getSelection());
if (!ApplicationPolicyService.getInstance().isInstallUpdateDisabled()) {
store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, automaticUpdateCheck.getSelection());
} else {
store.setValue(DBeaverPreferences.UI_AUTO_UPDATE_CHECK, Boolean.FALSE);
}
}

if (isWindowsDesktopClient()) {
Expand Down
2 changes: 1 addition & 1 deletion plugins/org.jkiss.dbeaver.registry/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ Export-Package: org.jkiss.dbeaver.registry,
org.jkiss.dbeaver.registry.maven,
org.jkiss.dbeaver.registry.network,
org.jkiss.dbeaver.registry.rm,
org.jkiss.dbeaver.registry.storage,
org.jkiss.dbeaver.registry.settings,
org.jkiss.dbeaver.registry.storage,
org.jkiss.dbeaver.registry.task,
org.jkiss.dbeaver.registry.updater
Bundle-ClassPath: .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ModelPreferences;
import org.jkiss.dbeaver.core.CoreMessages;
import org.jkiss.dbeaver.core.ui.services.ApplicationPolicyService;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.ui.*;
import org.jkiss.dbeaver.ui.app.standalone.about.AboutBoxAction;
import org.jkiss.dbeaver.ui.app.standalone.actions.EmergentExitAction;
import org.jkiss.dbeaver.ui.app.standalone.internal.CoreApplicationActivator;
import org.jkiss.dbeaver.ui.app.standalone.internal.CoreApplicationMessages;
import org.jkiss.dbeaver.ui.app.standalone.services.ApplicationPolicyService;
import org.jkiss.dbeaver.ui.app.standalone.update.CheckForUpdateAction;
import org.jkiss.dbeaver.ui.controls.StatusLineContributionItemEx;
import org.jkiss.dbeaver.ui.navigator.actions.ToggleViewAction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ModelPreferences;
import org.jkiss.dbeaver.core.CoreFeatures;
import org.jkiss.dbeaver.core.ui.services.ApplicationPolicyService;
import org.jkiss.dbeaver.erd.ui.ERDUIConstants;
import org.jkiss.dbeaver.model.DBIcon;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
Expand Down Expand Up @@ -250,7 +251,8 @@ public void postStartup() {
filterWizards();
patchJFaceIcons();

if (!application.isDistributed()) {
if (!application.isDistributed() &&
!ApplicationPolicyService.getInstance().isInstallUpdateDisabled()) {
startVersionChecker();
}
}
Expand Down

0 comments on commit 1798e60

Please sign in to comment.