summaryrefslogtreecommitdiff
path: root/src/main/java/com/geedge/scheduler/IpScheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/geedge/scheduler/IpScheduler.java')
-rw-r--r--src/main/java/com/geedge/scheduler/IpScheduler.java310
1 files changed, 97 insertions, 213 deletions
diff --git a/src/main/java/com/geedge/scheduler/IpScheduler.java b/src/main/java/com/geedge/scheduler/IpScheduler.java
index bc5c854..2db8b12 100644
--- a/src/main/java/com/geedge/scheduler/IpScheduler.java
+++ b/src/main/java/com/geedge/scheduler/IpScheduler.java
@@ -7,7 +7,6 @@ import cn.hutool.core.net.Ipv4Util;
import cn.hutool.core.net.MaskBit;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.geedge.common.constant.TsgObject;
import com.geedge.common.enums.AddressFormat;
@@ -50,8 +49,8 @@ public class IpScheduler {
excludeList = Arrays.asList(values.split(","));
}
- @Value("${tsg.object.ip.cyberghostvpn_serverip.id}")
- private Integer cyberghostvpnServeripId;
+ @Value("${tsg.object.ip.cyberghostvpn_serverip.uuid}")
+ private String cyberghostvpnServeripUUID;
@Value("${tsg.object.ip.cyberghostvpn_serverip.name}")
private String cyberghostvpnServeripName;
@Value("${tsg.object.ip.cyberghostvpn_serverip.update.enable}")
@@ -66,16 +65,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.cyberghostvpn_serverip.update.cron}")
public void updateCyberghostvpn() {
- executeUpdate(cyberghostvpnServeripId, cyberghostvpnServeripName, cyberghostvpnServeripUpdateEnable, cyberghostvpnServeripSql, cyberghostvpnServeripCounter);
+ executeUpdate(cyberghostvpnServeripUUID, cyberghostvpnServeripName, cyberghostvpnServeripUpdateEnable, cyberghostvpnServeripSql, cyberghostvpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.cyberghostvpn_serverip.delete.cron}")
public void deleteCyberghostvpn() {
- executeDelete(cyberghostvpnServeripId, cyberghostvpnServeripDeleteEnable, cyberghostvpnServeripOffsetSecond);
+ executeDelete(cyberghostvpnServeripUUID, cyberghostvpnServeripDeleteEnable, cyberghostvpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.hotspotvpn_serverip.id}")
- private Integer hotspotvpnServeripId;
+ @Value("${tsg.object.ip.hotspotvpn_serverip.uuid}")
+ private String hotspotvpnServeripUUID;
@Value("${tsg.object.ip.hotspotvpn_serverip.name}")
private String hotspotvpnServeripName;
@Value("${tsg.object.ip.hotspotvpn_serverip.update.enable}")
@@ -90,16 +89,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.hotspotvpn_serverip.update.cron}")
public void updateHotspotvpn() {
- executeUpdate(hotspotvpnServeripId, hotspotvpnServeripName, hotspotvpnServeripUpdateEnable, hotspotvpnServeripSql, hotspotvpnServeripCounter);
+ executeUpdate(hotspotvpnServeripUUID, hotspotvpnServeripName, hotspotvpnServeripUpdateEnable, hotspotvpnServeripSql, hotspotvpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.hotspotvpn_serverip.delete.cron}")
public void deleteHotspotvpn() {
- executeDelete(hotspotvpnServeripId, hotspotvpnServeripDeleteEnable, hotspotvpnServeripOffsetSecond);
+ executeDelete(hotspotvpnServeripUUID, hotspotvpnServeripDeleteEnable, hotspotvpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.ipvanishvpn_serverip.id}")
- private Integer ipvanishvpnServeripId;
+ @Value("${tsg.object.ip.ipvanishvpn_serverip.uuid}")
+ private String ipvanishvpnServeripUUID;
@Value("${tsg.object.ip.ipvanishvpn_serverip.name}")
private String ipvanishvpnServeripName;
@Value("${tsg.object.ip.ipvanishvpn_serverip.update.enable}")
@@ -114,16 +113,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.ipvanishvpn_serverip.update.cron}")
public void updateIpvanishvpn() {
- executeUpdate(ipvanishvpnServeripId, ipvanishvpnServeripName, ipvanishvpnServeripUpdateEnable, ipvanishvpnServeripSql, ipvanishvpnServeripCounter);
+ executeUpdate(ipvanishvpnServeripUUID, ipvanishvpnServeripName, ipvanishvpnServeripUpdateEnable, ipvanishvpnServeripSql, ipvanishvpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.ipvanishvpn_serverip.delete.cron}")
public void deleteIpvanishvpn() {
- executeDelete(ipvanishvpnServeripId, ipvanishvpnServeripDeleteEnable, ipvanishvpnServeripOffsetSecond);
+ executeDelete(ipvanishvpnServeripUUID, ipvanishvpnServeripDeleteEnable, ipvanishvpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.geckovpn_serverip.id}")
- private Integer geckovpnServeripId;
+ @Value("${tsg.object.ip.geckovpn_serverip.uuid}")
+ private String geckovpnServeripUUID;
@Value("${tsg.object.ip.geckovpn_serverip.name}")
private String geckovpnServeripName;
@Value("${tsg.object.ip.geckovpn_serverip.update.enable}")
@@ -138,16 +137,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.geckovpn_serverip.update.cron}")
public void updateGeckovpn() {
- executeUpdate(geckovpnServeripId, geckovpnServeripName, geckovpnServeripUpdateEnable, geckovpnServeripSql, geckovpnServeripCounter);
+ executeUpdate(geckovpnServeripUUID, geckovpnServeripName, geckovpnServeripUpdateEnable, geckovpnServeripSql, geckovpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.geckovpn_serverip.delete.cron}")
public void deleteGeckovpn() {
- executeDelete(geckovpnServeripId, geckovpnServeripDeleteEnable, geckovpnServeripOffsetSecond);
+ executeDelete(geckovpnServeripUUID, geckovpnServeripDeleteEnable, geckovpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.ivacyvpn_serverip.id}")
- private Integer ivacyvpnServeripId;
+ @Value("${tsg.object.ip.ivacyvpn_serverip.uuid}")
+ private String geckivacyvpnServeripUUID;
@Value("${tsg.object.ip.ivacyvpn_serverip.name}")
private String ivacyvpnServeripName;
@Value("${tsg.object.ip.ivacyvpn_serverip.update.enable}")
@@ -162,17 +161,17 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.ivacyvpn_serverip.update.cron}")
public void updateIvacyvpn() {
- executeUpdate(ivacyvpnServeripId, ivacyvpnServeripName, ivacyvpnServeripUpdateEnable, ivacyvpnServeripSql, ivacyvpnServeripCounter);
+ executeUpdate(geckivacyvpnServeripUUID, ivacyvpnServeripName, ivacyvpnServeripUpdateEnable, ivacyvpnServeripSql, ivacyvpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.ivacyvpn_serverip.delete.cron}")
public void deleteIvacyvpn() {
- executeDelete(ivacyvpnServeripId, ivacyvpnServeripDeleteEnable, ivacyvpnServeripOffsetSecond);
+ executeDelete(geckivacyvpnServeripUUID, ivacyvpnServeripDeleteEnable, ivacyvpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.turbovpn_serverip.id}")
- private Integer turbovpnServeripId;
+ @Value("${tsg.object.ip.turbovpn_serverip.uuid}")
+ private String turbovpnServeripUUID;
@Value("${tsg.object.ip.turbovpn_serverip.name}")
private String turbovpnServeripName;
@Value("${tsg.object.ip.turbovpn_serverip.update.enable}")
@@ -187,16 +186,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.turbovpn_serverip.update.cron}")
public void updateTurbovpn() {
- executeUpdate(turbovpnServeripId, turbovpnServeripName, turbovpnServeripUpdateEnable, turbovpnServeripSql, turbovpnServeripCounter);
+ executeUpdate(turbovpnServeripUUID, turbovpnServeripName, turbovpnServeripUpdateEnable, turbovpnServeripSql, turbovpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.turbovpn_serverip.delete.cron}")
public void deleteTurbovpn() {
- executeDelete(turbovpnServeripId, turbovpnServeripDeleteEnable, turbovpnServeripOffsetSecond);
+ executeDelete(turbovpnServeripUUID, turbovpnServeripDeleteEnable, turbovpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.vpnunlimited_serverip.id}")
- private Integer vpnunlimitedServeripId;
+ @Value("${tsg.object.ip.vpnunlimited_serverip.uuid}")
+ private String vpnunlimitedServeripUUID;
@Value("${tsg.object.ip.vpnunlimited_serverip.name}")
private String vpnunlimitedServeripName;
@Value("${tsg.object.ip.vpnunlimited_serverip.update.enable}")
@@ -211,16 +210,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.vpnunlimited_serverip.update.cron}")
public void updateVpnunlimited() {
- executeUpdate(vpnunlimitedServeripId, vpnunlimitedServeripName, vpnunlimitedServeripUpdateEnable, vpnunlimitedServeripSql, vpnunlimitedServeripCounter);
+ executeUpdate(vpnunlimitedServeripUUID, vpnunlimitedServeripName, vpnunlimitedServeripUpdateEnable, vpnunlimitedServeripSql, vpnunlimitedServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.vpnunlimited_serverip.delete.cron}")
public void deleteVpnunlimited() {
- executeDelete(vpnunlimitedServeripId, vpnunlimitedServeripDeleteEnable, vpnunlimitedServeripOffsetSecond);
+ executeDelete(vpnunlimitedServeripUUID, vpnunlimitedServeripDeleteEnable, vpnunlimitedServeripOffsetSecond);
}
- @Value("${tsg.object.ip.windscribevpn_serverip.id}")
- private Integer windscribevpnServeripId;
+ @Value("${tsg.object.ip.windscribevpn_serverip.uuid}")
+ private String windscribevpnServeripUUID;
@Value("${tsg.object.ip.windscribevpn_serverip.name}")
private String windscribevpnServeripName;
@Value("${tsg.object.ip.windscribevpn_serverip.update.enable}")
@@ -235,16 +234,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.windscribevpn_serverip.update.cron}")
public void updateWindscribevpn() {
- executeUpdate(windscribevpnServeripId, windscribevpnServeripName, windscribevpnServeripUpdateEnable, windscribevpnServeripSql, windscribevpnServeripCounter);
+ executeUpdate(windscribevpnServeripUUID, windscribevpnServeripName, windscribevpnServeripUpdateEnable, windscribevpnServeripSql, windscribevpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.windscribevpn_serverip.delete.cron}")
public void deleteWindscribevpn() {
- executeDelete(windscribevpnServeripId, windscribevpnServeripDeleteEnable, windscribevpnServeripOffsetSecond);
+ executeDelete(windscribevpnServeripUUID, windscribevpnServeripDeleteEnable, windscribevpnServeripOffsetSecond);
}
- @Value("${tsg.object.ip.vpn4fame_serverip.id}")
- private Integer vpn4fameServeripId;
+ @Value("${tsg.object.ip.vpn4fame_serverip.uuid}")
+ private String vpn4fameServeripUUID;
@Value("${tsg.object.ip.vpn4fame_serverip.name}")
private String vpn4fameServeripName;
@Value("${tsg.object.ip.vpn4fame_serverip.update.enable}")
@@ -259,16 +258,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.vpn4fame_serverip.update.cron}")
public void updateVpn4fame() {
- executeUpdate(vpn4fameServeripId, vpn4fameServeripName, vpn4fameServeripUpdateEnable, vpn4fameServeripSql, vpn4fameServeripCounter);
+ executeUpdate(vpn4fameServeripUUID, vpn4fameServeripName, vpn4fameServeripUpdateEnable, vpn4fameServeripSql, vpn4fameServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.vpn4fame_serverip.delete.cron}")
public void deleteVpn4fame() {
- executeDelete(vpn4fameServeripId, vpn4fameServeripDeleteEnable, vpn4fameServeripOffsetSecond);
+ executeDelete(vpn4fameServeripUUID, vpn4fameServeripDeleteEnable, vpn4fameServeripOffsetSecond);
}
- @Value("${tsg.object.ip.protonvpn_ip.id}")
- private Integer protonvpnIpId;
+ @Value("${tsg.object.ip.protonvpn_ip.uuid}")
+ private String protonvpnIpUUID;
@Value("${tsg.object.ip.protonvpn_ip.name}")
private String protonvpnIpName;
@Value("${tsg.object.ip.protonvpn_ip.update.enable}")
@@ -283,16 +282,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.protonvpn_ip.update.cron}")
public void updateProtonvpn() {
- executeUpdate(protonvpnIpId, protonvpnIpName, protonvpnIpUpdateEnable, protonvpnIpSql, protonvpnIpCounter);
+ executeUpdate(protonvpnIpUUID, protonvpnIpName, protonvpnIpUpdateEnable, protonvpnIpSql, protonvpnIpCounter);
}
@Scheduled(cron = "${tsg.object.ip.protonvpn_ip.delete.cron}")
public void deleteProtonvpn() {
- executeDelete(protonvpnIpId, protonvpnIpDeleteEnable, protonvpnIpOffsetSecond);
+ executeDelete(protonvpnIpUUID, protonvpnIpDeleteEnable, protonvpnIpOffsetSecond);
}
- @Value("${tsg.object.ip.expressvpn_ip.id}")
- private Integer expressvpnIpId;
+ @Value("${tsg.object.ip.expressvpn_ip.uuid}")
+ private String expressvpnIpUUID;
@Value("${tsg.object.ip.expressvpn_ip.name}")
private String expressvpnIpName;
@Value("${tsg.object.ip.expressvpn_ip.update.enable}")
@@ -307,16 +306,16 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.expressvpn_ip.update.cron}")
public void updateExpressvpn() {
- executeUpdate(expressvpnIpId, expressvpnIpName, expressvpnIpUpdateEnable, expressvpnIpSql, expressvpnIpCounter);
+ executeUpdate(expressvpnIpUUID, expressvpnIpName, expressvpnIpUpdateEnable, expressvpnIpSql, expressvpnIpCounter);
}
@Scheduled(cron = "${tsg.object.ip.expressvpn_ip.delete.cron}")
public void deleteExpressvpn() {
- executeDelete(expressvpnIpId, expressvpnIpDeleteEnable, expressvpnIpOffsetSecond);
+ executeDelete(expressvpnIpUUID, expressvpnIpDeleteEnable, expressvpnIpOffsetSecond);
}
- @Value("${tsg.object.ip.psiphon3vpn_serverip.id}")
- private Integer psiphon3vpnServeripId;
+ @Value("${tsg.object.ip.psiphon3vpn_serverip.uuid}")
+ private String psiphon3vpnServeripUUID;
@Value("${tsg.object.ip.psiphon3vpn_serverip.name}")
private String psiphon3vpnServeripName;
@Value("${tsg.object.ip.psiphon3vpn_serverip.update.enable}")
@@ -331,46 +330,28 @@ public class IpScheduler {
@Scheduled(cron = "${tsg.object.ip.psiphon3vpn_serverip.update.cron}")
public void updatePsiphon3vpn() {
- executeUpdate(psiphon3vpnServeripId, psiphon3vpnServeripName, psiphon3vpnServeripUpdateEnable, psiphon3vpnServeripSql, psiphon3vpnServeripCounter);
+ executeUpdate(psiphon3vpnServeripUUID, psiphon3vpnServeripName, psiphon3vpnServeripUpdateEnable, psiphon3vpnServeripSql, psiphon3vpnServeripCounter);
}
@Scheduled(cron = "${tsg.object.ip.psiphon3vpn_serverip.delete.cron}")
public void deletePsiphon3vpn() {
- executeDelete(psiphon3vpnServeripId, psiphon3vpnServeripDeleteEnable, psiphon3vpnServeripOffsetSecond);
+ executeDelete(psiphon3vpnServeripUUID, psiphon3vpnServeripDeleteEnable, psiphon3vpnServeripOffsetSecond);
}
- private static void executeUpdate(Integer id, String name, Boolean enable, String sql, Counter counter) {
- if (TsgUtil.isLatestVersion) {
- executeUpdateLatest(id, name, enable, sql, counter);
- } else {
- executeUpdateOld(id, name, enable, sql, counter);
- }
- }
-
- private static void executeDelete(Integer id, Boolean enable, Integer offsetSecond) {
- if (TsgUtil.isLatestVersion) {
- executeDeleteLatest(id, enable, offsetSecond);
- } else {
- executeDeleteOld(id, enable, offsetSecond);
- }
- }
-
-
- private static void executeUpdateLatest(Integer id, String name, Boolean enable, String sql, Counter counter) {
- log.info("{}: started update task.", id);
+ private static void executeUpdate(String uuid, String name, Boolean enable, String sql, Counter counter) {
+ log.info("{}: started update task.", uuid);
if (BooleanUtil.isFalse(enable)) {
- log.warn("{}: interrupted update task. enable: {}", id, enable);
+ log.warn("{}: interrupted update task. enable: {}", uuid, enable);
return;
}
try {
Stopwatch watch = Stopwatch.createStarted();
List<Record> data = Db.find(sql);
- log.info("{}: query knowledge base content, cost {} seconds", id, watch.elapsed(TimeUnit.SECONDS));
+ log.info("{}: query knowledge base content, cost {} seconds", uuid, watch.elapsed(TimeUnit.SECONDS));
watch.reset().start();
List<Map<String, Object>> items = Lists.newArrayList();
row:
for (Record record : data) {
- Map<String, Object> item = Maps.newHashMap();
String addressFormat = record.get("addrFormat");
String ip1 = record.get("ip1");
for (String excludeItem : excludeList) {
@@ -381,165 +362,91 @@ public class IpScheduler {
continue row;
}
}
+ InetAddress inetAddressIp1 = InetAddress.getByName(ip1);
+ if (!(inetAddressIp1 instanceof Inet4Address) && !(inetAddressIp1 instanceof Inet6Address)) {
+ continue;
+ }
+
String ip2 = record.get("ip2");
- Map<String, Object> ip = Maps.newHashMap();
- if (AddressFormat.CIDR.getValue().equalsIgnoreCase(addressFormat)) {
+ if (AddressFormat.RANGE.getValue().equalsIgnoreCase(addressFormat)) {
+ InetAddress inetAddressIp2 = InetAddress.getByName(ip2);
+ if (!(inetAddressIp2 instanceof Inet4Address) && !(inetAddressIp2 instanceof Inet6Address)) {
+ continue;
+ }
+ }
+
+ Map<String, Object> item = Maps.newHashMap();
+ if (AddressFormat.SINGLE.getValue().equalsIgnoreCase(addressFormat)) {
+ item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP, ip1);
+ } else if (AddressFormat.CIDR.getValue().equalsIgnoreCase(addressFormat)) {
int maskBit = Integer.parseInt(ip2);
String mask = MaskBit.get(Integer.parseInt(ip2));
String beginIpStr = Ipv4Util.getBeginIpStr(ip1, maskBit);
String ipMask = Ipv4Util.formatIpBlock(beginIpStr, mask);
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_IP_CIDR, ipMask);
+ item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP, ipMask);
} else if (AddressFormat.RANGE.getValue().equalsIgnoreCase(addressFormat)) {
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_IP_RANGE, ip1 + "-" + ip2);
- } else {
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_IP_ADDRESS, ip1);
- }
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_PORT_RANGE, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_IP_PORT_RANGE);
- InetAddress inetAddress = InetAddress.getByName(ip1);
- if (inetAddress instanceof Inet4Address) {
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_ADDR_TYPE, 4);
- } else if (inetAddress instanceof Inet6Address) {
- ip.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP_ADDR_TYPE, 6);
+ item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP, ip1 + "-" + ip2);
} else {
continue;
}
item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_OP, TsgObject.VALUE_OBJECT_MEMBER_ITEMS_OP_ADD);
- item.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS_IP, ip);
+ item.put("interval", "0-65535");
items.add(item);
}
- Map<String, Object> member = Maps.newHashMap();
- member.put(TsgObject.KEY_OBJECT_MEMBER_TYPE, TsgObject.VALUE_OBJECT_MEMBER_TYPE_1);
- member.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS, items);
-
- Map<String, Object> obj = Maps.newHashMap();
- obj.put(TsgObject.KEY_OBJECT_NAME, name);
- obj.put(TsgObject.KEY_OBJECT_TYPE, TsgObject.VALUE_OBJECT_TYPE_IP);
- obj.put(TsgObject.KEY_OBJECT_MEMBER, member);
+ Map<String, Object> object = Maps.newHashMap();
+ object.put(TsgObject.KEY_OBJECT_MEMBER_ITEMS, items);
+ object.put(TsgObject.KEY_OBJECT_NAME, name);
+ object.put("type", "ip");
+ object.put("sub_type", "ip");
+ object.put("statistics_option", "none");
+ object.put("member_type", "item");
Map<String, Object> body = Maps.newHashMap();
- body.put(TsgObject.KEY_VSYS_ID, TsgObject.VALUE_VSYS_ID_1);
- body.put(TsgObject.KEY_OBJECT, obj);
- log.info("{}: build api params, items size: {}, cost {} seconds", id, items.size(), watch.elapsed(TimeUnit.SECONDS));
+ body.put(TsgObject.KEY_VSYS, TsgObject.VALUE_VSYS_1);
+ body.put("op", "update");
+ body.put(TsgObject.KEY_OBJECT, object);
+ log.info("{}: build api params, items size: {}, cost {} seconds", uuid, items.size(), watch.elapsed(TimeUnit.SECONDS));
if (items.isEmpty()) {
return;
}
- TsgUtil.updateObjectById(id, body);
+ TsgUtil.updateObjectByUUID(TsgObject.VALUE_OBJECT_TYPE_IP, uuid, body);
counter.inc(items.size());
} catch (Exception e) {
- log.error("{}: failed to execute update task. message: {}", id, e.getMessage());
+ log.error("{}: failed to execute update task. message: {}", uuid, e.getMessage());
throw new RuntimeException(e);
}
}
- private static void executeUpdateOld(Integer id, String name, Boolean enable, String sql, Counter counter) {
- log.info("{}: started update task.", id);
- if (BooleanUtil.isFalse(enable)) {
- log.warn("{}: interrupted update task. enable: {}", id, enable);
- return;
- }
- try {
- Stopwatch watch = Stopwatch.createStarted();
- List<Record> data = Db.find(sql);
- log.info("{}: query knowledge base content, cost {} seconds", id, watch.elapsed(TimeUnit.SECONDS));
- watch.reset().start();
- List<Map<String, Object>> items = Lists.newArrayList();
- row:
- for (Record record : data) {
- String addressFormat = record.get("addrFormat");
- String ip1 = record.get("ip1");
- if (StrUtil.isBlank(ip1)) {
- continue;
- }
- for (String excludeItem : excludeList) {
- if (excludeItem.equals(ip1)) {
- continue row;
- }
- if (excludeItem.endsWith("*") && ip1.startsWith(excludeItem.replace("*", ""))) {
- continue row;
- }
- }
- String ip2 = record.get("ip2");
- Map<String, Object> ip = Maps.newHashMap();
- if (AddressFormat.CIDR.getValue().equalsIgnoreCase(addressFormat)) {
- int maskBit = Integer.parseInt(ip2);
- String mask = MaskBit.get(Integer.parseInt(ip2));
- String beginIpStr = Ipv4Util.getBeginIpStr(ip1, maskBit);
- String ipMask = Ipv4Util.formatIpBlock(beginIpStr, mask);
- ip.put(TsgObject.TSG_ITEM_IP_V2310, ipMask);
- } else if (AddressFormat.RANGE.getValue().equalsIgnoreCase(addressFormat)) {
- ip.put(TsgObject.TSG_ITEM_IP_V2310, ip1 + "-" + ip2);
- } else if (AddressFormat.SINGLE.getValue().equalsIgnoreCase(addressFormat)) {
- ip.put(TsgObject.TSG_ITEM_IP_V2310, ip1);
- } else {
- log.warn("address format parse error: {}", record);
- continue;
- }
- ip.put(TsgObject.TSG_ITEM_PORT_V2310, TsgObject.TSG_VALUE_OBJECT_MEMBER_ITEMS_IP_PORT_RANGE_V2310);
- ip.put(TsgObject.TSG_ITEM_ISSESSION_V2310, TsgObject.TSG_ITEM_ENDPOINT_V2310);
- items.add(ip);
- }
- JSONArray array = new JSONArray();
-
- JSONObject jsonObject = new JSONObject();
- jsonObject.set(TsgObject.TSG_OBJECT_ID_V2310, id);
- jsonObject.set(TsgObject.TSG_OBJECT_TYPE_V2310, TsgObject.TSG_IP_ADDR_OBJECT_V2310);
- jsonObject.set(TsgObject.TSG_OBJECT_NAME_V2310, name);
- jsonObject.set(TsgObject.TSG_IS_BUILTIN_V2310, 0);
- jsonObject.set(TsgObject.TSG_IS_EXCLUSION_V2310, 0);
- jsonObject.set(TsgObject.TSG_IS_VALID_V2310, 1);
- jsonObject.set("addItemList", items);
- log.info("{}: build api params, items size: {}, cost {} seconds", id, items.size(), watch.elapsed(TimeUnit.SECONDS));
- if (items.isEmpty()) {
- return;
- }
- array.add(jsonObject);
- JSONObject body = new JSONObject();
- body.set(TsgObject.TSG_OP_ACTION_V2310, TsgObject.TSG_UPDATE_V2310);
- body.set(TsgObject.TSG_OBJECT_LIST_V2310, array);
-
- TsgUtil.updateObjectOld(body);
- counter.inc(items.size());
- } catch (Exception e) {
- log.error("{}: failed to execute update task. message: {}", id, e.getMessage());
- throw new RuntimeException(e);
- }
- }
- private static void executeDeleteLatest(Integer id, Boolean enable, Integer offsetSecond) {
- log.info("{}: started delete task.", id);
+ private static void executeDelete(String uuid, Boolean enable, Integer offsetSecond) {
+ log.info("{}: started delete task.", uuid);
if (BooleanUtil.isFalse(enable)) {
- log.warn("{}: interrupted delete task. enable: {}", id, enable);
+ log.warn("{}: interrupted delete task. enable: {}", uuid, enable);
return;
}
try {
DateTime deleteCursor = DateUtil.offsetSecond(new Date(), offsetSecond).setTimeZone(TimeZone.getTimeZone("UTC"));
String deleteCursorStr = DateUtil.format(deleteCursor, DatePattern.UTC_PATTERN);
- JSONObject objectItemList = TsgUtil.getObjectItemList(id, "ip");
+ JSONObject objectItemList = TsgUtil.getObjectItemList(uuid, TsgObject.VALUE_OBJECT_TYPE_IP);
Object data = objectItemList.get("data");
if (StrUtil.isEmptyIfStr(data)) {
log.warn("No item does not need to be deleted");
return;
}
Map<String, Object> dataMap = (Map<String, Object>) data;
- Object itemsObj = dataMap.get("items");
- if (StrUtil.isEmptyIfStr(itemsObj) || StrUtil.isBlankIfStr(itemsObj)) {
- log.warn("No item does not need to be deleted");
- return;
- }
- List<Map<String, Object>> itemList = (List<Map<String, Object>>) itemsObj;
- if (itemList.isEmpty()) {
+ Object list = dataMap.get("list");
+ if (StrUtil.isEmptyIfStr(list) || StrUtil.isBlankIfStr(list)) {
log.warn("No item does not need to be deleted");
return;
}
- Map<String, Object> map = itemList.get(0);
- Object itemObj = map.get("ip");
- if (StrUtil.isEmptyIfStr(itemObj)) {
+ List<Map<String, Object>> listItems = (List<Map<String, Object>>) list;
+ if (listItems.isEmpty()) {
log.warn("No item does not need to be deleted");
return;
}
- Map<String, Object> itemMap = (Map<String, Object>) itemObj;
- Object createdTimeObj = itemMap.get("created_time");
+ Map<String, Object> listItem = listItems.get(0);
+ Object createdTimeObj = listItem.get("created_time");
DateTime latestCreatedDateTime = DateUtil.parse(createdTimeObj.toString());
int compare = DateUtil.compare(deleteCursor, latestCreatedDateTime);
if (compare > 0) {
@@ -547,36 +454,13 @@ public class IpScheduler {
return;
}
Map<String, Object> form = Maps.newHashMap();
- form.put(TsgObject.KEY_OBJECT_TYPE, TsgObject.VALUE_OBJECT_TYPE_IP);
- form.put(TsgObject.KEY_VSYS_ID, TsgObject.VALUE_VSYS_ID_1);
+ form.put(TsgObject.KEY_VSYS, TsgObject.VALUE_VSYS_1);
form.put(TsgObject.KEY_CREATED_BEFORE, deleteCursorStr);
- TsgUtil.deleteItemOfObjectById(id, form);
+ TsgUtil.deleteItemOfObjectByUUID(TsgObject.VALUE_OBJECT_TYPE_IP, uuid, form);
} catch (Exception e) {
- log.error("{}: failed to execute delete task. message: {}", id, e.getMessage());
+ log.error("{}: failed to execute delete task. message: {}", uuid, e.getMessage());
throw new RuntimeException(e);
}
}
- private static void executeDeleteOld(Integer id, Boolean enable, Integer offsetSecond) {
- log.info("{}: started delete task.", id);
- if (BooleanUtil.isFalse(enable)) {
- log.warn("{}: interrupted delete task. enable: {}", id, enable);
- return;
- }
- try {
- DateTime dateTime = DateUtil.offsetSecond(new Date(), offsetSecond).setTimeZone(TimeZone.getTimeZone("UTC"));
- String datetimeZ = DateUtil.format(dateTime, DatePattern.UTC_PATTERN);
- Map<String, Object> body = new HashMap<>(16);
- body.put(TsgObject.TSG_DELETE_ITEMS_BYL_TTIME_V2310, datetimeZ);
- body.put(TsgObject.TSG_ITEM_TYPE_V2310, TsgObject.TSG_ITEM_IP_V2310);
- body.put(TsgObject.TSG_VSYS_ID_V2310, 1);
- List<Object> objectIds = new ArrayList<>();
- objectIds.add(id);
- body.put(TsgObject.TSG_TSG_OBJECT_IDS_V2310, objectIds);
- TsgUtil.deleteItemOfObjectOld(body);
- } catch (Exception e) {
- log.error("{}: failed to execute delete task. message: {}", id, e.getMessage());
- throw new RuntimeException(e);
- }
- }
}