merge:merge from origin

This commit is contained in:
water 2020-03-10 20:51:56 +08:00
parent 371ea6246b
commit aeb916dbf8

View File

@ -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());
}
}
}