private static boolean validTriggerType(final String value) { boolean result = true; if (StringUtils.hasText(value)) { try { AlertTriggerType.valueOf(value); } catch (final IllegalArgumentException ecnpe) { result = false; } } return result; }
private static void setInternalAttributes(final Alert alert, final String entityId, final CatalogAlert catalogAlert) { alert.setType(Type.INTERNAL); alert.setProviderId(entityId); alert.setComponentId(CompoundKeyBuilder.buildCompoundKey(entityId, catalogAlert.getComponent())); alert.setSensorId(catalogAlert.getSensor()); alert.setTrigger(AlertTriggerType.valueOf(catalogAlert.getTrigger())); alert.setExpression(catalogAlert.getExpression()); }
private static Alert buildAlertToUpdate(final CatalogAlert catalogAlert, final ApiAlertConverterContext context, final String catalogUser) { final Alert alert = context.getAlertService().find(new Alert(catalogAlert.getId())); final String entityId = StringUtils.hasText(catalogAlert.getEntity()) ? catalogAlert.getEntity() : context.getMessage().getEntityId(); // To confirm that an alert exists not only alert must be not null but also type and owner must // be equals if (alert != null && verifyType(alert.getType(), catalogAlert.getType()) && verifyOwner(alert, entityId)) { if (SentiloUtils.stringIsNotEmptyOrNull(catalogAlert.getName())) { alert.setName(catalogAlert.getName()); } if (SentiloUtils.stringIsNotEmptyOrNull(catalogAlert.getDescription())) { alert.setDescription(catalogAlert.getDescription()); } if (Type.INTERNAL.equals(alert.getType())) { if (SentiloUtils.stringIsNotEmptyOrNull(catalogAlert.getTrigger())) { alert.setTrigger(AlertTriggerType.valueOf(catalogAlert.getTrigger())); } if (SentiloUtils.stringIsNotEmptyOrNull(catalogAlert.getExpression())) { alert.setExpression(catalogAlert.getExpression()); } } alert.setUpdatedAt(new Date()); alert.setUpdatedBy(catalogUser); } else { final String errorMessage = String.format(ALERT_NOT_FOUND, catalogAlert.getId(), catalogAlert.getType()); context.getResults().addErrorMessage(errorMessage); } return alert; }