From ff12a33d87bc654e991ac3734b589c3f1095e4c2 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 23 May 2022 17:22:27 +0800 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=E6=A0=BC=E5=BC=8F=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/datasource/JdbcProvider.java | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index dc7204f859..d012b23055 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -31,13 +31,15 @@ public class JdbcProvider extends DefaultJdbcProvider { @Resource private DeDriverMapper deDriverMapper; + @Override - public boolean isUseDatasourcePool(){ + public boolean isUseDatasourcePool() { return true; } + @Override - public String getType(){ - return "built-in"; + public String getType() { + return "built-in"; } /** * 增加缓存机制 key 由 'provider_sql_' dsr.datasource.id dsr.table dsr.query共4部分组成,命中则使用缓存直接返回不再执行sql逻辑 @@ -69,14 +71,14 @@ public class JdbcProvider extends DefaultJdbcProvider { @Override public List getTableFileds(DatasourceRequest datasourceRequest) throws Exception { - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase("mongo")){ + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("mongo")) { datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); return fetchResultField(datasourceRequest); } List list = new LinkedList<>(); try (Connection connection = getConnectionFromPool(datasourceRequest)) { if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("oracle")) { - Method setRemarksReporting = extendedJdbcClassLoader.loadClass("oracle.jdbc.driver.OracleConnection").getMethod("setRemarksReporting",boolean.class); + Method setRemarksReporting = extendedJdbcClassLoader.loadClass("oracle.jdbc.driver.OracleConnection").getMethod("setRemarksReporting", boolean.class); setRemarksReporting.invoke(((DruidPooledConnection) connection).getConnection(), true); } DatabaseMetaData databaseMetaData = connection.getMetaData(); @@ -105,10 +107,10 @@ public class JdbcProvider extends DefaultJdbcProvider { } catch (SQLException e) { DataEaseException.throwException(e); } catch (Exception e) { - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris")){ + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris")) { datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); return fetchResultField(datasourceRequest); - }else { + } else { DataEaseException.throwException(Translator.get("i18n_datasource_connect_error") + e.getMessage()); } @@ -210,9 +212,9 @@ public class JdbcProvider extends DefaultJdbcProvider { private List getDataResult(ResultSet rs, DatasourceRequest datasourceRequest) throws Exception { String charset = null; - if(datasourceRequest != null && datasourceRequest.getDatasource().getType().equalsIgnoreCase("oracle")){ + if (datasourceRequest != null && datasourceRequest.getDatasource().getType().equalsIgnoreCase("oracle")) { JdbcConfiguration JdbcConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), JdbcConfiguration.class); - if(StringUtils.isNotEmpty(JdbcConfiguration.getCharset()) && !JdbcConfiguration.getCharset().equalsIgnoreCase("Default") ){ + if (StringUtils.isNotEmpty(JdbcConfiguration.getCharset()) && !JdbcConfiguration.getCharset().equalsIgnoreCase("Default")) { charset = JdbcConfiguration.getCharset(); } } @@ -233,9 +235,9 @@ public class JdbcProvider extends DefaultJdbcProvider { row[j] = rs.getBoolean(j + 1) ? "1" : "0"; break; default: - if(charset != null && StringUtils.isNotEmpty(rs.getString(j + 1))){ + if (charset != null && StringUtils.isNotEmpty(rs.getString(j + 1))) { row[j] = new String(rs.getString(j + 1).getBytes(charset), "UTF-8"); - }else { + } else { row[j] = rs.getString(j + 1); } break; @@ -278,6 +280,7 @@ public class JdbcProvider extends DefaultJdbcProvider { } return fieldList; } + @Override public List getData(DatasourceRequest dsr) throws Exception { List list = new LinkedList<>(); @@ -376,26 +379,26 @@ public class JdbcProvider extends DefaultJdbcProvider { customDriver = hiveConfiguration.getCustomDriver(); jdbcurl = hiveConfiguration.getJdbc(); - if(StringUtils.isNotEmpty(hiveConfiguration.getAuthMethod()) && hiveConfiguration.getAuthMethod().equalsIgnoreCase("kerberos")){ + if (StringUtils.isNotEmpty(hiveConfiguration.getAuthMethod()) && hiveConfiguration.getAuthMethod().equalsIgnoreCase("kerberos")) { System.setProperty("java.security.krb5.conf", "/opt/dataease/conf/krb5.conf"); ExtendedJdbcClassLoader classLoader; - if(isDefaultClassLoader(customDriver)){ + if (isDefaultClassLoader(customDriver)) { classLoader = extendedJdbcClassLoader; - }else { + } else { deDriver = deDriverMapper.selectByPrimaryKey(customDriver); classLoader = getCustomJdbcClassLoader(deDriver); } - Class ConfigurationClass = classLoader.loadClass("org.apache.hadoop.conf.Configuration"); - Method set = ConfigurationClass.getMethod("set",String.class, String.class) ; + Class ConfigurationClass = classLoader.loadClass("org.apache.hadoop.conf.Configuration"); + Method set = ConfigurationClass.getMethod("set", String.class, String.class); Object obj = ConfigurationClass.newInstance(); set.invoke(obj, "hadoop.security.authentication", "Kerberos"); - Class UserGroupInformationClass = classLoader.loadClass("org.apache.hadoop.security.UserGroupInformation"); - Method setConfiguration = UserGroupInformationClass.getMethod("setConfiguration",ConfigurationClass) ; - Method loginUserFromKeytab = UserGroupInformationClass.getMethod("loginUserFromKeytab",String.class, String.class) ; + Class UserGroupInformationClass = classLoader.loadClass("org.apache.hadoop.security.UserGroupInformation"); + Method setConfiguration = UserGroupInformationClass.getMethod("setConfiguration", ConfigurationClass); + Method loginUserFromKeytab = UserGroupInformationClass.getMethod("loginUserFromKeytab", String.class, String.class); setConfiguration.invoke(null, obj); loginUserFromKeytab.invoke(null, hiveConfiguration.getUsername(), "/opt/dataease/conf/" + hiveConfiguration.getPassword()); - }else { + } else { username = hiveConfiguration.getUsername(); password = hiveConfiguration.getPassword(); } @@ -428,12 +431,12 @@ public class JdbcProvider extends DefaultJdbcProvider { } Connection conn; - String driverClassName ; + String driverClassName; ExtendedJdbcClassLoader jdbcClassLoader; - if(isDefaultClassLoader(customDriver)){ + if (isDefaultClassLoader(customDriver)) { driverClassName = defaultDriver; jdbcClassLoader = extendedJdbcClassLoader; - }else { + } else { driverClassName = deDriver.getDriverClass(); jdbcClassLoader = getCustomJdbcClassLoader(deDriver); } @@ -442,11 +445,11 @@ public class JdbcProvider extends DefaultJdbcProvider { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); try { Thread.currentThread().setContextClassLoader(jdbcClassLoader); - conn= driverClass.connect(jdbcurl, props); - }catch (Exception e){ + conn = driverClass.connect(jdbcurl, props); + } catch (Exception e) { e.printStackTrace(); throw e; - }finally { + } finally { Thread.currentThread().setContextClassLoader(classLoader); } return conn; @@ -454,7 +457,7 @@ public class JdbcProvider extends DefaultJdbcProvider { @Override - public JdbcConfiguration setCredential(DatasourceRequest datasourceRequest, DruidDataSource dataSource) throws Exception{ + public JdbcConfiguration setCredential(DatasourceRequest datasourceRequest, DruidDataSource dataSource) throws Exception { DatasourceTypes datasourceType = DatasourceTypes.valueOf(datasourceRequest.getDatasource().getType()); JdbcConfiguration jdbcConfiguration = new JdbcConfiguration(); switch (datasourceType) { @@ -537,9 +540,9 @@ public class JdbcProvider extends DefaultJdbcProvider { dataSource.setUsername(jdbcConfiguration.getUsername()); ExtendedJdbcClassLoader classLoader; - if(isDefaultClassLoader(jdbcConfiguration.getCustomDriver())){ + if (isDefaultClassLoader(jdbcConfiguration.getCustomDriver())) { classLoader = extendedJdbcClassLoader; - }else { + } else { DeDriver deDriver = deDriverMapper.selectByPrimaryKey(jdbcConfiguration.getCustomDriver()); classLoader = getCustomJdbcClassLoader(deDriver); } @@ -667,7 +670,7 @@ public class JdbcProvider extends DefaultJdbcProvider { case sqlServer: return "select name from sys.schemas;"; case db2: - return "select SCHEMANAME from syscat.SCHEMATA WHERE \"DEFINER\" ='USER'".replace("USER", db2Configuration.getUsername().toUpperCase()) ; + return "select SCHEMANAME from syscat.SCHEMATA WHERE \"DEFINER\" ='USER'".replace("USER", db2Configuration.getUsername().toUpperCase()); case pg: return "SELECT nspname FROM pg_namespace;"; case redshift: From df759a6ae887943648847b05c2ccdc87ae3d693c Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 23 May 2022 18:27:57 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/util.js | 41 +++++++ .../components/shape-attr/ColorSelector.vue | 107 +++++++++++++++--- frontend/src/views/chart/view/ChartEdit.vue | 1 + 3 files changed, 136 insertions(+), 13 deletions(-) diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index d853803129..a0ce5881e3 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -228,6 +228,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector-ant-v': [ @@ -265,6 +266,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector-ant-v': [ @@ -307,6 +309,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -378,6 +382,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -450,6 +456,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -520,6 +528,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -588,6 +598,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'label-selector-ant-v': [ @@ -647,6 +658,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -718,6 +731,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -788,6 +803,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -838,6 +855,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -888,6 +907,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -937,6 +958,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'label-selector-ant-v': [ @@ -1015,6 +1037,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'size-selector-ant-v': [ @@ -1081,6 +1105,8 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'colorPanel', + 'customColor', 'alpha' ], 'label-selector-ant-v': [ @@ -1269,6 +1295,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1317,6 +1344,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1390,6 +1418,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1464,6 +1493,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1552,6 +1582,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1625,6 +1656,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1698,6 +1730,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1772,6 +1805,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1846,6 +1880,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1903,6 +1938,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -1962,6 +1998,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -2024,6 +2061,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -2074,6 +2112,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -2144,6 +2183,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ @@ -2199,6 +2239,7 @@ export const TYPE_CONFIGS = [ propertyInner: { 'color-selector': [ 'value', + 'custom', 'alpha' ], 'size-selector': [ diff --git a/frontend/src/views/chart/components/shape-attr/ColorSelector.vue b/frontend/src/views/chart/components/shape-attr/ColorSelector.vue index 08293c58b9..4380729316 100644 --- a/frontend/src/views/chart/components/shape-attr/ColorSelector.vue +++ b/frontend/src/views/chart/components/shape-attr/ColorSelector.vue @@ -3,14 +3,14 @@
- +
-
+
{{ $t('chart.system_case') }} @@ -22,23 +22,58 @@ {{ $t('commons.reset') }}
-
- {{ $t('chart.custom_case') }} - - - - - - - + +
+
+ {{ $t('chart.custom_case') }} + + + + + + + +
+
+ + + + +
-
+ +
- + + +
+ +
+
+ {{ item.name }} + +
+
+
@@ -81,6 +116,8 @@