17
17
18
18
package org .apache .seatunnel .connectors .seatunnel .elasticsearch .catalog ;
19
19
20
+ import org .apache .seatunnel .api .table .catalog .Column ;
20
21
import org .apache .seatunnel .api .table .catalog .DataTypeConvertor ;
21
- import org .apache .seatunnel .api .table .type . BasicType ;
22
- import org .apache .seatunnel .api .table .type . LocalTimeType ;
22
+ import org .apache .seatunnel .api .table .catalog . PhysicalColumn ;
23
+ import org .apache .seatunnel .api .table .converter . BasicTypeDefine ;
23
24
import org .apache .seatunnel .api .table .type .SeaTunnelDataType ;
24
- import org .apache .seatunnel .api . table . type . SqlType ;
25
+ import org .apache .seatunnel .connectors . seatunnel . elasticsearch . client . EsType ;
25
26
26
27
import com .google .auto .service .AutoService ;
27
28
28
29
import java .util .Map ;
29
30
30
31
import static com .google .common .base .Preconditions .checkNotNull ;
31
32
33
+ /** @deprecated instead by {@link ElasticSearchTypeConverter} */
34
+ @ Deprecated
32
35
@ AutoService (DataTypeConvertor .class )
33
36
public class ElasticSearchDataTypeConvertor implements DataTypeConvertor <String > {
34
37
35
- public static final String STRING = "string" ;
36
- public static final String KEYWORD = "keyword" ;
37
- public static final String TEXT = "text" ;
38
- public static final String BOOLEAN = "boolean" ;
39
- public static final String BYTE = "byte" ;
40
- public static final String SHORT = "short" ;
41
- public static final String INTEGER = "integer" ;
42
- public static final String LONG = "long" ;
43
- public static final String FLOAT = "float" ;
44
- public static final String HALF_FLOAT = "half_float" ;
45
- public static final String DOUBLE = "double" ;
46
- public static final String DATE = "date" ;
47
-
48
38
@ Override
49
39
public SeaTunnelDataType <?> toSeaTunnelType (String field , String connectorDataType ) {
50
40
return toSeaTunnelType (field , connectorDataType , null );
@@ -54,34 +44,14 @@ public SeaTunnelDataType<?> toSeaTunnelType(String field, String connectorDataTy
54
44
public SeaTunnelDataType <?> toSeaTunnelType (
55
45
String field , String connectorDataType , Map <String , Object > dataTypeProperties ) {
56
46
checkNotNull (connectorDataType , "connectorDataType can not be null" );
57
- switch (connectorDataType ) {
58
- case STRING :
59
- return BasicType .STRING_TYPE ;
60
- case KEYWORD :
61
- return BasicType .STRING_TYPE ;
62
- case TEXT :
63
- return BasicType .STRING_TYPE ;
64
- case BOOLEAN :
65
- return BasicType .BOOLEAN_TYPE ;
66
- case BYTE :
67
- return BasicType .BYTE_TYPE ;
68
- case SHORT :
69
- return BasicType .SHORT_TYPE ;
70
- case INTEGER :
71
- return BasicType .INT_TYPE ;
72
- case LONG :
73
- return BasicType .LONG_TYPE ;
74
- case FLOAT :
75
- return BasicType .FLOAT_TYPE ;
76
- case HALF_FLOAT :
77
- return BasicType .FLOAT_TYPE ;
78
- case DOUBLE :
79
- return BasicType .DOUBLE_TYPE ;
80
- case DATE :
81
- return LocalTimeType .LOCAL_DATE_TIME_TYPE ;
82
- default :
83
- return BasicType .STRING_TYPE ;
84
- }
47
+ BasicTypeDefine <EsType > typeDefine =
48
+ BasicTypeDefine .<EsType >builder ()
49
+ .name (field )
50
+ .columnType (connectorDataType )
51
+ .dataType (connectorDataType )
52
+ .build ();
53
+
54
+ return ElasticSearchTypeConverter .INSTANCE .convert (typeDefine ).getDataType ();
85
55
}
86
56
87
57
@ Override
@@ -90,29 +60,14 @@ public String toConnectorType(
90
60
SeaTunnelDataType <?> seaTunnelDataType ,
91
61
Map <String , Object > dataTypeProperties ) {
92
62
checkNotNull (seaTunnelDataType , "seaTunnelDataType can not be null" );
93
- SqlType sqlType = seaTunnelDataType .getSqlType ();
94
- switch (sqlType ) {
95
- case STRING :
96
- return STRING ;
97
- case BOOLEAN :
98
- return BOOLEAN ;
99
- case BYTES :
100
- return BYTE ;
101
- case TINYINT :
102
- return SHORT ;
103
- case INT :
104
- return INTEGER ;
105
- case BIGINT :
106
- return LONG ;
107
- case FLOAT :
108
- return FLOAT ;
109
- case DOUBLE :
110
- return DOUBLE ;
111
- case TIMESTAMP :
112
- return DATE ;
113
- default :
114
- return STRING ;
115
- }
63
+ Column column =
64
+ PhysicalColumn .builder ()
65
+ .name (field )
66
+ .dataType (seaTunnelDataType )
67
+ .nullable (true )
68
+ .build ();
69
+ BasicTypeDefine <EsType > typeDefine = ElasticSearchTypeConverter .INSTANCE .reconvert (column );
70
+ return typeDefine .getColumnType ();
116
71
}
117
72
118
73
@ Override
0 commit comments