public Long countRules(List<String> plugins, String categoryName) { return (Long) getSession().createQuery( "SELECT COUNT(r) FROM Rule r WHERE r.pluginName IN (:pluginNames) AND r.rulesCategory=:rulesCategory"). setParameter("pluginNames", plugins). setParameter("rulesCategory", getCategory(categoryName)). getSingleResult(); }
public void addActiveRulesToProfile(List<ActiveRule> activeRules, int profileId, String pluginKey) { RulesProfile rulesProfile = getProfileById(profileId); for (ActiveRule activeRule : activeRules) { synchronizeRuleOfActiveRule(activeRule, pluginKey); activeRule.setRulesProfile(rulesProfile); getSession().save(activeRule); } }
public void synchronizeRuleOfActiveRule(ActiveRule activeRule, String pluginKey) { Rule rule = activeRule.getRule(); Rule ruleFromDataBase = getRuleByKey(pluginKey, rule.getKey()); activeRule.setRule(ruleFromDataBase); List<RuleParam> ruleParamsFromDataBase = getRuleParams(); for (ActiveRuleParam activeRuleParam : activeRule.getActiveRuleParams()) { boolean found = false; Iterator<RuleParam> iterator = ruleParamsFromDataBase.iterator(); while (iterator.hasNext() && !found) { RuleParam ruleParamFromDataBase = iterator.next(); if (isRuleParamEqual(activeRuleParam.getRuleParam(), ruleParamFromDataBase, rule.getKey(), pluginKey)) { activeRuleParam.setRuleParam(ruleParamFromDataBase); found = true; } } } }
public List<RulesCategory> getCategories() { if (rulesCategories == null) { rulesCategories = getSession().getResults(RulesCategory.class); } return rulesCategories; }
public List<Rule> getRulesByCategory(RulesCategory categ) { List<Rule> result = new ArrayList<Rule>(); for (Rule rule : getRules()) { if (rule.getRulesCategory().equals(categ)) { result.add(rule); } } return result; }
public void deleteActiveRuleParameters(RuleParam ruleParam) { getSession().createQuery( "DELETE FROM ActiveRuleParam arp WHERE ruleParam=:param") .setParameter("param", ruleParam) .executeUpdate(); }
public List<Rule> getRules() { return getSession().getResults(Rule.class); }
public List<Rule> getRulesByPlugin(String pluginKey) { return getSession().getResults(Rule.class, "pluginName", pluginKey); }
public Rule getRuleByKey(String pluginKey, String ruleKey) { return getSession().getSingleResult(Rule.class, "key", ruleKey, "pluginName", pluginKey); }
public RulesCategory getCategory(String key) { return getSession().getSingleResult(RulesCategory.class, "name", key); }
public List<RuleParam> getRuleParams() { return getSession().getResults(RuleParam.class); }
public RuleParam getRuleParam(Rule rule, String paramKey) { return getSession().getSingleResult(RuleParam.class, "rule", rule, "key", paramKey); }
public List<RuleFailure> getRuleFailures(Snapshot snapshot) { return getSession().getResults(RuleFailure.class, "snapshotId", snapshot.getId()); }
public RulesProfile getProfileById(int profileId) { return getSession().getEntityManager().getReference(RulesProfile.class, profileId); }