Skip to content

Commit e662e47

Browse files
wolfboysbenjobs
andauthored
[Improve] FE job dependency component improvements (#3373)
* [Improve] FE job dependency component improvements * [Improve] MavenTool support mirror|proxy * [Improve] FE dependency component get latest value bug fixed * [Improve] resolve maven artifacts bug fixed. --------- Co-authored-by: benjobs <benjobx@gmail.com>
1 parent 5d381d8 commit e662e47

File tree

14 files changed

+126
-55
lines changed

14 files changed

+126
-55
lines changed

.mvn/wrapper/MavenWrapperHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ protected PasswordAuthentication getPasswordAuthentication() {
9898
log(" - Downloader complete");
9999
}
100100

101-
public static String getFileMd5(String path) throws Exception {
101+
private static String getFileMd5(String path) throws Exception {
102102
MessageDigest md5 = MessageDigest.getInstance("MD5");
103103
try (FileInputStream inputStream = new FileInputStream(path)) {
104104
byte[] buffer = new byte[1024];

streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,12 @@ public boolean isCustomCodeJob() {
462462
return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType());
463463
}
464464

465+
@JsonIgnore
466+
public boolean isApacheFlinkCustomCodeJob() {
467+
return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType())
468+
&& getApplicationType() == ApplicationType.APACHE_FLINK;
469+
}
470+
465471
@JsonIgnore
466472
public boolean isUploadJob() {
467473
return isCustomCodeJob() && ResourceFrom.UPLOAD.getValue().equals(this.getResourceFrom());

streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ private void prepareJars(Application app) throws IOException {
378378

379379
FsOperator localFS = FsOperator.lfs();
380380
// 1. copy jar to local upload dir
381-
if (app.isFlinkSqlJob() || app.isUploadJob()) {
381+
if (app.isFlinkSqlJob() || app.isApacheFlinkCustomCodeJob()) {
382382
if (!app.getMavenDependency().getJar().isEmpty()) {
383383
for (String jar : app.getMavenDependency().getJar()) {
384384
File localJar = new File(WebUtils.getAppTempDir(), jar);
@@ -393,7 +393,7 @@ private void prepareJars(Application app) throws IOException {
393393
}
394394
}
395395

396-
if (app.isCustomCodeJob()) {
396+
if (app.isApacheFlinkCustomCodeJob()) {
397397
// customCode upload jar to appHome...
398398
FsOperator fsOperator = app.getFsOperator();
399399
ResourceFrom resourceFrom = ResourceFrom.of(app.getResourceFrom());
@@ -437,7 +437,15 @@ private void prepareJars(Application app) throws IOException {
437437
if (!app.getMavenDependency().getPom().isEmpty()) {
438438
Set<Artifact> artifacts =
439439
app.getMavenDependency().getPom().stream()
440-
.filter(x -> !new File(localUploadDIR, x.artifactName()).exists())
440+
.filter(
441+
dep -> {
442+
File file = new File(localUploadDIR, dep.artifactName());
443+
if (file.exists()) {
444+
dependencyJars.add(file);
445+
return false;
446+
}
447+
return true;
448+
})
441449
.map(
442450
pom ->
443451
new Artifact(

streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -852,7 +852,7 @@ public boolean update(Application appParam) {
852852

853853
application.setRelease(ReleaseState.NEED_RELEASE.get());
854854

855-
if (application.isUploadJob()) {
855+
if (application.isApacheFlinkCustomCodeJob()) {
856856
MavenDependency thisDependency = MavenDependency.of(appParam.getDependency());
857857
MavenDependency targetDependency = MavenDependency.of(application.getDependency());
858858

streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,9 @@
201201
} else {
202202
params['jar'] = values.jar || null;
203203
params['mainClass'] = values.mainClass || null;
204+
params['dependency'] = await getDependency();
204205
}
205-
handleCreateApp(params);
206+
await handleCreateApp(params);
206207
} else {
207208
// from upload
208209
Object.assign(params, {
@@ -212,13 +213,13 @@
212213
mainClass: values.mainClass,
213214
dependency: await getDependency(),
214215
});
215-
handleCreateApp(params);
216+
await handleCreateApp(params);
216217
}
217218
}
218219
}
219220
async function getDependency() {
220221
// Trigger a pom confirmation operation.
221-
unref(dependencyRef)?.handleApplyPom();
222+
await unref(dependencyRef)?.handleApplyPom();
222223
// common params...
223224
const dependency: { pom?: string; jar?: string } = {};
224225
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;

streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,9 @@
144144
}
145145
146146
/* Handling update parameters */
147-
function handleAppUpdate(values: Recordable) {
147+
async function handleAppUpdate(values: Recordable) {
148148
// Trigger a pom confirmation operation.
149-
unref(dependencyRef)?.handleApplyPom();
149+
await unref(dependencyRef)?.handleApplyPom();
150150
// common params...
151151
const dependency: { pom?: string; jar?: string } = {};
152152
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
@@ -173,7 +173,7 @@
173173
: JSON.stringify(dependency),
174174
};
175175
handleSubmitParams(params, values, k8sTemplate);
176-
handleUpdateApp(params);
176+
await handleUpdateApp(params);
177177
} catch (error) {
178178
submitLoading.value = false;
179179
}

streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,10 @@
176176
}
177177
}
178178
179-
function handleSubmitSQL(values: Recordable) {
179+
async function handleSubmitSQL(values: Recordable) {
180180
try {
181181
// Trigger a pom confirmation operation.
182-
unref(dependencyRef)?.handleApplyPom();
182+
await unref(dependencyRef)?.handleApplyPom();
183183
// common params...
184184
const dependency: { pom?: string; jar?: string } = {};
185185
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
@@ -212,7 +212,7 @@
212212
: JSON.stringify(dependency),
213213
};
214214
handleSubmitParams(params, values, k8sTemplate);
215-
handleUpdateApp(params);
215+
await handleUpdateApp(params);
216216
} catch (error) {
217217
createMessage.error('edit error');
218218
submitLoading.value = false;

streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
const { t } = useI18n();
7676
const defaultValue = '';
7777
const { Swal } = useMessage();
78-
const { onChange, setContent } = useMonaco(pomBox, {
78+
const { onChange, setContent, getContent } = useMonaco(pomBox, {
7979
language: 'xml',
8080
code: props.value || defaultValue,
8181
options: {
@@ -106,7 +106,8 @@
106106
const classifierExp = /<classifier>([\s\S]*?)<\/classifier>/;
107107
const exclusionsExp = /<exclusions>([\s\S]*?)<\/exclusions>/;
108108
const invalidArtifact: Array<string> = [];
109-
props.value
109+
const propsValue = await getContent();
110+
propsValue
110111
.split('</dependency>')
111112
.filter((x) => x.replace(/\\s+/, '') !== '')
112113
.forEach((dep) => {
@@ -217,8 +218,7 @@
217218
/* load history config records */
218219
async function handleReloadHistoryUploads() {
219220
selectedHistoryUploadJars.value = [];
220-
const res = await fetchUploadJars();
221-
historyUploadJars.value = res;
221+
historyUploadJars.value = await fetchUploadJars();
222222
}
223223
224224
const filteredHistoryUploadJarsOptions = computed(() => {
@@ -291,7 +291,7 @@
291291
<Tabs type="card" v-model:activeKey="activeTab" class="pom-card">
292292
<TabPane key="pom" tab="Maven pom">
293293
<div class="relative">
294-
<div ref="pomBox" class="pom-box syntax-true" style="height: 300px"></div>
294+
<div ref="pomBox" class="pom-box syntax-true" style="height: 330px"></div>
295295
<a-button type="primary" class="apply-pom" @click="handleApplyPom()">
296296
{{ t('common.apply') }}
297297
</a-button>

streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,7 @@ import { fetchFlinkEnv } from '/@/api/flink/setting/flinkEnv';
4949
import { FlinkEnv } from '/@/api/flink/setting/types/flinkEnv.type';
5050
import { AlertSetting } from '/@/api/flink/setting/types/alert.type';
5151
import { FlinkCluster } from '/@/api/flink/setting/types/flinkCluster.type';
52-
import {
53-
AppTypeEnum,
54-
ClusterStateEnum,
55-
ExecModeEnum,
56-
JobTypeEnum,
57-
ResourceFromEnum,
58-
} from '/@/enums/flinkEnum';
52+
import { AppTypeEnum, ClusterStateEnum, ExecModeEnum, JobTypeEnum } from '/@/enums/flinkEnum';
5953
import { isK8sExecMode } from '../utils';
6054
import { useI18n } from '/@/hooks/web/useI18n';
6155
import { fetchCheckHadoop } from '/@/api/flink/setting';
@@ -125,21 +119,6 @@ export const useCreateAndEditSchema = (
125119
},
126120
rules: [{ required: true, message: t('flink.app.addAppTips.flinkSqlIsRequiredMessage') }],
127121
},
128-
{
129-
field: 'dependency',
130-
label: t('flink.app.dependency'),
131-
component: 'Input',
132-
slot: 'dependency',
133-
ifShow: ({ values }) => {
134-
if (edit?.appId) {
135-
return values.jobType == JobTypeEnum.SQL
136-
? true
137-
: values.resourceFrom == ResourceFromEnum.UPLOAD;
138-
} else {
139-
return values?.jobType == 'sql' ? true : values?.resourceFrom != 'cvs';
140-
}
141-
},
142-
},
143122
{ field: 'configOverride', label: '', component: 'Input', show: false },
144123
{
145124
field: 'isSetConfig',

streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,15 @@ export const useCreateSchema = (dependencyRef: Ref) => {
242242
values.appType == String(AppTypeEnum.APACHE_FLINK),
243243
rules: [{ required: true, message: t('flink.app.addAppTips.mainClassIsRequiredMessage') }],
244244
},
245+
{
246+
field: 'dependency',
247+
label: t('flink.app.dependency'),
248+
component: 'Input',
249+
slot: 'dependency',
250+
ifShow: ({ values }) => {
251+
return values?.jobType == 'sql' ? true : values?.appType == AppTypeEnum.APACHE_FLINK;
252+
},
253+
},
245254
{
246255
field: 'config',
247256
label: t('flink.app.appConf'),

0 commit comments

Comments
 (0)