From b0b16e280f1f53d8a01dd5115e2c43cde10e3118 Mon Sep 17 00:00:00 2001 From: HuangXin Date: Wed, 30 Sep 2020 12:30:20 +0800 Subject: [PATCH] =?UTF-8?q?OCT=20REM:=201.=20=E4=BA=BF=E9=98=B3=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E9=98=B2=E6=8A=A4=E8=83=BD=E5=8A=9B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ability/impl/YiYangAbilityImpl.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/main/java/com/dispose/ability/impl/YiYangAbilityImpl.java b/src/main/java/com/dispose/ability/impl/YiYangAbilityImpl.java index 2665f558..874382ab 100644 --- a/src/main/java/com/dispose/ability/impl/YiYangAbilityImpl.java +++ b/src/main/java/com/dispose/ability/impl/YiYangAbilityImpl.java @@ -2,11 +2,14 @@ package com.dispose.ability.impl; import com.dispose.ability.DisposeAbility; import com.dispose.common.DisposeCapacityType; +import com.dispose.common.DisposeObjectType; import com.dispose.common.ErrorCode; +import com.dispose.common.IpAddrType; import com.dispose.common.NetflowDirection; import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO; import com.dispose.pojo.po.MulReturnType; import com.dispose.pojo.vo.DeviceFirewareInfo; +import com.dispose.yiyang.dispose.common.YiYangDisposeAbilityRsp; import com.dispose.yiyang.dispose.common.YiYangLoginRsp; import com.dispose.yiyang.dispose.protocol.YiYangInterface; import lombok.Getter; @@ -14,6 +17,8 @@ import lombok.Setter; import lombok.extern.slf4j.Slf4j; import javax.annotation.Nullable; +import java.util.ArrayList; +import java.util.List; /** * The type Yi yang ability. @@ -23,6 +28,15 @@ import javax.annotation.Nullable; @Slf4j public class YiYangAbilityImpl implements DisposeAbility { + /** + * The Protect ip v 4. + */ + private final List protectIpV4 = new ArrayList<>(); + /** + * The Protect ip v 6. + */ + private final List protectIpV6 = new ArrayList<>(); + /** * The Restful interface. */ @@ -171,7 +185,40 @@ public class YiYangAbilityImpl implements DisposeAbility { */ @Override public void getDisposeDeviceProtectObject() { + try { + String url = urlRootPath + "dispose_device/information/capacity"; + ProtocolRespDTO rspInfo = restfulInterface.getDeviceDisposeAbility(url, token); + if (rspInfo != null && rspInfo.getCode() == ErrorCode.ERR_OK.getHttpCode()) { + + rspInfo.getMsgContent().getCapacity().forEach(v -> { + if (v.getObjectType().equals(DisposeObjectType.DOMAIN.getValue())) { + log.error("Unsupported: {}", v.getObjectType()); + } else if (v.getObjectType().equals(DisposeObjectType.URL.getValue())) { + log.error("Unsupported: {}", v.getObjectType()); + } else { + synchronized (this) { + + protectIpV4.clear(); + protectIpV6.clear(); + + if (v.getIPType() == null || v.getIPType().equals(IpAddrType.IPV4_IPV6.getValue())) { + if (v.getDisposeIp() == null) { + protectIpV4.add(""); + protectIpV6.add(""); + } + } else if (v.getIPType().equals(IpAddrType.IPV4.getValue())) { + protectIpV4.add(""); + } else if (v.getIPType().equals(IpAddrType.IPV6.getValue())) { + protectIpV6.add(""); + } + } + } + }); + + } + } catch (Exception ignored) { + } } /**