This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch deps
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git

commit 1a0eb7f806dd7d836a7c09b44bf5afe9f8492188
Author: benjobs <[email protected]>
AuthorDate: Sat Dec 2 17:36:00 2023 +0800

    [Improve] FE job dependency component improvements
---
 .../console/core/entity/Application.java           |  6 ++++++
 .../core/service/impl/AppBuildPipeServiceImpl.java |  4 ++--
 .../core/service/impl/ApplicationServiceImpl.java  |  2 +-
 .../src/views/flink/app/Add.vue                    |  1 +
 .../src/views/flink/app/components/Dependency.vue  |  2 +-
 .../flink/app/hooks/useCreateAndEditSchema.ts      | 23 +---------------------
 .../src/views/flink/app/hooks/useCreateSchema.ts   |  9 +++++++++
 .../src/views/flink/app/hooks/useEditStreamPark.ts | 14 +++++++++++--
 .../src/views/flink/app/hooks/useFlinkRender.tsx   | 11 +++++++++--
 .../src/views/flink/app/styles/Add.less            |  2 --
 10 files changed, 42 insertions(+), 32 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
index 1bbee1382..e375d521a 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
@@ -462,6 +462,12 @@ public class Application implements Serializable {
     return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType());
   }
 
+  @JsonIgnore
+  public boolean isApacheFlinkCustomCodeJob() {
+    return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType())
+        && getApplicationType() == ApplicationType.APACHE_FLINK;
+  }
+
   @JsonIgnore
   public boolean isUploadJob() {
     return isCustomCodeJob() && 
ResourceFrom.UPLOAD.getValue().equals(this.getResourceFrom());
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
index 59c0e108f..fb5937215 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
@@ -378,7 +378,7 @@ public class AppBuildPipeServiceImpl
 
     FsOperator localFS = FsOperator.lfs();
     // 1. copy jar to local upload dir
-    if (app.isFlinkSqlJob() || app.isUploadJob()) {
+    if (app.isFlinkSqlJob() || app.isApacheFlinkCustomCodeJob()) {
       if (!app.getMavenDependency().getJar().isEmpty()) {
         for (String jar : app.getMavenDependency().getJar()) {
           File localJar = new File(WebUtils.getAppTempDir(), jar);
@@ -393,7 +393,7 @@ public class AppBuildPipeServiceImpl
       }
     }
 
-    if (app.isCustomCodeJob()) {
+    if (app.isApacheFlinkCustomCodeJob()) {
       // customCode upload jar to appHome...
       FsOperator fsOperator = app.getFsOperator();
       ResourceFrom resourceFrom = ResourceFrom.of(app.getResourceFrom());
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
index 0d1d45785..8b8b5b53b 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
@@ -852,7 +852,7 @@ public class ApplicationServiceImpl extends 
ServiceImpl<ApplicationMapper, Appli
 
     application.setRelease(ReleaseState.NEED_RELEASE.get());
 
-    if (application.isUploadJob()) {
+    if (application.isApacheFlinkCustomCodeJob()) {
       MavenDependency thisDependency = 
MavenDependency.of(appParam.getDependency());
       MavenDependency targetDependency = 
MavenDependency.of(application.getDependency());
 
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue 
b/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
index 071231e0c..9ac4b29b0 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
@@ -201,6 +201,7 @@
         } else {
           params['jar'] = values.jar || null;
           params['mainClass'] = values.mainClass || null;
+          params['dependency'] = await getDependency();
         }
         handleCreateApp(params);
       } else {
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
index 5c9686a45..684d4ea60 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
@@ -291,7 +291,7 @@
   <Tabs type="card" v-model:activeKey="activeTab" class="pom-card">
     <TabPane key="pom" tab="Maven pom">
       <div class="relative">
-        <div ref="pomBox" class="pom-box syntax-true" style="height: 
300px"></div>
+        <div ref="pomBox" class="pom-box syntax-true" style="height: 
330px"></div>
         <a-button type="primary" class="apply-pom" @click="handleApplyPom()">
           {{ t('common.apply') }}
         </a-button>
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
index 2a1a3b915..8a6942398 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
@@ -49,13 +49,7 @@ import { fetchFlinkEnv } from 
'/@/api/flink/setting/flinkEnv';
 import { FlinkEnv } from '/@/api/flink/setting/types/flinkEnv.type';
 import { AlertSetting } from '/@/api/flink/setting/types/alert.type';
 import { FlinkCluster } from '/@/api/flink/setting/types/flinkCluster.type';
-import {
-  AppTypeEnum,
-  ClusterStateEnum,
-  ExecModeEnum,
-  JobTypeEnum,
-  ResourceFromEnum,
-} from '/@/enums/flinkEnum';
+import { AppTypeEnum, ClusterStateEnum, ExecModeEnum, JobTypeEnum } from 
'/@/enums/flinkEnum';
 import { isK8sExecMode } from '../utils';
 import { useI18n } from '/@/hooks/web/useI18n';
 import { fetchCheckHadoop } from '/@/api/flink/setting';
@@ -125,21 +119,6 @@ export const useCreateAndEditSchema = (
         },
         rules: [{ required: true, message: 
t('flink.app.addAppTips.flinkSqlIsRequiredMessage') }],
       },
-      {
-        field: 'dependency',
-        label: t('flink.app.dependency'),
-        component: 'Input',
-        slot: 'dependency',
-        ifShow: ({ values }) => {
-          if (edit?.appId) {
-            return values.jobType == JobTypeEnum.SQL
-              ? true
-              : values.resourceFrom == ResourceFromEnum.UPLOAD;
-          } else {
-            return values?.jobType == 'sql' ? true : values?.resourceFrom != 
'cvs';
-          }
-        },
-      },
       { field: 'configOverride', label: '', component: 'Input', show: false },
       {
         field: 'isSetConfig',
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
index 4ef2557b3..f12392303 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
@@ -242,6 +242,15 @@ export const useCreateSchema = (dependencyRef: Ref) => {
           values.appType == String(AppTypeEnum.APACHE_FLINK),
         rules: [{ required: true, message: 
t('flink.app.addAppTips.mainClassIsRequiredMessage') }],
       },
+      {
+        field: 'dependency',
+        label: t('flink.app.dependency'),
+        component: 'Input',
+        slot: 'dependency',
+        ifShow: ({ values }) => {
+          return values?.jobType == 'sql' ? true : values?.appType == 
AppTypeEnum.APACHE_FLINK;
+        },
+      },
       {
         field: 'config',
         label: t('flink.app.appConf'),
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
index a4bb6c15f..3ad8db2cd 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
@@ -16,7 +16,7 @@
  */
 import { FormSchema } from '/@/components/Table';
 import { computed, h, Ref, ref, unref } from 'vue';
-import { ExecModeEnum, JobTypeEnum, UseStrategyEnum } from 
'/@/enums/flinkEnum';
+import { AppTypeEnum, ExecModeEnum, JobTypeEnum, UseStrategyEnum } from 
'/@/enums/flinkEnum';
 import { useCreateAndEditSchema } from './useCreateAndEditSchema';
 import { renderSqlHistory } from './useFlinkRender';
 import { Alert } from 'ant-design-vue';
@@ -141,7 +141,6 @@ export const useEditStreamParkSchema = (
         ifShow: ({ model, values }) => values.jobType != JobTypeEnum.SQL && 
model.projectName,
       },
       { field: 'project', label: 'ProjectId', component: 'Input', show: false 
},
-
       {
         field: 'module',
         label: 'Application',
@@ -149,6 +148,17 @@ export const useEditStreamParkSchema = (
         render: ({ model }) => h(Alert, { message: model.module, type: 'info' 
}),
         ifShow: ({ model, values }) => values.jobType != JobTypeEnum.SQL && 
model.module,
       },
+      {
+        field: 'dependency',
+        label: t('flink.app.dependency'),
+        component: 'Input',
+        slot: 'dependency',
+        ifShow: ({ values }) => {
+          return values.jobType == JobTypeEnum.SQL
+            ? true
+            : values?.appType == AppTypeEnum.APACHE_FLINK;
+        },
+      },
       { field: 'configId', label: 'configId', component: 'Input', show: false 
},
       { field: 'config', label: '', component: 'Input', show: false },
       { field: 'strategy', label: '', component: 'Input', show: false },
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
index ba00e667a..851778227 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
@@ -39,7 +39,7 @@ import { handleConfTemplate } from '/@/api/flink/config';
 import { decodeByBase64 } from '/@/utils/cipher';
 import { useMessage } from '/@/hooks/web/useMessage';
 import { SelectValue } from 'ant-design-vue/lib/select';
-import { CandidateTypeEnum, FailoverStrategyEnum } from '/@/enums/flinkEnum';
+import { AppTypeEnum, CandidateTypeEnum, FailoverStrategyEnum } from 
'/@/enums/flinkEnum';
 import { useI18n } from '/@/hooks/web/useI18n';
 import { fetchYarnQueueList } from '/@/api/flink/setting/yarnQueue';
 import { ApiSelect } from '/@/components/Form';
@@ -507,10 +507,17 @@ export const renderCompareSelectTag = (ver: any) => {
   );
 };
 
+function handleResourceFrom(model: Recordable, value: string) {
+  model.resourceFrom = value;
+  if (value == 'upload') {
+    model.appType = String(AppTypeEnum.APACHE_FLINK);
+  }
+}
+
 export const renderResourceFrom = (model: Recordable) => {
   return (
     <Select
-      onChange={(value: string) => (model.resourceFrom = value)}
+      onChange={(value: string) => handleResourceFrom(model, value)}
       value={model.resourceFrom}
       placeholder="Please select resource from"
     >
diff --git 
a/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
 
b/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
index 10e19a1e3..5159a19b8 100644
--- 
a/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
+++ 
b/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
@@ -28,9 +28,7 @@
   }
 }
 
-.sql-box,
 .pom-box {
-  height: 550px;
   width: 100%;
   overflow: hidden;
 }

Reply via email to