Skip to content

Commit 1480c9f

Browse files
committed
Correct use of all enum types
Signed-off-by: worksofliam <[email protected]>
1 parent 664d2fe commit 1480c9f

File tree

12 files changed

+47
-97
lines changed

12 files changed

+47
-97
lines changed

package-lock.json

Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"webpack-cli": "^4.5.0"
6262
},
6363
"dependencies": {
64-
"@ibm/mapepire-js": "^0.1.0",
64+
"@ibm/mapepire-js": "^0.3.0",
6565
"chart.js": "^4.4.2",
6666
"csv": "^6.1.3",
6767
"json-to-markdown-table": "^1.0.0",

src/connection/manager.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { OldSQLJob } from "./sqlJob";
55
import { askAboutNewJob, onConnectOrServerInstall, osDetail } from "../config";
66
import { SelfValue } from "../views/jobManager/selfCodes/nodes";
77
import Configuration from "../configuration";
8-
import { JobStatus, QueryOptions } from "@ibm/mapepire-js/dist/src/types";
8+
import { QueryOptions } from "@ibm/mapepire-js/dist/src/types";
99
import { Query } from "@ibm/mapepire-js/dist/src/query";
1010

1111
export interface JobInfo {
@@ -71,7 +71,7 @@ export class SQLJobManager {
7171
}
7272

7373
getRunningJobs() {
74-
return this.jobs.filter(info => [JobStatus.Ready, JobStatus.Busy].includes(info.job.getStatus()));
74+
return this.jobs.filter(info => ["ready", "busy"].includes(info.job.getStatus()));
7575
}
7676

7777
async endAll() {

src/connection/sqlJob.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ export class OldSQLJob extends SQLJob {
102102
});
103103
}
104104

105-
getStatus() {
105+
getStatus(): JobStatus {
106106
const currentListenerCount = this.responseEmitter.eventNames().length;
107107

108-
return currentListenerCount > 0 ? JobStatus.Busy : this.status;
108+
return currentListenerCount > 0 ? "busy" : this.status;
109109
}
110110

111111
async connect(): Promise<ConnectionResult> {
@@ -146,10 +146,10 @@ export class OldSQLJob extends SQLJob {
146146
const connectResult = await this.send<ConnectionResult>(connectionObject);
147147

148148
if (connectResult.success === true) {
149-
this.status = JobStatus.Ready;
149+
this.status = "ready";
150150
} else {
151151
this.dispose();
152-
this.status = JobStatus.NotStarted;
152+
this.status = "notStarted";
153153
throw new Error(connectResult.error || `Failed to connect to server.`);
154154
}
155155

@@ -208,6 +208,6 @@ export class OldSQLJob extends SQLJob {
208208

209209
dispose() {
210210
this.channel.close();
211-
this.status = JobStatus.Ended;
211+
this.status = "ended";
212212
}
213213
}

src/notebooks/Controller.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import { JobManager } from '../config';
88
import { ChartJsType, chartJsTypes, generateChartHTMLCell } from './logic/chartJs';
99
import { ChartDetail, generateChart } from './logic/chart';
1010
import { getStatementDetail } from './logic/statement';
11-
import { JobStatus } from '@ibm/mapepire-js/dist/src/types';
1211

1312
export class IBMiController {
1413
readonly controllerId = `db2i-notebook-controller-id`;
@@ -65,7 +64,7 @@ export class IBMiController {
6564

6665
execution.token.onCancellationRequested(() => {
6766
this.globalCancel = true;
68-
if (selected && selected.job.getStatus() === JobStatus.Busy) {
67+
if (selected && selected.job.getStatus() === "busy") {
6968
selected.job.requestCancel();
7069
}
7170
});

src/notebooks/logic/export.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
import * as vscode from 'vscode';
22
import { JobManager } from '../../config';
3-
import { ChartDetail, generateChart } from './chart';
3+
import { generateChart } from './chart';
44
import { chartJsTypes, ChartJsType, generateChartHTMLEmbedded } from './chartJs';
55
import { getStatementDetail } from './statement';
66
import { getInstance } from '../../base';
77

88
import chartjs from 'chart.js/dist/chart.umd.js';
99

1010
import Showdown from 'showdown';
11-
import { JobStatus } from '@ibm/mapepire-js/dist/src/types';
1211

1312
const converter = new Showdown.Converter();
1413

@@ -40,7 +39,7 @@ export const exportNotebookAsHtml = vscode.commands.registerCommand(`vscode-db2i
4039
}, async (progress, token) => {
4140

4241
token.onCancellationRequested(() => {
43-
if (selected && selected.job.getStatus() === JobStatus.Busy) {
42+
if (selected && selected.job.getStatus() === "busy") {
4443
selected.job.requestCancel();
4544
}
4645
});

src/testing/jobs.ts

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import { getInstance } from "../base";
44
import { ExplainTree } from "../views/results/explain/nodes";
55
import { ServerComponent } from "../connection/serverComponent";
66
import { OldSQLJob } from "../connection/sqlJob";
7-
import { JobStatus, ServerTraceDest, ServerTraceLevel } from "@ibm/mapepire-js/dist/src/types";
8-
import { Query } from "@ibm/mapepire-js/dist/src/query";
97

108
export const JobsSuite: TestSuite = {
119
name: `Connection tests`,
@@ -56,10 +54,10 @@ export const JobsSuite: TestSuite = {
5654
let newJob = new OldSQLJob();
5755
await newJob.connect();
5856

59-
let rpy = await newJob.setTraceConfig(ServerTraceDest.IN_MEM, ServerTraceLevel.DATASTREAM);
57+
let rpy = await newJob.setTraceConfig("IN_MEM", "DATASTREAM");
6058
assert.equal(rpy.success, true);
61-
assert.equal(rpy.tracedest, ServerTraceDest.IN_MEM);
62-
assert.equal(rpy.tracelevel, ServerTraceLevel.DATASTREAM);
59+
assert.equal(rpy.tracedest, "IN_MEM");
60+
assert.equal(rpy.tracelevel, "DATASTREAM");
6361
let trace = await newJob.getTraceData();
6462
assert.notEqual(``, trace.tracedata);
6563
console.log(trace.tracedata);
@@ -148,46 +146,6 @@ export const JobsSuite: TestSuite = {
148146
assert.equal(resultData, testString);
149147
newJob.close();
150148
}},
151-
{name: `Auto close statements`, test: async () => {
152-
let newJob = new OldSQLJob();
153-
await newJob.connect();
154-
155-
const autoCloseAnyway = newJob.query(`select * from QIWS.QCUSTCDT`);
156-
const noAutoClose = newJob.query(`select * from QIWS.QCUSTCDT`);
157-
const neverRuns = newJob.query(`select * from QIWS.QCUSTCDT`);
158-
159-
assert.strictEqual(Query.getOpenIds(newJob).length, 3);
160-
161-
// If we ran this, two both autoClose statements would be cleaned up
162-
// await Query.cleanup();
163-
164-
await Promise.all([autoCloseAnyway.execute(1), noAutoClose.execute(1)]);
165-
assert.strictEqual(Query.getOpenIds(newJob).length, 3);
166-
167-
// Now cleanup should auto close autoCloseAnyway and neverRuns,
168-
// but not noAutoClose because it hasn't finished running
169-
await Query.cleanup();
170-
171-
const leftOverIds = Query.getOpenIds(newJob);
172-
assert.strictEqual(leftOverIds.length, 1);
173-
174-
assert.strictEqual(noAutoClose.getId(), leftOverIds[0]);
175-
176-
newJob.close();
177-
}},
178-
179-
{name: `SQL with no result set`, test: async () => {
180-
assert.strictEqual(ServerComponent.isInstalled(), true);
181-
182-
let newJob = new OldSQLJob();
183-
await newJob.connect();
184-
185-
let result = await newJob.query(`create or replace table qtemp.tt as (select * from sysibm.sysdummy1) with data on replace delete rows`).execute();
186-
assert.equal(result.success, true);
187-
assert.equal(result.has_results, false);
188-
assert.equal(result.data, undefined);
189-
newJob.close();
190-
}},
191149

192150
{name: `CL Command (success)`, test: async () => {
193151
assert.strictEqual(ServerComponent.isInstalled(), true);
@@ -259,19 +217,19 @@ export const JobsSuite: TestSuite = {
259217

260218
const newJob = new OldSQLJob();
261219

262-
assert.strictEqual(newJob.getStatus(), JobStatus.NotStarted);
220+
assert.strictEqual(newJob.getStatus(), "notStarted");
263221

264222
assert.strictEqual(newJob.id, undefined);
265223

266224
await newJob.connect();
267225

268-
assert.strictEqual(newJob.getStatus(), JobStatus.Ready);
226+
assert.strictEqual(newJob.getStatus(), "ready");
269227

270228
assert.notStrictEqual(newJob.id, undefined);
271229

272230
await newJob.close();
273231

274-
assert.strictEqual(newJob.getStatus(), JobStatus.Ended);
232+
assert.strictEqual(newJob.getStatus(), "ended");
275233
}},
276234

277235
{name: `Jobs have different job IDs`, test: async () => {
@@ -443,7 +401,7 @@ export const JobsSuite: TestSuite = {
443401

444402
const newJob = new OldSQLJob({naming: `sql`});
445403
await newJob.connect();
446-
await newJob.setTraceConfig(ServerTraceDest.IN_MEM, ServerTraceLevel.DATASTREAM);
404+
await newJob.setTraceConfig("IN_MEM", "DATASTREAM");
447405

448406
let numIterations = 1000;
449407
for (let i = 0; i < numIterations; i++) {

src/testing/manager.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import assert from "assert";
22
import { TestSuite } from ".";
33
import { JobManager } from "../config";
44
import { ServerComponent } from "../connection/serverComponent";
5-
import { JobStatus } from "@ibm/mapepire-js/dist/src/types";
65

76
export const ManagerSuite: TestSuite = {
87
name: `Job manager tests`,
@@ -34,7 +33,7 @@ export const ManagerSuite: TestSuite = {
3433
const selected = JobManager.getSelection();
3534
assert.notStrictEqual(selected, undefined);
3635
assert.notStrictEqual(selected.job.id, undefined);
37-
assert.strictEqual(selected.job.getStatus(), JobStatus.Ready);
36+
assert.strictEqual(selected.job.getStatus(), "ready");
3837

3938
// Close the job and see things go away
4039
JobManager.closeJob(JobManager.selectedJob);

src/views/jobManager/jobManagerView.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { SelfCodesQuickPickItem } from "./selfCodes/selfCodesBrowser";
1111
import { updateStatusBar } from "./statusBar";
1212
import { selfCodesResultsView } from "./selfCodes/selfCodesResultsView";
1313
import { setCancelButtonVisibility } from "../results";
14-
import { JDBCOptions, TransactionEndType, ServerTraceDest, ServerTraceLevel, JobStatus } from "@ibm/mapepire-js/dist/src/types";
14+
import { JDBCOptions } from "@ibm/mapepire-js/dist/src/types";
1515

1616
const selectJobCommand = `vscode-db2i.jobManager.selectJob`;
1717
const activeColor = new vscode.ThemeColor(`minimapGutter.addedBackground`);
@@ -69,10 +69,10 @@ export class JobManagerView implements TreeDataProvider<any> {
6969

7070
switch (decision) {
7171
case `Commit and end`:
72-
await selected.job.endTransaction(TransactionEndType.COMMIT);
72+
await selected.job.endTransaction("commit");
7373
break;
7474
case `Rollback and end`:
75-
await selected.job.endTransaction(TransactionEndType.ROLLBACK);
75+
await selected.job.endTransaction("rollback");
7676
break;
7777
default:
7878
// Actually... don't end the job
@@ -201,7 +201,7 @@ export class JobManagerView implements TreeDataProvider<any> {
201201

202202
ServerComponent.writeOutput(`Enabling tracing for ${selected.name} (${selected.job.id})`, true);
203203

204-
selected.job.setTraceConfig(ServerTraceDest.IN_MEM, ServerTraceLevel.DATASTREAM);
204+
selected.job.setTraceConfig("IN_MEM", "DATASTREAM");
205205
}
206206
}),
207207

@@ -243,7 +243,7 @@ export class JobManagerView implements TreeDataProvider<any> {
243243
let selected = id ? JobManager.getJob(id) : JobManager.getSelection();
244244
if (selected) {
245245
if (selected.job.underCommitControl()) {
246-
const result = await selected.job.endTransaction(TransactionEndType.COMMIT);
246+
const result = await selected.job.endTransaction("commit");
247247
if (!result.success) {
248248
vscode.window.showErrorMessage(`Failed to commit.` + result.error);
249249
}
@@ -259,7 +259,7 @@ export class JobManagerView implements TreeDataProvider<any> {
259259
if (selected) {
260260
if (selected.job.underCommitControl()) {
261261
try {
262-
const result = await selected.job.endTransaction(TransactionEndType.ROLLBACK);
262+
const result = await selected.job.endTransaction("rollback");
263263
if (!result.success) {
264264
vscode.window.showErrorMessage(`Failed to rollback. ` + result.error);
265265
}
@@ -300,7 +300,7 @@ export class JobManagerView implements TreeDataProvider<any> {
300300

301301
const selectedJob = JobManager.getSelection();
302302

303-
setCancelButtonVisibility(selectedJob && selectedJob.job.getStatus() === JobStatus.Busy);
303+
setCancelButtonVisibility(selectedJob && selectedJob.job.getStatus() === "busy");
304304
commands.executeCommand(`setContext`, `vscode-db2i:jobManager.hasJob`, selectedJob !== undefined);
305305
}
306306

src/views/jobManager/selfCodes/selfCodesResultsView.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { SQLExample } from "../../examples";
1616
import { JobInfo } from "../../../connection/manager";
1717
import { OldSQLJob } from "../../../connection/sqlJob";
1818
import { JobLogEntry } from "../../../connection/types";
19-
import { JobStatus } from "@ibm/mapepire-js/dist/src/types";
2019

2120
type ChangeTreeDataEventType = SelfCodeTreeItem | undefined | null | void;
2221

@@ -84,7 +83,7 @@ export class selfCodesResultsView implements TreeDataProvider<any> {
8483
if (this.autoRefresh) {
8584
const selected = JobManager.getSelection();
8685
// Don't refresh if the job is busy.
87-
if ((selected && selected.job.getStatus() === JobStatus.Ready) || selected === undefined) {
86+
if ((selected && selected.job.getStatus() === "ready") || selected === undefined) {
8887
this.refresh();
8988
}
9089
}

0 commit comments

Comments
 (0)