From ecb415a0d662629d551f411a6cbf788b126cd56a Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 30 Oct 2024 12:38:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5=E6=B1=A0?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/provider/CalciteProvider.java | 100 ++++++++++++------ 1 file changed, 70 insertions(+), 30 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java index 8520d16557..34aee0fadd 100644 --- a/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java +++ b/core/core-backend/src/main/java/io/dataease/datasource/provider/CalciteProvider.java @@ -777,131 +777,171 @@ public class CalciteProvider extends Provider { case StarRocks: case doris: configuration = JsonUtil.parseObject(ds.getConfiguration(), Mysql.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case impala: configuration = JsonUtil.parseObject(ds.getConfiguration(), Impala.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case sqlServer: configuration = JsonUtil.parseObject(ds.getConfiguration(), Sqlserver.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case oracle: configuration = JsonUtil.parseObject(ds.getConfiguration(), Oracle.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case db2: configuration = JsonUtil.parseObject(ds.getConfiguration(), Db2.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case ck: configuration = JsonUtil.parseObject(ds.getConfiguration(), CK.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; case pg: configuration = JsonUtil.parseObject(ds.getConfiguration(), Pg.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case redshift: configuration = JsonUtil.parseObject(ds.getConfiguration(), Redshift.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getSchema()); rootSchema.add(ds.getSchemaAlias(), schema); break; case h2: configuration = JsonUtil.parseObject(ds.getConfiguration(), H2.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); break; default: configuration = JsonUtil.parseObject(ds.getConfiguration(), Mysql.class); - dataSource.setUrl(configuration.getJdbc()); - dataSource.setUsername(configuration.getUsername()); - dataSource.setPassword(configuration.getPassword()); + if (StringUtils.isNotBlank(configuration.getUsername())) { + dataSource.setUsername(configuration.getUsername()); + } + if (StringUtils.isNotBlank(configuration.getPassword())) { + dataSource.setPassword(configuration.getPassword()); + } dataSource.setInitialSize(configuration.getInitialPoolSize()); dataSource.setMaxTotal(configuration.getMaxPoolSize()); dataSource.setMinIdle(configuration.getMinPoolSize()); dataSource.setDefaultQueryTimeout(Integer.valueOf(configuration.getQueryTimeout())); startSshSession(configuration, null, ds.getId()); + dataSource.setUrl(configuration.getJdbc()); schema = JdbcSchema.create(rootSchema, ds.getSchemaAlias(), dataSource, null, configuration.getDataBase()); rootSchema.add(ds.getSchemaAlias(), schema); }