@Override public AlertPublishEvent getAlertPublishEvent(String alertId) { Optional<AlertPublishEvent> op = alerts.stream().filter(alert -> alert.getAlertId().equals(alertId)).findAny(); if (op.isPresent()) { return op.get(); } else { return null; } }
@Override public AlertPublishEvent getAlertPublishEvent(String alertId) { List<AlertPublishEvent> results = list(alerts, AlertPublishEvent.class); Optional<AlertPublishEvent> op = results.stream().filter(alert -> alert.getAlertId().equals(alertId)).findAny(); if (op.isPresent()) { return op.get(); } return null; }
public static <T> String getKey(T t) { if (t instanceof StreamDefinition) { return ((StreamDefinition) t).getStreamId(); } if (t instanceof PolicyAssignment) { return ((PolicyAssignment) t).getPolicyName(); } if (t instanceof ScheduleState) { return ((ScheduleState) t).getVersion(); } if (t instanceof AlertPublishEvent) { return ((AlertPublishEvent) t).getAlertId(); } try { Method m = t.getClass().getMethod("getName"); return (String) m.invoke(t); } catch (NoSuchMethodException | SecurityException | InvocationTargetException | IllegalAccessException | IllegalArgumentException e) { LOG.error(" getName not found on given class :" + t.getClass().getName()); } throw new RuntimeException(String.format("no getName() found on target class %s for matching", t.getClass() .getName())); }
public OpResult addAlertEvent(AlertPublishEvent event) { Connection connection = null; PreparedStatement statement = null; OpResult result = new OpResult(); try { connection = dataSource.getConnection(); statement = connection.prepareStatement(INSERT_ALERT_STATEMENT); statement.setString(1, event.getAlertId()); statement.setString(2, event.getSiteId()); statement.setString(3, mapper.writeValueAsString(event.getAppIds())); statement.setString(4, event.getPolicyId()); statement.setLong(5, event.getAlertTimestamp()); statement.setString(6, event.getPolicyValue()); statement.setString(7, mapper.writeValueAsString(event.getAlertData())); LOG.info("start to add alert event"); int status = statement.executeUpdate(); result.code = OpResult.SUCCESS; result.message = String.format("add %d records into alert_event successfully", status); } catch (Exception ex) { result.code = OpResult.FAILURE; result.message = ex.getMessage(); } finally { closeResource(null, statement, connection); } LOG.info(result.message); return result; }
AlertPublishEvent alertPublishEvent = AlertPublishEvent.createAlertPublishEvent(alertStreamEvent); Assert.assertEquals(null, alertPublishEvent.getSiteId()); Assert.assertTrue(alertPublishEvent.getAlertId() != null); Assert.assertEquals("setPolicyId", alertPublishEvent.getPolicyId()); Assert.assertEquals(null, alertPublishEvent.getPolicyValue()); Assert.assertTrue(alertPublishEvent.getAlertId() != null); Assert.assertEquals("setPolicyId", alertPublishEvent.getPolicyId()); Assert.assertEquals("POLICY_VALUE_KEY", alertPublishEvent.getPolicyValue());