@Override public SdkStatus getStatus() { String sdkPath = CloudSdkServiceUserSettings.getInstance().getCustomSdkPath(); if (Strings.isNullOrEmpty(sdkPath)) { return SdkStatus.NOT_AVAILABLE; } boolean malformedSdkPath = CloudSdkValidator.isMalformedCloudSdkPath(sdkPath); return malformedSdkPath ? SdkStatus.INVALID : SdkStatus.READY; }
@NotNull public CloudSdkServiceType getUserSelectedSdkServiceType() { String sdkTypeName = propertiesComponent.getValue(SDK_TYPE_PROPERTY_NAME); CloudSdkServiceType sdkType; try { sdkType = CloudSdkServiceType.valueOf(Strings.nullToEmpty(sdkTypeName)); } catch (Exception ex) { sdkType = DEFAULT_SDK_TYPE; // sdk type is unset - probably previous version of the SDK support didn't have it. // check for custom SDK path and use custom if it's set. if (!Strings.isNullOrEmpty(getCustomSdkPath())) { sdkType = CloudSdkServiceType.CUSTOM_SDK; } } // override result based on feature status until feature is done. if (!ServiceManager.getService(PluginInfoService.class).shouldEnable(GctFeature.MANAGED_SDK)) { sdkType = CloudSdkServiceType.CUSTOM_SDK; } return sdkType; }
public void reset() { CloudSdkServiceUserSettings sdkServiceUserSettings = CloudSdkServiceUserSettings.getInstance(); CloudSdkServiceType selectedSdkServiceType = sdkServiceUserSettings.getUserSelectedSdkServiceType(); switch (selectedSdkServiceType) { case MANAGED_SDK: managedRadioButton.doClick(); break; case CUSTOM_SDK: customRadioButton.doClick(); break; } setCloudSdkDirectoryText(Strings.nullToEmpty(sdkServiceUserSettings.getCustomSdkPath())); enableAutomaticUpdatesCheckbox.setSelected(sdkServiceUserSettings.isAutomaticUpdateEnabled()); // reset modified flag too so user won't see this as changed state. settingsModified = false; }
@Nullable @Override public Path getSdkHomePath() { String sdkPath = CloudSdkServiceUserSettings.getInstance().getCustomSdkPath(); if (sdkPath != null) { // To let Windows users that persisted the old malformed path save a new one. // TODO(joaomartins): Delete this after a while so gets are faster. if (CloudSdkValidator.isMalformedCloudSdkPath(sdkPath)) { UsageTrackerService.getInstance().trackEvent(GctTracking.CLOUD_SDK_MALFORMED_PATH).ping(); return null; } return Paths.get(sdkPath); } // Let common library auto-discover Cloud SDK's location. try { return new CloudSdk.Builder().build().getPath(); } catch (AppEngineException aee) { return null; } }
private void verifyCloudSdkSettings( CloudSdkServiceType cloudSdkServiceType, boolean enableAutomaticUpdates, String customSdkPath) { CloudSdkServiceUserSettings userSettings = CloudSdkServiceUserSettings.getInstance(); assertThat(cloudSdkServiceType).isEqualTo(userSettings.getUserSelectedSdkServiceType()); assertThat(enableAutomaticUpdates).isEqualTo(userSettings.isAutomaticUpdateEnabled()); assertThat(customSdkPath).isEqualTo(userSettings.getCustomSdkPath()); }
/** * Checks for custom SDK validation errors and shows error label if they exist. To be removed once * managed SDk feature is rolled out. */ private void updateSdkValidationLabel() { if (!ServiceManager.getService(PluginInfoService.class).shouldEnable(GctFeature.MANAGED_SDK)) { String sdkValidationMessage = CloudSdkPanel.buildSdkMessage( CloudSdkServiceUserSettings.getInstance().getCustomSdkPath(), false); if (sdkValidationMessage != null) { sdkValidationErrorLabel.setText(sdkValidationMessage); sdkValidationErrorLabel.setVisible(true); } else { sdkValidationErrorLabel.setVisible(false); } } else { sdkValidationErrorLabel.setVisible(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())); } }