mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-11 10:38:31 -05:00
44 lines
1.8 KiB
TypeScript
44 lines
1.8 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as azdata from 'azdata';
|
|
import * as vscode from 'vscode';
|
|
import { AppContext } from '../appContext';
|
|
import { getErrorMessage } from '../utils';
|
|
import * as SqlClusterLookUp from '../sqlClusterLookUp';
|
|
import * as loc from '../localizedConstants';
|
|
|
|
export class OpenSparkYarnHistoryTask {
|
|
constructor(private appContext: AppContext) {
|
|
}
|
|
|
|
async execute(sqlConnProfile: azdata.IConnectionProfile, isSpark: boolean): Promise<void> {
|
|
try {
|
|
let sqlClusterConnection = await SqlClusterLookUp.findSqlClusterConnection(sqlConnProfile, this.appContext);
|
|
if (!sqlClusterConnection) {
|
|
let name = isSpark ? 'Spark' : 'Yarn';
|
|
void vscode.window.showErrorMessage(loc.sparkConnectionRequired(name));
|
|
return;
|
|
}
|
|
if (isSpark) {
|
|
void vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(this.generateSparkHistoryUrl(sqlClusterConnection.host, sqlClusterConnection.port)));
|
|
}
|
|
else {
|
|
void vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(this.generateYarnHistoryUrl(sqlClusterConnection.host, sqlClusterConnection.port)));
|
|
}
|
|
} catch (error) {
|
|
void vscode.window.showErrorMessage(getErrorMessage(error));
|
|
}
|
|
}
|
|
|
|
private generateSparkHistoryUrl(host: string, port: number): string {
|
|
return `https://${host}:${port}/gateway/default/sparkhistory/`;
|
|
}
|
|
|
|
private generateYarnHistoryUrl(host: string, port: number): string {
|
|
return `https://${host}:${port}/gateway/default/yarn/cluster/apps`;
|
|
}
|
|
}
|