summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author李玺康 <[email protected]>2019-12-19 17:38:20 +0800
committer李玺康 <[email protected]>2019-12-19 17:38:20 +0800
commitb1cbb95ed16b9600d8d54d3db5b614193ccf207f (patch)
treea37a2cd75fb08e77bb81fbea248520262c82a1c1
parent3245ac75078378967a3a9bb28c5e39dd5fc8ef7f (diff)
动态获取schema代码更新
-rw-r--r--src/main/java/cn/ac/iie/utils/general/TransFormUtils.java35
1 files changed, 20 insertions, 15 deletions
diff --git a/src/main/java/cn/ac/iie/utils/general/TransFormUtils.java b/src/main/java/cn/ac/iie/utils/general/TransFormUtils.java
index e5f9ea6..b28bdcc 100644
--- a/src/main/java/cn/ac/iie/utils/general/TransFormUtils.java
+++ b/src/main/java/cn/ac/iie/utils/general/TransFormUtils.java
@@ -41,7 +41,9 @@ public class TransFormUtils {
private static Object mapObject = JsonParseUtil.generateObject(map);
//获取任务列表
private static ArrayList<String[]> jobList = JsonParseUtil.getJobListFromHttp(FlowWriteConfig.SCHEMA_HTTP);
-
+ //需要用到的值
+ public static Object use;
+ public static Object appendTo;
/**
* 解析日志,并补全
@@ -66,33 +68,36 @@ public class TransFormUtils {
// System.out.println("补全之前 ===》 "+JSON.toJSONString(object));
try {
for (String[] strings : jobList) {
-
+ //参数的值
+ use = JsonParseUtil.getValue(object,strings[0]);
+ //补全的字段的值
+ appendTo = JsonParseUtil.getValue(object,strings[1]);
if (strings[2].equals("current_timestamp")) {
JsonParseUtil.setValue(object, strings[1], getCurrentTime());
} else if (strings[2].equals("snowflake_id")) {
JsonParseUtil.setValue(object, strings[1], getSnowflakeId());
} else if (strings[2].equals("geo_ip_detail")) {
- JsonParseUtil.setValue(object, strings[1], getGeoIpDetail(JsonParseUtil.getValue(object, strings[0]).toString()));
+ JsonParseUtil.setValue(object, strings[1], getGeoIpDetail(use.toString()));
} else if (strings[2].equals("geo_asn")) {
- JsonParseUtil.setValue(object, strings[1], getGeoIpDetail(JsonParseUtil.getValue(object, strings[0]).toString()));
+ JsonParseUtil.setValue(object, strings[1], getGeoIpDetail(use.toString()));
} else if (strings[2].equals("radius_match")) {
- JsonParseUtil.setValue(object,strings[1],HBaseUtils.getAccount(JsonParseUtil.getValue(object,strings[0]).toString()));
-// JsonParseUtil.setValue(object, strings[1], "aaaaaaaaa");
+ JsonParseUtil.setValue(object,strings[1],HBaseUtils.getAccount(use.toString()));
} else if (strings[2].equals("geo_ip_country")) {
- JsonParseUtil.setValue(object, strings[1], getGeoIpCountry(JsonParseUtil.getValue(object, strings[0]).toString()));
- } else if (strings[0].equals("http_host") && strings[2].equals("sub_domain")) {
- if (JsonParseUtil.getValue(object, strings[1]) == null || StringUtil.isBlank(JsonParseUtil.getValue(object, strings[1]).toString())) {
-// JsonParseUtil.setValue(object, strings[1], "baidu.com");
- JsonParseUtil.setValue(object, strings[1], getTopDomain(null, JsonParseUtil.getValue(object, strings[0]).toString()));
+ JsonParseUtil.setValue(object, strings[1], getGeoIpCountry(use.toString()));
+ } else if (strings[0].equals("http_host") && strings[2].equals("sub_domain") && use != null) {
+ if (appendTo == null || StringUtil.isBlank(appendTo.toString())) {
+ JsonParseUtil.setValue(object, strings[1], getTopDomain(null, use.toString()));
}
- } else if (strings[0].equals("ssl_sni") && strings[2].equals("sub_domain")) {
- if (JsonParseUtil.getValue(object, strings[1]) == null || StringUtil.isBlank(JsonParseUtil.getValue(object, strings[1]).toString())) {
- JsonParseUtil.setValue(object,strings[1],getTopDomain(JsonParseUtil.getValue(object,strings[0]).toString(),null));
+ } else if (strings[0].equals("ssl_sni") && strings[2].equals("sub_domain") && use != null) {
+ if (appendTo == null || StringUtil.isBlank(appendTo.toString())) {
+ JsonParseUtil.setValue(object,strings[1],getTopDomain(use.toString(),null));
}
}
}
-
+ //初始化一下
+ use = null;
+ appendTo = null;
return JSONObject.toJSONString(object);
// System.out.println("补全之后 ===》 "+JSON.toJSONString(object));