mirror of
https://github.com/WeiYe-Jing/datax-web.git
synced 2026-06-30 21:17:37 +08:00
merge:merge from origin
This commit is contained in:
parent
371ea6246b
commit
aeb916dbf8
@ -9,6 +9,10 @@ import com.wugui.datax.admin.tool.datax.DataxJsonHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* com.wugui.datax json构建实现类
|
||||
*
|
||||
@ -20,18 +24,32 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class DataxJsonServiceImpl implements DataxJsonService {
|
||||
|
||||
private static final String[] sqlDataSource = new String[]{"mysql", "oracle", "postgresql", "sqlserver", "hive"};
|
||||
|
||||
@Autowired
|
||||
private IJobJdbcDatasourceService jdbcDatasourceService;
|
||||
private IJobJdbcDatasourceService jobJdbcDatasourceService;
|
||||
|
||||
@Override
|
||||
public String buildJobJson(DataxJsonDto dto) {
|
||||
public String buildJobJson(DataxJsonDto dataxJsonDto) {
|
||||
DataxJsonHelper dataxJsonHelper = new DataxJsonHelper();
|
||||
// reader
|
||||
JobJdbcDatasource readerDatasource = jdbcDatasourceService.getById(dto.getReaderDatasourceId());
|
||||
JobJdbcDatasource readerDatasource = jobJdbcDatasourceService.getById(dataxJsonDto.getReaderDatasourceId());
|
||||
if (Arrays.stream(sqlDataSource).anyMatch(db -> db.equals(readerDatasource.getDatasource()))) {
|
||||
List<String> readerColumns = dataxJsonDto.getReaderColumns().stream()
|
||||
.map(column -> "`" + column + "`")
|
||||
.collect(Collectors.toList());
|
||||
dataxJsonDto.setReaderColumns(readerColumns);
|
||||
}
|
||||
// reader plugin init
|
||||
dataxJsonHelper.initReader(dto, readerDatasource);
|
||||
JobJdbcDatasource writerDatasource = jdbcDatasourceService.getById(dto.getWriterDatasourceId());
|
||||
dataxJsonHelper.initWriter(dto, writerDatasource);
|
||||
dataxJsonHelper.initReader(dataxJsonDto,readerDatasource);
|
||||
JobJdbcDatasource writerDatasource = jobJdbcDatasourceService.getById(dataxJsonDto.getWriterDatasourceId());
|
||||
if (Arrays.stream(sqlDataSource).anyMatch(db -> db.equals(writerDatasource.getDatasource()))) {
|
||||
List<String> writerColumns = dataxJsonDto.getWriterColumns().stream()
|
||||
.map(column -> "`" + column + "`")
|
||||
.collect(Collectors.toList());
|
||||
dataxJsonDto.setWriterColumns(writerColumns);
|
||||
}
|
||||
dataxJsonHelper.initWriter(dataxJsonDto,writerDatasource);
|
||||
return JSON.toJSONString(dataxJsonHelper.buildJob());
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user