Skip to content

Commit 153a937

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into dev
2 parents a90e3ba + 765855a commit 153a937

File tree

4 files changed

+48
-24
lines changed

4 files changed

+48
-24
lines changed

config/logback.xml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<configuration scan="true" scanPeriod="60 seconds" debug="false">
22

33
<property name="LOG_HOME" value="./logs"/>
4+
<property name ="SQL_LEVEL" value="DEBUG"/>
45

56
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
67
<encoder>
@@ -22,13 +23,27 @@
2223
</encoder>
2324
</appender>
2425

26+
<appender name="sql" class="ch.qos.logback.core.rolling.RollingFileAppender">
27+
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
28+
<FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}-sql.log</FileNamePattern>
29+
<MaxHistory>30</MaxHistory>
30+
</rollingPolicy>
31+
<encoder>
32+
<charset>UTF-8</charset>
33+
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} : %msg%n</pattern>
34+
</encoder>
35+
</appender>
36+
2537
<root level="INFO">
2638
<appender-ref ref="console"/>
2739
<appender-ref ref="root" />
2840
</root>
2941

30-
<logger name="access" additivity="false" level="INFO">
31-
<appender-ref ref="error_db_appender"/>
42+
<logger name="datart.data.provider.jdbc.adapters" level="${SQL_LEVEL}">
43+
<appender-ref ref="sql"/>
44+
</logger>
45+
<logger name="datart.data.provider.local.LocalDB" level="${SQL_LEVEL}">
46+
<appender-ref ref="sql"/>
3247
</logger>
3348

3449
</configuration>

data-providers/src/main/java/datart/data/provider/local/LocalDB.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,12 @@
4343
import java.util.concurrent.ConcurrentHashMap;
4444

4545
@Slf4j
46-
public class
47-
LocalDB {
46+
public class LocalDB {
4847

4948
private static final String MEM_URL = "jdbc:h2:mem:/";
5049

5150
private static final String H2_PARAM = ";LOG=0;DATABASE_TO_UPPER=false;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;CACHE_SIZE=65536;LOCK_MODE=0;UNDO_LOG=0";
5251

53-
private static String fileUrl;
54-
55-
private static final String TABLE_CREATE_SQL_TEMPLATE = "CREATE TABLE `%s` ( %s )";
5652

5753
public static final SqlDialect SQL_DIALECT = new H2Dialect();
5854

@@ -283,6 +279,8 @@ private static Dataframe execute(Connection connection, QueryScript queryScript,
283279

284280
String sql = render.render(true, false, false);
285281

282+
log.debug(sql);
283+
286284
ResultSet resultSet = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY).executeQuery(sql);
287285
PageInfo pageInfo = executeParam.getPageInfo();
288286
resultSet.last();
@@ -312,7 +310,7 @@ private static String getDatabaseUrl(String database) {
312310
} else {
313311
database = toDatabase(database);
314312
}
315-
return fileUrl = String.format("jdbc:h2:file:%s/%s" + H2_PARAM, getDbFileBasePath(), database);
313+
return String.format("jdbc:h2:file:%s/%s" + H2_PARAM, getDbFileBasePath(), database);
316314
}
317315

318316
private static String getDbFileBasePath() {

frontend/craco.config.js

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
const path = require('path');
22
const fs = require('fs');
3-
const CracoLessPlugin = require('craco-less');
43
const WebpackBar = require('webpackbar');
54
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');
65
// const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
@@ -32,18 +31,6 @@ module.exports = {
3231
babel: {
3332
plugins: ['babel-plugin-styled-components'],
3433
},
35-
plugins: [
36-
{
37-
plugin: CracoLessPlugin,
38-
options: {
39-
lessLoaderOptions: {
40-
lessOptions: {
41-
javascriptEnabled: true,
42-
},
43-
},
44-
},
45-
},
46-
],
4734
webpack: {
4835
alias: {},
4936
plugins: [

server/src/main/java/datart/server/service/impl/DataProviderServiceImpl.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package datart.server.service.impl;
2020

2121
import com.alibaba.fastjson.JSON;
22+
import com.alibaba.fastjson.JSONArray;
2223
import com.alibaba.fastjson.JSONObject;
2324
import com.fasterxml.jackson.databind.DeserializationFeature;
2425
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -412,9 +413,32 @@ private Map<String, Column> parseSchema(String model) {
412413
}
413414

414415
JSONObject jsonObject = JSON.parseObject(model);
415-
for (String key : jsonObject.keySet()) {
416-
ValueType type = ValueType.valueOf(jsonObject.getJSONObject(key).getString("type"));
417-
schema.put(key, new Column(key, type));
416+
try {
417+
if (jsonObject.containsKey("hierarchy")) {
418+
jsonObject = jsonObject.getJSONObject("hierarchy");
419+
for (String key : jsonObject.keySet()) {
420+
JSONObject item = jsonObject.getJSONObject(key);
421+
if (item.containsKey("children")) {
422+
JSONArray children = item.getJSONArray("children");
423+
if (children != null && children.size() > 0) {
424+
for (int i = 0; i < children.size(); i++) {
425+
JSONObject child = children.getJSONObject(i);
426+
schema.put(child.getString("name"), new Column(child.getString("name"), ValueType.valueOf(child.getString("type"))));
427+
}
428+
}
429+
} else {
430+
schema.put(key, new Column(item.getString("name"), ValueType.valueOf(item.getString("type"))));
431+
}
432+
}
433+
} else {
434+
// 兼容1.0.0-beta.1以前的版本
435+
for (String key : jsonObject.keySet()) {
436+
ValueType type = ValueType.valueOf(jsonObject.getJSONObject(key).getString("type"));
437+
schema.put(key, new Column(key, type));
438+
}
439+
}
440+
} catch (Exception e) {
441+
log.error("view model parse error", e);
418442
}
419443
return schema;
420444
}

0 commit comments

Comments
 (0)