public void apply() throws ConfigurationException { CloudSdkServiceUserSettings sdkServiceUserSettings = CloudSdkServiceUserSettings.getInstance(); if (customRadioButton.isSelected()) { String customSdkPathText = getCloudSdkDirectoryText(); if (CloudSdkValidator.getInstance() .validateCloudSdk(customSdkPathText) .contains(CloudSdkValidationResult.MALFORMED_PATH)) { throw new ConfigurationException( CloudSdkMessageBundle.message("appengine.cloudsdk.location.badchars.message")); } sdkServiceUserSettings.setCustomSdkPath(customSdkPathText); } CloudSdkServiceType previousSdkType = sdkServiceUserSettings.getUserSelectedSdkServiceType(); if (previousSdkType != selectedCloudSdkServiceType) { // notify SDK manager about changed selection ServiceManager.getService(CloudSdkServiceManager.class) .onNewCloudSdkServiceTypeSelected(selectedCloudSdkServiceType); } sdkServiceUserSettings.setUserSelectedSdkServiceType(selectedCloudSdkServiceType); boolean previousAutomaticUpdateEnabled = sdkServiceUserSettings.isAutomaticUpdateEnabled(); sdkServiceUserSettings.setEnableAutomaticUpdates(enableAutomaticUpdatesCheckbox.isSelected()); if (enableAutomaticUpdatesCheckbox.isSelected() && !previousAutomaticUpdateEnabled) { // activate updates again. ManagedCloudSdkUpdateService.getInstance().activate(); } // settings are applied and saved, clear modification status settingsModified = false; }
private void verifySdkPanelStateForCurrentSettings(CloudSdkPanel sdkPanel) { CloudSdkServiceUserSettings userSettings = CloudSdkServiceUserSettings.getInstance(); switch (userSettings.getUserSelectedSdkServiceType()) { case CUSTOM_SDK: assertThat(sdkPanel.getCustomRadioButton().isSelected()).isTrue(); assertThat(sdkPanel.getManagedRadioButton().isSelected()).isFalse(); assertThat(sdkPanel.getEnableAutomaticUpdatesCheckbox().isEnabled()).isFalse(); break; case MANAGED_SDK: assertThat(sdkPanel.getManagedRadioButton().isSelected()).isTrue(); assertThat(sdkPanel.getEnableAutomaticUpdatesCheckbox().isEnabled()).isTrue(); assertThat(sdkPanel.getCustomRadioButton().isSelected()).isFalse(); assertThat(sdkPanel.getCloudSdkDirectoryField().isEnabled()).isFalse(); break; } assertThat(sdkPanel.getEnableAutomaticUpdatesCheckbox().isSelected()) .isEqualTo(userSettings.isAutomaticUpdateEnabled()); assertThat(sdkPanel.getCloudSdkDirectoryText()) .isEqualTo(Strings.nullToEmpty(userSettings.getCustomSdkPath())); } }