package smartbix.test.alarm;
import static org.junit.Assert.assertTrue;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import smartbi.sdk.ClientConnector;
import smartbix.sdk.alarm.bean.IAlarmDTO;
import smartbix.sdk.alarm.bean.IAlarmLogDTO;
import smartbix.sdk.alarm.bean.IAlarmLogError;
public class AlarmSDKDemo {
public static void main(String[] args) {
// 创建连接
String url = "http://localhost:8080/smartbi";
ClientConnector client = new ClientConnector(url);
client.open("admin", "admin");
// 创建预警服务
AlarmService alarmService = new AlarmService(client);
// 获取所有预警
List<IAlarmDTO> alarms = alarmService.getAllAlarms();
IAlarmDTO alarm = alarms.stream()
.filter(a -> "ed1d4df5872d14d8869f952e5493e913".equals(a.getAlarmId())).findFirst().get();
System.out.println(alarm.getAlarmId());
// 分页获取预警
alarms = alarmService.getAlarms(100, 1000);
System.out.println((alarms.size() >= 18));
alarm = alarms.stream()
.filter(a -> "ed1d4df5872d14d8869f952e5493e913".equals(a.getAlarmId())).findFirst().get();
// 通过资源id获取预警
alarms = alarmService.getAlarmsByResourceId("b511005847cd8a6fa6bc22b3dad6181c");
System.out.println((alarms.size() >= 12));
Set<String> srcResourceIds = alarms.stream().map(IAlarmDTO::getSrcResourceId).collect(Collectors.toSet());
assertTrue(srcResourceIds.size() == 1);
alarm = alarms.stream()
.filter(a -> "ed1d4df5872d14d8869f952e5493e913".equals(a.getAlarmId())).findFirst().get();
// 通过预警id获取日志
List<IAlarmLogDTO> logs = alarmService.getAlarmLogs("I8a74290101940bea0bea0bd901940c1b79c70016");
System.out.println(logs.size() >= 141);
Set<String> alarmIds = logs.stream().map(IAlarmLogDTO::getAlarmId).collect(Collectors.toSet());
System.out.println(alarmIds.size() == 1);
IAlarmLogDTO log = logs.stream()
.filter(l -> "I8a74eb5001942c802c807e9e0194306c3c4e2ae0".equals(l.getLogId())).findFirst().get();
System.out.println(log.getLogId());
// 通过预警id获取日志-分页
logs = alarmService.getAlarmLogs("I8a74290101940bea0bea0bd901940c1b79c70016", 130, 1000);
System.out.println(logs.size() >= 11);
alarmIds = logs.stream().map(IAlarmLogDTO::getAlarmId).collect(Collectors.toSet());
System.out.println(alarmIds.size() == 1);
log = logs.stream()
.filter(l -> "I8a74eb5001942c802c807e9e0194306c3c4e2ae0".equals(l.getLogId())).findFirst().get();
// 通过预警id获取渠道明细
String detail = alarmService.getLogTriggerDetail("I8a74290c01962803280329b301962d4f8a741893");
System.out.println(detail);
// 通过预警id获取错误信息
IAlarmLogError error = alarmService.getLogError("I8a74290c01962803280329b301962d4f8a741893");
// 渠道错误信息
System.out.println(error.getChannelErrorMessages());
// 渠道执行过程中产生的堆栈异常
System.out.println(error.getChannelStacktraces());
// 获取本次预警的错误信息(一般是预警执行抛出了异常)
System.out.println(error.getErrorMessage());
// 获取本次预警的错误信息(一般是预警执行抛出了异常)
System.out.println(error.getStacktrace());
// 执行数据预警
alarmService.execute('ed1d4df5872d14d8869f952e5493e913');
}
} |