use of org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos in project sonarlint-core by SonarSource.
the class WsHelperImpl method validateConnection.
static ValidationResult validateConnection(SonarLintWsClient client, @Nullable String organizationKey) {
ServerVersionAndStatusChecker serverChecker = new ServerVersionAndStatusChecker(client);
AuthenticationChecker authChecker = new AuthenticationChecker(client);
try {
ServerInfos serverStatus = serverChecker.checkVersionAndStatus();
ValidationResult validateCredentials = authChecker.validateCredentials();
if (validateCredentials.success() && organizationKey != null) {
Version serverVersion = Version.create(serverStatus.getVersion());
if (serverVersion.compareToIgnoreQualifier(Version.create(MIN_VERSION_FOR_ORGANIZATIONS)) < 0) {
return new DefaultValidationResult(false, "No organization support for this server version: " + serverStatus.getVersion());
}
if (fetchOrganizations(client, organizationKey, new ProgressWrapper(null)).isEmpty()) {
return new DefaultValidationResult(false, "No organizations found for key: " + organizationKey);
}
}
return validateCredentials;
} catch (UnsupportedServerException e) {
return new DefaultValidationResult(false, e.getMessage());
} catch (RuntimeException e) {
throw SonarLintWrappedException.wrap(e);
}
}
use of org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos in project sonarlint-core by SonarSource.
the class ServerVersionAndStatusChecker method validateStatusAndVersion.
public ValidationResult validateStatusAndVersion(String minVersion) {
ServerInfos serverStatus = fetchServerInfos();
if (!"UP".equals(serverStatus.getStatus())) {
return new DefaultValidationResult(false, serverNotReady(serverStatus));
}
Version serverVersion = Version.create(serverStatus.getVersion());
if (serverVersion.compareToIgnoreQualifier(Version.create(minVersion)) < 0) {
return new DefaultValidationResult(false, unsupportedVersion(serverStatus, minVersion));
}
return new DefaultValidationResult(true, "Compatible and ready");
}
use of org.sonarsource.sonarlint.core.proto.Sonarlint.ServerInfos in project sonarlint-core by SonarSource.
the class ServerVersionAndStatusChecker method tryFromDeprecatedApi.
private ServerInfos tryFromDeprecatedApi(WsResponse originalReponse) {
// Maybe a server version prior to 5.2. Fallback on deprecated api/server/version
try (WsResponse responseFallback = wsClient.rawGet("api/server/version")) {
if (!responseFallback.isSuccessful()) {
// We prefer to report original error
throw SonarLintWsClient.handleError(originalReponse);
}
String responseStr = responseFallback.content();
ServerInfos.Builder builder = ServerInfos.newBuilder();
builder.setStatus("UP");
builder.setVersion(trimToEmpty(responseStr));
return builder.build();
}
}
Aggregations