public static SpamRuleDto fromEntity(SpamRule entity) { if (entity == null) return null; return new SpamRuleDto(entity.getId(), entity.getRegex(), entity.getDescription(), entity.isEnabled()); }
@Override public boolean isEmailInBlackList(String email) { if (email == null) return false; List<SpamRule> enabledRules = getDao().getEnabledRules(); for (SpamRule enabledRule : enabledRules) { if (matches(enabledRule.getRegex(), email)) return true; } return false; }
@ResponseBody @RequestMapping(value = "/{ruleId}", method = RequestMethod.PUT) public JsonResponse edit(@Valid @RequestBody SpamRuleDto ruleDto, BindingResult result, @PathVariable("ruleId") long ruleId) { checkForAdminPermissions(); trimAndValidate(ruleDto, result); if (result.hasFieldErrors() || result.hasGlobalErrors()) { return new JsonResponse(JsonResponseStatus.FAIL, result.getAllErrors()); } SpamRule spamRule = ruleDto.toEntity(); spamRule.setId(ruleId); return saveOrUpdateSpamRule(result, spamRule); }
public SpamRule toEntity() { return new SpamRule(this.getRegex(), this.getDescription(), this.isEnabled()); }
@Override public void saveOrUpdate(SpamRule rule) throws NotFoundException { try { Pattern.compile(rule.getRegex()); } catch (PatternSyntaxException ex){ throw new ValidationException(Sets.newHashSet(new ValidationError("regex", ex.getDescription() + " near index " + ex.getIndex()))); } getDao().saveOrUpdate(rule); }