Skip to content

Commit 84a43a7

Browse files
committed
fix some bug for dataflow parser,datavane/tis#429
1 parent d7ccf70 commit 84a43a7

30 files changed

Lines changed: 880 additions & 688 deletions

.idea/workspace.xml

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

src/base/applist.component.ts

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ import {BasicFormComponent, CurrentCollection} from '../common/basic.form.compon
2323

2424
import {Pager} from '../common/pagination.component';
2525
import {NzModalService} from "ng-zorro-antd/modal";
26-
import {Application, AppType} from "../common/application";
26+
import {Application} from "../common/application";
2727
import {LatestSelectedIndex} from "../common/LatestSelectedIndex";
2828
import {LocalStorageService} from "angular-2-local-storage";
2929
import {DataxAddStep7Component} from "./datax.add.step7.confirm.component";
3030
import {StepType} from "../common/steps.component";
3131
import {Descriptor, SavePluginEvent} from "../common/tis.plugin";
32-
import {PluginsComponent} from "../common/plugins.component";
3332
import {DataxDTO} from "./datax.add.component";
3433

3534

@@ -84,7 +83,7 @@ import {DataxDTO} from "./datax.add.component";
8483
<!-- </page-header>-->
8584
8685
87-
<tis-col title="管道" width="14">
86+
<tis-col title="实例" width="14" (search)="filterByAppName($event)">
8887
<ng-template let-app='r'>
8988
9089
<button nz-button nzType="link" style="cursor: pointer" nzSize="small"
@@ -140,13 +139,15 @@ import {DataxDTO} from "./datax.add.component";
140139
<!-- </li>-->
141140
<!-- </ul>-->
142141
<!-- </nz-dropdown-menu>-->
143-
<tis-plugin-add-btn btnSize="small"
142+
<tis-plugin-add-btn [enableAddplugin]="false" btnSize="small"
144143
[extendPoint]="processorExend"
145144
[descriptors]="processorDescriptors" [initDescriptors]="false">
146145
<tis-plugin-add-btn-extract-item (click)="startEditReader(app)" nz-icon="edit" li-name="Reader">
147146
</tis-plugin-add-btn-extract-item>
148147
<tis-plugin-add-btn-extract-item (click)="startEditWriter(app)" nz-icon="edit" li-name="Writer">
149148
</tis-plugin-add-btn-extract-item>
149+
<tis-plugin-add-btn-extract-item (click)="startDeletePipeline(app)" nz-icon="delete" li-name="删除">
150+
</tis-plugin-add-btn-extract-item>
150151
<i nz-icon nzType="setting" nzTheme="outline"></i>
151152
</tis-plugin-add-btn>
152153
@@ -187,6 +188,18 @@ export class ApplistComponent extends BasicFormComponent implements OnInit {
187188
DataxAddStep7Component.startDataXEdit(this, StepType.UpdateDataxWriter, this.router, this.route, `/x/${app.projectName}/update`, "writer", saveEvent);
188189
}
189190

