1919
2020package org .dinky .controller ;
2121
22+ import org .dinky .assertion .Asserts ;
2223import org .dinky .config .Dialect ;
2324import org .dinky .data .annotations .CheckTaskApproval ;
2425import org .dinky .data .annotations .CheckTaskOwner ;
5152import org .dinky .trans .ExecuteJarParseStrategyUtil ;
5253import org .dinky .utils .SqlUtil ;
5354
54- import java .util .Arrays ;
5555import java .util .List ;
56- import java .util .stream .Collectors ;
5756
5857import org .springframework .validation .annotation .Validated ;
5958import org .springframework .web .bind .annotation .GetMapping ;
@@ -320,19 +319,20 @@ public Result<FlinkJarSqlConvertVO> flinkJarSqlConvertForm(@RequestBody TaskDTO
320319 }
321320 Integer lastExecuteJarSqlStatementIndex = null ;
322321 for (int i = 0 ; i < statements .length ; i ++) {
323- if (ExecuteJarParseStrategyUtil .match (statements [i ])) {
322+ if (ExecuteJarParseStrategyUtil .find (statements [i ])) {
324323 lastExecuteJarSqlStatementIndex = i ;
325324 }
326325 }
327326 if (lastExecuteJarSqlStatementIndex == null ) {
327+ flinkJarSqlConvertVO .setInitSqlStatement (sqlStatement );
328328 return Result .succeed (flinkJarSqlConvertVO );
329329 }
330330 String lastSqlStatement = statements [lastExecuteJarSqlStatementIndex ];
331331 JarSubmitParam info = JarSubmitParam .getInfo (lastSqlStatement );
332332 flinkJarSqlConvertVO .setJarSubmitParam (info );
333- String sql = Arrays . stream ( ArrayUtil . remove ( statements , lastExecuteJarSqlStatementIndex ))
334- . map ( x -> x + ";" )
335- . collect ( Collectors . joining ( " \n " ) );
333+ // English: Only clear the 'Execute Jar' part of the original sqlStatement, while retaining all other
334+ // statements.
335+ String sql = ExecuteJarParseStrategyUtil . removeExecuteJarStatement ( sqlStatement );
336336 flinkJarSqlConvertVO .setInitSqlStatement (sql );
337337 return Result .succeed (flinkJarSqlConvertVO );
338338 }
@@ -341,6 +341,11 @@ public Result<FlinkJarSqlConvertVO> flinkJarSqlConvertForm(@RequestBody TaskDTO
341341 @ ApiOperation ("FlinkJar FormConvertSql" )
342342 public Result <String > flinkJarFormConvertSql (@ RequestBody FlinkJarSqlConvertVO dto ) {
343343 JarSubmitParam jarSubmitParam = dto .getJarSubmitParam ();
344+ String initSqlStatement = dto .getInitSqlStatement ();
345+ // remove Other Execute Jar
346+ if (Asserts .isNotNullString (initSqlStatement )) {
347+ initSqlStatement = ExecuteJarParseStrategyUtil .removeExecuteJarStatement (initSqlStatement );
348+ }
344349 Dict objectMap = Dict .create ()
345350 .set ("uri" , Opt .ofNullable (jarSubmitParam .getUri ()).orElse ("" ))
346351 .set (
@@ -355,6 +360,6 @@ public Result<String> flinkJarFormConvertSql(@RequestBody FlinkJarSqlConvertVO d
355360 .orElse (false )
356361 .toString ());
357362 String executeJarSql = ENGINE .getTemplate ("executeJar.sql" ).render (objectMap );
358- return Result .succeed (Opt .ofNullable (dto . getInitSqlStatement () ).orElse ("" ) + "\n " + executeJarSql , "" );
363+ return Result .succeed (Opt .ofNullable (initSqlStatement ).orElse ("" ) + "\n " + executeJarSql , "" );
359364 }
360365}
0 commit comments