You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/02/19 03:51:43 UTC

[incubator-inlong] branch master updated: [INLONG-2529][Manager] Get NumberFormatException when creating a new stream (#2585)

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

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new a050032  [INLONG-2529][Manager] Get NumberFormatException when creating a new stream (#2585)
a050032 is described below

commit a050032944c8898deabc7f389ad6974f21eb0305
Author: ciscozhou <45...@users.noreply.github.com>
AuthorDate: Sat Feb 19 11:51:39 2022 +0800

    [INLONG-2529][Manager] Get NumberFormatException when creating a new stream (#2585)
---
 .../src/components/MetaData/StorageHive.tsx        | 124 ++++++++++++++++++++-
 inlong-dashboard/src/locales/cn.json               |   9 +-
 inlong-dashboard/src/locales/en.json               |   7 +-
 3 files changed, 135 insertions(+), 5 deletions(-)

diff --git a/inlong-dashboard/src/components/MetaData/StorageHive.tsx b/inlong-dashboard/src/components/MetaData/StorageHive.tsx
index 36b0153..6402e93 100644
--- a/inlong-dashboard/src/components/MetaData/StorageHive.tsx
+++ b/inlong-dashboard/src/components/MetaData/StorageHive.tsx
@@ -54,7 +54,7 @@ const hiveFieldTypes = [
 
 export const hiveTableColumns = [
   {
-    title: i18n.t('components.AccessHelper.StorageMetaData.Hive.Db'),
+    title: i18n.t('components.AccessHelper.StorageMetaData.Hive.TargetDb'),
     dataIndex: 'dbName',
   },
   {
@@ -120,7 +120,7 @@ export const getHiveForm: GetStorageFormFieldsType = (
   const fileds = [
     {
       type: 'input',
-      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.Db'),
+      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.TargetDb'),
       name: 'dbName',
       rules: [{ required: true }],
       props: {
@@ -219,6 +219,126 @@ export const getHiveForm: GetStorageFormFieldsType = (
       },
     },
     {
+      name: 'fileFormat',
+      type: 'radio',
+      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.FileFormat'),
+      initialValue: 'TextFile',
+      rules: [{ required: true }],
+      props: {
+        options: [
+          {
+            label: 'TextFile',
+            value: 'TextFile',
+          },
+          {
+            label: 'SequenceFile',
+            value: 'SequenceFile',
+          },
+          // {
+          //   label: 'RcFile',
+          //   value: 'RcFile',
+          // },
+          {
+            label: 'OrcFile',
+            value: 'OrcFile',
+          },
+          {
+            label: 'Parquet',
+            value: 'Parquet',
+          },
+          {
+            label: 'Avro',
+            value: 'Avro',
+          },
+        ],
+        disabled: isEdit && [110, 130].includes(currentValues?.status),
+      },
+    },
+    {
+      name: 'storagePeriod',
+      type: 'inputnumber',
+      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.StoragePeriod'),
+      tooltip: 'Optional range: -1 ~ 3600, -1 means permanent storage',
+      rules: [{ required: true }],
+      suffix: i18n.t('components.AccessHelper.StorageMetaData.Hive.Day'),
+      props: {
+        min: -1,
+        max: 3600,
+        disabled: isEdit && [110, 130].includes(currentValues?.status),
+      },
+    },
+    {
+      name: 'dataEncoding',
+      type: 'radio',
+      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DataEncoding'),
+      initialValue: 'UTF-8',
+      props: {
+        disabled: isEdit && [110, 130].includes(currentValues?.status),
+        options: [
+          {
+            label: 'UTF-8',
+            value: 'UTF-8',
+          },
+          {
+            label: 'GBK',
+            value: 'GBK',
+          },
+        ],
+      },
+      rules: [{ required: true }],
+    },
+    {
+      name: 'dataSeparator',
+      type: 'select',
+      label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DataSeparator'),
+      initialValue: '124',
+      props: {
+        disabled: isEdit && [110, 130].includes(currentValues?.status),
+        dropdownMatchSelectWidth: false,
+        options: [
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.VerticalLine'),
+            value: '124',
+          },
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Comma'),
+            value: '44',
+          },
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DoubleQuotes'),
+            value: '34',
+          },
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Asterisk'),
+            value: '42',
+          },
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Space'),
+            value: '32',
+          },
+          {
+            label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Semicolon'),
+            value: '59',
+          },
+        ],
+        useInput: true,
+        useInputProps: {
+          placeholder: 'ASCII',
+          disabled: isEdit && [110, 130].includes(currentValues?.status),
+        },
+        style: { width: 100 },
+      },
+      rules: [
+        {
+          required: true,
+          type: 'number',
+          transform: val => +val,
+          min: 0,
+          max: 127,
+        } as any,
+      ],
+    },
+    {
       type: (
         <EditableTable
           size="small"
diff --git a/inlong-dashboard/src/locales/cn.json b/inlong-dashboard/src/locales/cn.json
index 49b2be4..b6b3513 100644
--- a/inlong-dashboard/src/locales/cn.json
+++ b/inlong-dashboard/src/locales/cn.json
@@ -23,17 +23,22 @@
   "components.AccessHelper.StorageMetaData.SourceFieldType": "源字段类型",
   "components.AccessHelper.StorageMetaData.SourceFieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
   "components.AccessHelper.StorageMetaData.Hive.WarehousePath": "Warehouse路径",
+  "components.AccessHelper.StorageMetaData.Hive.FileFormat": "落地格式",
+  "components.AccessHelper.StorageMetaData.Hive.StoragePeriod": "数据存储周期",
+  "components.AccessHelper.StorageMetaData.Hive.Day": "天",
+  "components.AccessHelper.StorageMetaData.Hive.DataEncoding": "数据编码",
+  "components.AccessHelper.StorageMetaData.Hive.DataSeparator": "字段分隔符",
+  "components.AccessHelper.StorageMetaData.Hive.TargetDb": "目标库",
   "components.AccessHelper.StorageMetaData.Hive.TargetTable": "目标表",
   "components.AccessHelper.StorageMetaData.Hive.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
   "components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded": "连接成功",
   "components.AccessHelper.StorageMetaData.Hive.ConnectionTest": "连接测试",
-  "components.AccessHelper.StorageMetaData.Hive.Db": "目标库",
   "components.AccessHelper.StorageMetaData.Hive.FieldName": "字段名",
   "components.AccessHelper.StorageMetaData.Hive.FieldType": "字段类型",
   "components.AccessHelper.StorageMetaData.Hive.First-levelPartition": "一级分区",
   "components.AccessHelper.StorageMetaData.Hive.ConnectionFailed": "连接失败",
   "components.AccessHelper.StorageMetaData.Hive.Username": "用户名",
-  "components.AccessHelper.StorageMetaData.Hive.Password": "Password",
+  "components.AccessHelper.StorageMetaData.Hive.Password": "密码",
   "components.AccessHelper.StorageMetaData.Hive.FieldDescription": "字段描述",
   "components.AccessHelper.StorageMetaData.Clickhouse.Cluster": "集群",
   "components.AccessHelper.StorageMetaData.Clickhouse.Db": "目标库名",
diff --git a/inlong-dashboard/src/locales/en.json b/inlong-dashboard/src/locales/en.json
index f696c92..7f501fd 100644
--- a/inlong-dashboard/src/locales/en.json
+++ b/inlong-dashboard/src/locales/en.json
@@ -23,11 +23,16 @@
   "components.AccessHelper.StorageMetaData.SourceFieldType": "SourceFieldType",
   "components.AccessHelper.StorageMetaData.SourceFieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
   "components.AccessHelper.StorageMetaData.Hive.WarehousePath": "Warehouse path",
+  "components.AccessHelper.StorageMetaData.Hive.FileFormat": "File format",
+  "components.AccessHelper.StorageMetaData.Hive.StoragePeriod": "Storage period",
+  "components.AccessHelper.StorageMetaData.Hive.Day": "Day(s)",
+  "components.AccessHelper.StorageMetaData.Hive.DataEncoding": "Data encoding",
+  "components.AccessHelper.StorageMetaData.Hive.DataSeparator": "Data separator",
+  "components.AccessHelper.StorageMetaData.Hive.TargetDb": "Target DB",
   "components.AccessHelper.StorageMetaData.Hive.TargetTable": "Target table",
   "components.AccessHelper.StorageMetaData.Hive.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
   "components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded": "Connection succeeded",
   "components.AccessHelper.StorageMetaData.Hive.ConnectionTest": "Connection test",
-  "components.AccessHelper.StorageMetaData.Hive.Db": "DB",
   "components.AccessHelper.StorageMetaData.Hive.FieldName": "FieldName",
   "components.AccessHelper.StorageMetaData.Hive.FieldType": "FieldType",
   "components.AccessHelper.StorageMetaData.Hive.First-levelPartition": "First-level partition",