1616 * limitations under the License.
1717 */
1818
19-
20-
2119package com .dtstack .flink .sql .table ;
2220
2321import com .dtstack .flink .sql .util .ClassUtil ;
@@ -46,7 +44,7 @@ public abstract class AbstractTableParser {
4644 private static final String CHAR_TYPE_NO_LENGTH = "CHAR" ;
4745
4846 private static Pattern primaryKeyPattern = Pattern .compile ("(?i)PRIMARY\\ s+KEY\\ s*\\ ((.*)\\ )" );
49- private static Pattern nestJsonFieldKeyPattern = Pattern .compile ("(?i)((@*\\ S+\\ .)*\\ S+)\\ s+(\\ w +)\\ s+AS\\ s+(\\ w+)(\\ s+NOT\\ s+NULL)?$" );
47+ private static Pattern nestJsonFieldKeyPattern = Pattern .compile ("(?i)((@*\\ S+\\ .)*\\ S+)\\ s+(. +)\\ s+AS\\ s+(\\ w+)(\\ s+NOT\\ s+NULL)?$" );
5048 private static Pattern physicalFieldFunPattern = Pattern .compile ("\\ w+\\ ((\\ w+)\\ )$" );
5149 private static Pattern charTypePattern = Pattern .compile ("(?i)CHAR\\ ((\\ d*)\\ )$" );
5250
@@ -84,32 +82,32 @@ public boolean dealKeyPattern(String fieldRow, AbstractTableInfo tableInfo){
8482 return false ;
8583 }
8684
87- public void parseFieldsInfo (String fieldsInfo , AbstractTableInfo tableInfo ){
85+ public void parseFieldsInfo (String fieldsInfo , AbstractTableInfo tableInfo ) {
8886
8987 List <String > fieldRows = DtStringUtil .splitIgnoreQuota (fieldsInfo , ',' );
90- for (String fieldRow : fieldRows ){
88+
89+ for (String fieldRow : fieldRows ) {
9190 fieldRow = fieldRow .trim ();
9291
93- if (StringUtils .isBlank (fieldRow )){
92+ if (StringUtils .isBlank (fieldRow )) {
9493 throw new RuntimeException (String .format ("table [%s],exists field empty." , tableInfo .getName ()));
9594 }
9695
97- String [] filedInfoArr = fieldRow .split ("\\ s+" );
98- if ( filedInfoArr . length < 2 ){
99- throw new RuntimeException ( String .format ("table [%s] field [%s] format error." , tableInfo .getName (), fieldRow ) );
100- }
96+ String [] fieldInfoArr = fieldRow .split ("\\ s+" );
97+
98+ String errorMsg = String .format ("table [%s] field [%s] format error." , tableInfo .getName (), fieldRow );
99+ Preconditions . checkState ( fieldInfoArr . length >= 2 , errorMsg );
101100
102101 boolean isMatcherKey = dealKeyPattern (fieldRow , tableInfo );
103- if (isMatcherKey ){
102+ if (isMatcherKey ) {
104103 continue ;
105104 }
106105
107106 //Compatible situation may arise in space in the fieldName
108- String [] filedNameArr = new String [filedInfoArr .length - 1 ];
109- System .arraycopy (filedInfoArr , 0 , filedNameArr , 0 , filedInfoArr .length - 1 );
107+ String [] filedNameArr = new String [fieldInfoArr .length - 1 ];
108+ System .arraycopy (fieldInfoArr , 0 , filedNameArr , 0 , fieldInfoArr .length - 1 );
110109 String fieldName = String .join (" " , filedNameArr );
111- String fieldType = filedInfoArr [filedInfoArr .length - 1 ].trim ();
112-
110+ String fieldType = fieldInfoArr [fieldInfoArr .length - 1 ].trim ();
113111
114112 Class fieldClass = null ;
115113 AbstractTableInfo .FieldExtraInfo fieldExtraInfo = null ;
@@ -123,7 +121,7 @@ public void parseFieldsInfo(String fieldsInfo, AbstractTableInfo tableInfo){
123121 fieldClass = dbTypeConvertToJavaType (fieldType );
124122 }
125123
126- tableInfo .addPhysicalMappings (filedInfoArr [0 ],filedInfoArr [0 ]);
124+ tableInfo .addPhysicalMappings (fieldInfoArr [0 ], fieldInfoArr [0 ]);
127125 tableInfo .addField (fieldName );
128126 tableInfo .addFieldClass (fieldClass );
129127 tableInfo .addFieldType (fieldType );
@@ -133,7 +131,7 @@ public void parseFieldsInfo(String fieldsInfo, AbstractTableInfo tableInfo){
133131 tableInfo .finish ();
134132 }
135133
136- public void dealPrimaryKey (Matcher matcher , AbstractTableInfo tableInfo ){
134+ public void dealPrimaryKey (Matcher matcher , AbstractTableInfo tableInfo ) {
137135 String primaryFields = matcher .group (1 ).trim ();
138136 String [] splitArry = primaryFields .split ("," );
139137 List <String > primaryKes = Lists .newArrayList (splitArry );
@@ -172,4 +170,5 @@ protected void addParserHandler(String parserName, Pattern pattern, ITableFieldD
172170 patternMap .put (parserName , pattern );
173171 handlerMap .put (parserName , handler );
174172 }
173+
175174}
0 commit comments