diff --git a/root/metadata/dataList.html b/root/metadata/dataList.html
index bf4d8c9..f677003 100644
--- a/root/metadata/dataList.html
+++ b/root/metadata/dataList.html
@@ -281,10 +281,11 @@
if (!col) {
return "";
}
+ console.log(col)
- var items = this.cfg.items[col.split("$")[0]];
+ var items = this.cfg.items[col.split(".")[0]];
if (items) {
- return items[col.split("$")[1]]['label']
+ return items[col.split(".")[1]]['label']
/*for (var i = 0; i < items.items.length; i++) {
if (tableInfo.items[i].name == col.split("$")[1]) {
return tableInfo.items[i].label;
diff --git a/src/main/java/net/tccn/base/Kv.java b/src/main/java/net/tccn/base/Kv.java
index ff970eb..6b0d98b 100644
--- a/src/main/java/net/tccn/base/Kv.java
+++ b/src/main/java/net/tccn/base/Kv.java
@@ -61,88 +61,13 @@ public class Kv extends LinkedHashMap {
private static Function upFirst = (s) -> {
return s.substring(0, 1).toUpperCase() + s.substring(1);
};
- /*private static Map clazzMap = new HashMap<>();
- static {
- clazzMap.put(ArrayList.class, new Class[]{List.class, ArrayList.class, String.class});
- clazzMap.put(HashMap.class, new Class[]{Map.class, HashMap.class, String.class});
- clazzMap.put(Long.class, new Class[]{Long.class, Integer.class, long.class, int.class, short.class, String.class});
- clazzMap.put(String.class, new Class[]{String.class, Integer.class, Date.class});
- clazzMap.put(Double.class, new Class[]{Double.class, Long.class, Integer.class, long.class, int.class, short.class, String.class});
- }*/
+
private static Predicate isNumber = (t) -> {
return t == Integer.class || t == int.class
|| t == Long.class || t == long.class
|| t == Double.class || t == double.class
;
};
- /*public static T toBean2(Map m, Class type) {
- try {
- Object obj = type.newInstance();
- for (String k : (Set)m.keySet()) {
- Object v = m.get(k);
- if (v == null) {
- continue;
- }
-
- //得到目标方法
- String methodName = "set" + upFirst.apply(k + "");
- Method method = null;
- Class tClazz = null;
- try {
- method = type.getDeclaredMethod(methodName, tClazz = v.getClass());
- if (method == null) {
- Class[] clazzs = clazzMap.get(v == null ? null : v.getClass());
- if (clazzs == null) {
- //doc.set(k, v);
- } else {
-
- for (Class clazz : clazzs) {
- try {
-
- type.getMethods();
-
- method = type.getDeclaredMethod(methodName, tClazz = clazz);
- } catch (NoSuchMethodException e) {
- }
- }
-
- if (method != null) {
- try {
- Object _v = toAs(v, tClazz);
- //如发现 映射异常,打开下面的注释查看 进行映射的值,并对上面的值转换过程升级
- //System.out.printf("%s:%s %s%n", k,v, v.getClass());
- method.invoke(obj, _v);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- break;
- }
- }
-
- }
-
- } catch (NoSuchMethodException e) {
- e.printStackTrace();
- }
-
-
- if (method != null) {
-
- }
- //已知:key,value, 一个实例类型对象
- //找到目标方法
- //转换数据类型
-
- }
-
- return (T) obj;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }*/
public static T toAs(Object v, Class clazz) {
if (v == null) {
@@ -269,15 +194,6 @@ public class Kv extends LinkedHashMap {
break;
}
}
- /*if (field == null) {
- fields = clazz.getDeclaredFields();
- continue;
- }
- while (true){
-
-
- break;
- }*/
if (field != null) {
field.setAccessible(true);
@@ -292,19 +208,6 @@ public class Kv extends LinkedHashMap {
return (T) obj;
}
- public static void main(String[] args) {
- Map map = new HashMap<>();
-
- map.put("name", "xxxx");
- map.put("age", 12);
- map.put("abx", 123);
-
- User user = toBean(map, User.class);
-
- System.out.println(user);
-
- }
-
}
\ No newline at end of file
diff --git a/src/main/java/net/tccn/base/MetaKit.java b/src/main/java/net/tccn/base/MetaKit.java
index 51aea9d..fc08df4 100644
--- a/src/main/java/net/tccn/base/MetaKit.java
+++ b/src/main/java/net/tccn/base/MetaKit.java
@@ -477,12 +477,20 @@ public class MetaKit {
return plat.get().getKey();
}
- public String nextAlias(String x) {
- return next(x, "");
+ public static String lastAlias;
+ public static String nextAlias() {
+ if (lastAlias == null) {
+ lastAlias = MetaTable.dao.findFirst(
+ "for d in MetaTable\n" +
+ "sort length(d.alias) desc, d.alias desc\n" +
+ "limit 1\n" +
+ "return d.alias", String.class);
+ }
+ return lastAlias = next(lastAlias, "");
}
//使用['a',...,'z'] 创建Table 别名
- private String next(String x, String end) {
+ private static String next(String x, String end) {
if (x == null || "".equals(x)) {
return "a" + end;
}
diff --git a/src/main/java/net/tccn/meta/_DbService.java b/src/main/java/net/tccn/meta/_DbService.java
index ff83fdb..9b9c515 100644
--- a/src/main/java/net/tccn/meta/_DbService.java
+++ b/src/main/java/net/tccn/meta/_DbService.java
@@ -37,7 +37,7 @@ public class _DbService extends BaseService {
}
@RestMapping(name = "table_list", comment = "数据库表列表")
- public List tableList(DbAccount dbAccount, String dbPlatId, String[] catalogs) {
+ public List tableList(String dbPlatId, String[] catalogs) {
DbKit dbKit = MetaKit.getDbKit(dbPlatId);
@@ -56,8 +56,7 @@ public class _DbService extends BaseService {
}
@RestMapping(name = "table_info", comment = "数据库表详情")
- public JBean tableInfo(DbAccount dbAccount,
- String dbPlatId, String catalog, String tableName) {
+ public JBean tableInfo(String dbPlatId, String catalog, String tableName) {
JBean jBean = new JBean();
DbKit dbKit = MetaKit.getDbKit(dbPlatId);
diff --git a/src/main/java/net/tccn/meta/_TableService.java b/src/main/java/net/tccn/meta/_TableService.java
index e7fda9a..8a2e15c 100644
--- a/src/main/java/net/tccn/meta/_TableService.java
+++ b/src/main/java/net/tccn/meta/_TableService.java
@@ -2,6 +2,7 @@ package net.tccn.meta;
import net.tccn.base.JBean;
import net.tccn.base.Kv;
+import net.tccn.base.MetaKit;
import net.tccn.dbq.jdbc.api.DbAccount;
import net.tccn.dbq.table.Table;
import net.tccn.service.BaseService;
@@ -38,7 +39,7 @@ public class _TableService extends BaseService {
String filePath,
//mysql {数据库连接账号、数据源id、数据库database数组}
- DbAccount dbAccount, String dbPlatId, String[] catalogs,
+ String dbPlatId, String[] catalogs,
@RestParam(name = "platToken") String token) {
JBean jBean = new JBean();
@@ -47,7 +48,7 @@ public class _TableService extends BaseService {
jBean.setBody(fileService.data(filePath, token));
} else if ("mysql".equals(cate)){
- List list = dbService.tableList(dbAccount, dbPlatId, catalogs);
+ List list = dbService.tableList(dbPlatId, catalogs);
String[] tableArr = list.stream().map(Table::getName).toArray(String[]::new);
CompletableFuture> hvFuture = tableExist(tableArr, token);
@@ -100,7 +101,8 @@ public class _TableService extends BaseService {
MetaTable metaTable = MetaTable.toAs(t);
metaTable.setCatalog(catalog);
metaTable.setDbPlatId(dbPlatId);
- metaTable.setAlias("");//todo: 表别名
+ metaTable.setAlias(MetaKit.nextAlias());//todo: 表别名
+ metaTable.setSysPlatId(platId(token));
//保存数据到元数据表
metaTable.save();
diff --git a/src/test/java/RunTest.java b/src/test/java/RunTest.java
index 9ad8fdf..1c0cbe7 100644
--- a/src/test/java/RunTest.java
+++ b/src/test/java/RunTest.java
@@ -11,6 +11,7 @@ import net.tccn.user.User;
import org.junit.Test;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -150,4 +151,22 @@ public class RunTest {
user.save();
}
+ @Test
+ public void t() {
+ System.out.println(MetaKit.nextAlias());
+ }
+
+ @Test
+ public void kvTest() {
+ Map map = new HashMap<>();
+
+ map.put("name", "xxxx");
+ map.put("age", 12);
+ map.put("abx", 123);
+
+ UserBean user = Kv.toBean(map, UserBean.class);
+
+ System.out.println(user);
+ }
+
}
diff --git a/src/test/java/User.java b/src/test/java/User.java
deleted file mode 100644
index 79090ce..0000000
--- a/src/test/java/User.java
+++ /dev/null
@@ -1,60 +0,0 @@
-import net.tccn.base.Kv;
-
-/**
- * @author: liangxianyou at 2019/1/20 12:52.
- */
-public class User {
- private int id;
- private String IP;
- private String platContact;
- private String idType;
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getIP() {
- return IP;
- }
-
- public void setIP(String IP) {
- this.IP = IP;
- }
-
- public String getPlatContact() {
- return platContact;
- }
-
- public void setPlatContact(String platContact) {
- this.platContact = platContact;
- }
-
- public String getIdType() {
- return idType;
- }
-
- public void setIdType(String idType) {
- this.idType = idType;
- }
-
- public String say(Kv kv) {
- String s = String.format("我叫:%s, 今年:%s岁", kv.get("name"), kv.get("age"));
- System.out.println(s);
-
- return s;
- }
-
- @Override
- public String toString() {
- return "User{" +
- "id=" + id +
- ", IP='" + IP + '\'' +
- ", platContact='" + platContact + '\'' +
- ", idType='" + idType + '\'' +
- '}';
- }
-}
diff --git a/src/main/java/net/tccn/base/User.java b/src/test/java/UserBean.java
similarity index 88%
rename from src/main/java/net/tccn/base/User.java
rename to src/test/java/UserBean.java
index 3bd8964..b19eb17 100644
--- a/src/main/java/net/tccn/base/User.java
+++ b/src/test/java/UserBean.java
@@ -1,13 +1,13 @@
-package net.tccn.base;
+import net.tccn.base.To;
/**
* Created by liangxianyou at 2019/3/26 19:36.
*/
-public class User {
+public class UserBean {
private String name;
private int age;
- @To("")
+ @To("abx")
private float attr;
public void setName(String name) {