191+
startDeletePipeline(app: Application) {
192+
// let saveEvent = new SavePluginEvent();
193+
// saveEvent.overwriteHttpHeaderOfAppName(app.projectName);
194+
// DataxAddStep7Component.startDataXEdit(this, StepType.UpdateDataxWriter, this.router, this.route, `/x/${app.projectName}/manage#control`, "writer", saveEvent);
195+
196+
197+
this.router.navigate(["/", "x", app.projectName, "manage"], {
198+
relativeTo: this.route,
199+
fragment: "control"
200+
});
201+
}
202+
190203
ngOnInit(): void {
191204
this.route.queryParams.subscribe((param) => {
192205

@@ -259,13 +272,13 @@ export class ApplistComponent extends BasicFormComponent implements OnInit {
259272
}
260273

261274
toggleOpenAssist(app: Application) {
262-
let a:any = app;
263-
if(!a.openAssist){
264-
this.pageList.forEach((app)=>{
265-
(app as any).openAssist= false;
275+
let a: any = app;
276+
if (!a.openAssist) {
277+
this.pageList.forEach((app) => {
278+
(app as any).openAssist = false;
266279
});
267280
this.tisService.currentApp = new CurrentCollection(0, app.projectName);
268-
}else{
281+
} else {
269282
this.tisService.currentApp = null;
270283
}
271284
a.openAssist = !a.openAssist;

src/base/base.manage-routing.module.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {ApplistComponent} from './applist.component';
2626
import {OperationLogComponent} from '../common/operation.log.component';
2727
import {AddAppStepFlowComponent} from './addapp.step.flow.component';
2828
import {BaseConfigComponent} from "./base-config.component";
29-
import {SnapshotsetComponent} from "../common/snapshotset.component";
29+
// import {SnapshotsetComponent} from "../common/snapshotset.component";
3030
import {SchemaEditVisualizingModelComponent, SchemaXmlEditComponent} from "../corecfg/schema-xml-edit.component";
3131
import {DataxAddComponent} from "./datax.add.component";
3232
import {DataxWorkerComponent} from "./datax.worker.component";
@@ -412,14 +412,14 @@ const basemanageRoutes: Routes = [
412412
path: 'appadd',
413413
component: AddAppStepFlowComponent
414414
},
415-
{ // 配置模版一览
416-
path: 'tpl/snapshotset',
417-
component: SnapshotsetComponent,
418-
data: {
419-
showBreadcrumb: true,
420-
template: true
421-
}
422-
},
415+
// { // 配置模版一览
416+
// path: 'tpl/snapshotset',
417+
// component: SnapshotsetComponent,
418+
// data: {
419+
// showBreadcrumb: true,
420+
// template: true
421+
// }
422+
// },
423423
{
424424
path: 'tpl/xml_conf/:restype/:snapshotid',
425425
component: SchemaXmlEditComponent

src/base/common/datax.common.ts

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
export const KEY_DATAFLOW_PARSER = "数据流分析(EMR)";
2+
3+
/**
4+
* 被选中的列
5+
*/
6+
export interface ISelectedCol {
7+
label: string;
8+
value: string;
9+
checked: boolean;
10+
pk: boolean;
11+
}
12+
13+
export interface ISelectedTabMeta {
14+
15+
tableName: string,
16+
selectableCols: Array<ISelectedCol> // r.bizresult
17+
}
18+
19+
export class DataxProfile {
20+
projectName: string;
21+
recept: string;
22+
dptId: string;
23+
}
24+
25+
// "transformerInfo":[
26+
// {
27+
// "ruleCount":3,
28+
// "tableName":"base"
29+
// }
30+
// ]
31+
export interface TransformerInfo {
32+
ruleCount: number;
33+
tableName: string;
34+
}
35+
36+
export interface DataXCfgFile {
37+
dbFactoryId?: string;
38+
fileName: string;//:"totalpayinfo_0.json"
39+
}
40+
41+
export class AddStep2ComponentCfg {
42+
public readerCptNeed = true;
43+
public headerCaption = 'Reader & Writer类型';
44+
public writerTypeLable = "Writer类型";
45+
public writerPluginTag: string = '';
46+
47+
public stepIndex = 0;
48+
49+
get stepToolbarNeed(): boolean {
50+
return true; //this.readerCptNeed;
51+
}
52+
53+
installableExtension: Array<string> = ['com.qlangtech.tis.datax.impl.DataxReader', 'com.qlangtech.tis.datax.impl.DataxWriter'];
54+
}
55+
56+
export interface DataXCreateProcessMeta {
57+
readerRDBMS: boolean;
58+
readerRDBMSChangeableInLifetime?: boolean;
59+
// DataX Reader 是否有明确的表名
60+
explicitTable: boolean;
61+
62+
// writer 是否符合关系型数据库要求
63+
writerRDBMS: boolean;
64+
// reader 中是否可以选择多个表,例如像elastic这样的writer中对于column的设置比较复杂,需要在writer plugin页面中完成,所以就不能支持在reader中选择多个表了
65+
writerSupportMultiTab: boolean;
66+
}

src/base/datax.add.component.ts

Lines changed: 10 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {ActivatedRoute, Router} from "@angular/router";
3333
import {MultiViewDAG} from "../common/MultiViewDAG";
3434
import {NzModalService} from "ng-zorro-antd/modal";
3535
import {DataxAddStep1Component} from "./datax.add.step1.component";
36-
import {DataxAddStep2Component, DataXReaderWriterEnum} from "./datax.add.step2.component";
36+
import {DataxAddStep2Component} from "./datax.add.step2.component";
3737
import {DataxAddStep3Component} from "./datax.add.step3.component";
3838
import {DataxAddStep4Component} from "./datax.add.step4.component";
3939
import {DataxAddStep5Component} from "./datax.add.step5.component";
@@ -43,10 +43,10 @@ import {DataxAddStep6ColsMetaSetterComponent} from "./datax.add.step6.cols-meta-
4343
import {StepType} from "../common/steps.component";
4444
import {Descriptor} from "../common/tis.plugin";
4545
import {AddAppDefSchemaComponent} from "./addapp-define-schema.component";
46-
import {PluginsComponent} from "../common/plugins.component";
4746
import {NzSafeAny} from "ng-zorro-antd/core/types";
4847
import {TablePojo} from "../offline/table.add.component";
4948
import {Subject} from "rxjs";
49+
import {AddStep2ComponentCfg, DataXCreateProcessMeta, DataxProfile, ISelectedTabMeta} from "./common/datax.common";
5050

5151

5252
@Component({
@@ -76,9 +76,14 @@ export class DataxAddComponent extends AppFormComponent implements AfterViewInit
7676
dto.processMeta = r.bizresult.processMeta;
7777
// this.dto.readerDescriptor = null;
7878
let wdescIt: IterableIterator<Descriptor> = Descriptor.wrapDescriptors(r.bizresult.writerDesc).values();
79-
let rdescIt: IterableIterator<Descriptor> = Descriptor.wrapDescriptors(r.bizresult.readerDesc).values();
8079
dto.writerDescriptor = wdescIt.next().value;
81-
dto.readerDescriptor = rdescIt.next().value;
80+
81+
if (r.bizresult.readerDesc) {
82+
let rdescIt: IterableIterator<Descriptor> = Descriptor.wrapDescriptors(r.bizresult.readerDesc).values();
83+
dto.readerDescriptor = rdescIt.next().value;
84+
}
85+
86+
8287
return dto;
8388
}
8489
});
@@ -181,49 +186,12 @@ export class DataxAddComponent extends AppFormComponent implements AfterViewInit
181186
}
182187

183188

184-
/**
185-
* 被选中的列
186-
*/
187-
export interface ISelectedCol {
188-
label: string;
189-
value: string;
190-
checked: boolean;
191-
pk: boolean;
192-
}
193-
194-
export interface ISelectedTabMeta {
195-
196-
tableName: string,
197-
selectableCols: Array<ISelectedCol> // r.bizresult
198-
}
199-
200-
class DataxProfile {
201-
projectName: string;
202-
recept: string;
203-
dptId: string;
204-
}
205-
206-
export interface DataXCfgFile {
207-
dbFactoryId?: string;
208-
fileName: string;//:"totalpayinfo_0.json"
209-
}
210-
211-
// "transformerInfo":[
212-
// {
213-
// "ruleCount":3,
214-
// "tableName":"base"
215-
// }
216-
// ]
217-
export interface TransformerInfo {
218-
ruleCount: number;
219-
tableName: string;
220-
}
221-
222189
export class DataxDTO {
223190
static KEY_PROCESS_MODEL = 'processModel';
224191
execModel: ExecModel = ExecModel.Create;
225192
public headerStepShow = true;
226193

194+
227195
dataxPipeName: string;
228196
profile: DataxProfile = new DataxProfile();
229197
selectableTabs: Map<string /* table */, ISelectedTabMeta> = new Map();
@@ -279,30 +247,3 @@ export class DataxDTO {
279247
}
280248
}
281249

282-
export class AddStep2ComponentCfg {
283-
public readerCptNeed = true;
284-
public headerCaption = 'Reader & Writer类型';
285-
public writerTypeLable = "Writer类型";
286-
public writerPluginTag: string = '';
287-
288-
public stepIndex = 0;
289-
290-
get stepToolbarNeed(): boolean {
291-
return true; //this.readerCptNeed;
292-
}
293-
294-
installableExtension: Array<string> = ['com.qlangtech.tis.datax.impl.DataxReader', 'com.qlangtech.tis.datax.impl.DataxWriter'];
295-
}
296-
297-
export interface DataXCreateProcessMeta {
298-
readerRDBMS: boolean;
299-
readerRDBMSChangeableInLifetime?: boolean;
300-
// DataX Reader 是否有明确的表名
301-
explicitTable: boolean;
302-
303-
// writer 是否符合关系型数据库要求
304-
writerRDBMS: boolean;
305-
// reader 中是否可以选择多个表,例如像elastic这样的writer中对于column的设置比较复杂,需要在writer plugin页面中完成,所以就不能支持在reader中选择多个表了
306-
writerSupportMultiTab: boolean;
307-
}
308-

0 commit comments

Comments
 (0)